Servidor de juegos en VPS con SteamCMD: puertos y systemd
Con SteamCMD, la versión de línea de comandos de Steam, instalas el servidor dedicado de juegos como Valheim, Palworld y Satisfactory en un VPS Linux. Instalas el paquete steamcmd, descargas el servidor con +login anonymous +app_update y el app ID del servidor, abres los puertos del juego en el firewall y dejas que un servicio systemd lo arranque y lo actualice.
Cuándo tiene sentido tu propio servidor de Steam en un VPS
Un VPS propio tiene sentido si quieres más que un servidor: Valheim y Palworld uno al lado del otro, un bot de Discord además, tus propios scripts, mods que mantienes tú mismo, o simplemente aprender cómo funciona. Tienes acceso root y lo decides todo tú, también cuándo se actualiza.
Si lo que quieres es sobre todo jugar, un servidor de juegos listo para usar da menos trabajo: el panel se encarga de la instalación, las actualizaciones y los ajustes. Cómo funciona con Valheim lo explicamos en Servidor dedicado de Valheim: la guía completa, y para Satisfactory en Configurar un servidor dedicado de Satisfactory.
¿Qué VPS para un servidor de juegos de Steam?
Elige Linux, por ejemplo Ubuntu 22.04 o más reciente: la mayoría de los servidores de Steam tienen versión para Linux, y te queda más memoria libre que con Windows. Para la CPU vale lo mismo que para casi cualquier servidor de juegos: la simulación del mundo depende de un único hilo principal, así que un núcleo rápido cuenta más que muchos núcleos. Por eso aquí encaja bien el VPS Premium con Ryzen 9: AMD Ryzen 9 9950X*, DDR5 y NVMe. Para la memoria usamos estos mínimos, con 1 GB aproximadamente extra para el sistema operativo:
| Juego | Memoria para el servidor | VPS Premium | Al mes |
|---|---|---|---|
| Valheim (hasta 4 jugadores) | desde 4 GB, a partir de 5 jugadores 1–2 GB extra | 4 vCores, 8 GB | 15,30 € |
| Palworld | 12–16 GB | 6 vCores, 16 o 20 GB | 28,00 € / 33,60 € |
| Rust | desde 12 GB | 6 vCores, 16 GB | 28,00 € |
Un servidor pequeño de Valheim para un grupo fijo también puede ir en el VPS KVM con EPYC: allí 4 vCores y 8 GB cuestan 9,50 € al mes. El EPYC 7443P llega hasta 4,0 GHz, así que rinde menos por núcleo que el Ryzen; lo notas sobre todo cuando crecen el mundo y el número de jugadores. Si tienes más de un juego, suma la memoria; cómo hacerlo lo explicamos en Varios servidores de juegos en un VPS. Cuánta memoria pide de verdad Palworld lo encontrarás en ¿Cuánta RAM necesita tu servidor de Palworld?
* o AMD Ryzen 9 7950X3D, según el nodo.
Instalar SteamCMD en Ubuntu
SteamCMD está en el repositorio multiverse de Ubuntu y necesita bibliotecas de 32 bits. Entra por SSH y ejecuta:
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmdDurante la instalación, el paquete te pide que aceptes la licencia de Steam. El programa queda en /usr/games/steamcmd. Después crea un usuario aparte para tus servidores, para que una brecha en un servidor de juegos no dé acceso root de inmediato:
sudo adduser --disabled-password --gecos "" steam
sudo -iu steamDescargar el servidor con app_update
Cada servidor dedicado tiene su propio app ID en Steam. Como usuario steam, descargas por ejemplo Valheim así:
steamcmd +force_install_dir /home/steam/servers/valheim +login anonymous +app_update 896660 validate +quitPon siempre +force_install_dir antes de +login; al revés, SteamCMD muestra un aviso. Con +login anonymous descargas la mayoría de los servidores dedicados sin cuenta de Steam, así que tu propia contraseña no tiene que estar en el VPS. validate comprueba todos los archivos y restaura los que se hayan modificado. Úsalo en la primera descarga y si algo parece roto, no en cada actualización si has cambiado archivos dentro de la carpeta del servidor.

| Juego | App ID del servidor | Servidor Linux |
|---|---|---|
| Valheim | 896660 | sí |
| Palworld | 2394010 | sí |
| Satisfactory | 1690800 | sí |
| Project Zomboid | 380870 | sí |
| Rust | 258550 | sí |
| 7 Days to Die | 294420 | sí |
| Enshrouded | 2278520 | no, solo Windows |
| ARK: Survival Ascended | 2430930 | no, solo Windows |
Con honestidad sobre los servidores solo para Windows. Enshrouded y ARK: Survival Ascended no tienen servidor para Linux. Puedes descargar la versión de Windows en Linux con +@sSteamCmdForcePlatformType windows antes de +login y arrancarla con Proton o Wine, pero no tiene soporte oficial y una actualización del juego puede romperlo en cualquier momento. ¿Prefieres estabilidad? Usa Windows Server (en el VPS KVM y el VDS se elige al contratar; en el VPS Premium se instala desde el panel VPS), o un servidor listo para usar como en Crear un servidor de Enshrouded.
Puertos y firewall
Abre solo los puertos que usa tu juego, y SSH siempre primero; si no, te quedas fuera:
sudo ufw allow OpenSSH
sudo ufw allow 2456:2457/udp # Valheim: puerto y puerto+1
sudo ufw allow 8211/udp # Palworld
sudo ufw allow 7777 # Satisfactory, TCP y UDP
sudo ufw allow 8888/tcp # Satisfactory, desde la versión 1.1
sudo ufw enableSi eliges otro puerto en las opciones de arranque, adapta la regla. Cómo cerrar SSH y el resto del VPS lo explicamos en Cómo asegurar un VPS: los primeros 30 minutos.
Arranque y actualización automáticos con systemd
Valheim incluye un script de arranque, start_server.sh, pero según Iron Gate ese archivo se restablece con cada actualización. Por eso, pon tus ajustes en un servicio propio, /etc/systemd/system/valheim.service:
[Unit]
Description=Valheim dedicated server
Wants=network-online.target
After=network-online.target
[Service]
User=steam
WorkingDirectory=/home/steam/servers/valheim
Environment=LD_LIBRARY_PATH=/home/steam/servers/valheim/linux64
Environment=SteamAppId=892970
ExecStartPre=/usr/games/steamcmd +force_install_dir /home/steam/servers/valheim +login anonymous +app_update 896660 +quit
ExecStart=/home/steam/servers/valheim/valheim_server.x86_64 -name "Nuestro mundo" -port 2456 -world "Dedicated" -password "elige-algo-largo" -public 1
KillSignal=SIGINT
TimeoutStartSec=600
TimeoutStopSec=60
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now valheim
journalctl -u valheim -fExecStartPredescarga primero la versión más reciente en cada arranque. Es necesario, porque tras una actualización del juego los jugadores a menudo no pueden volver a conectarse hasta que el servidor tenga la misma versión. Así, actualizar essudo systemctl restart valheim;TimeoutStartSec=600le da tiempo a una actualización grande.KillSignal=SIGINTdetiene el servidor como Ctrl+C en la consola: la forma de apagarlo que indica la propia Iron Gate.TimeoutStopSec=60le da un minuto para detenerse correctamente.Restart=on-failurelo vuelve a arrancar tras un crash, yenablehace que arranque solo después de reiniciar el VPS.
La contraseña debe tener al menos 5 caracteres y no puede aparecer en el nombre del servidor; si no, Valheim no arranca. Para Palworld montas el servicio de la misma forma, con PalServer.sh de la carpeta de instalación como ExecStart y el app ID 2394010; consulta en la documentación de cada juego qué opciones de arranque admite. Si quieres un reinicio limpio cada noche, añade al crontab de root: 0 5 * * * systemctl restart valheim.
Copias de seguridad y partidas: ¿dónde está tu mundo?
En Valheim con Linux, el mundo no está en la carpeta del servidor, sino en la carpeta personal del usuario: /home/steam/.config/unity3d/IronGate/Valheim/worlds_local. Valheim también hace copias de seguridad automáticas, pero están en el mismo disco. Por eso, organiza tú mismo una copia, por ejemplo cada noche con cron como usuario steam (crea primero ~/backups):
30 4 * * * tar -czf /home/steam/backups/valheim-$(date +\%F).tar.gz -C /home/steam/.config/unity3d/IronGate/Valheim worlds_localEn un crontab, el signo de porcentaje necesita una barra invertida; de ahí \%F. Borra los archivos antiguos, por ejemplo con find /home/steam/backups -mtime +14 -delete, y llévalos con regularidad a otra máquina o a tu propio PC, por ejemplo por SFTP. Una copia de seguridad que solo está en el mismo VPS no es una copia de seguridad. En otros juegos, las partidas están en otro sitio; busca para cada juego qué carpeta tienes que llevarte antes de borrar o reinstalar nada.
Preguntas frecuentes
¿Qué es SteamCMD?
SteamCMD es la versión de línea de comandos del cliente de Steam de Valve. Lo usas para descargar y actualizar servidores dedicados de juegos de Steam, sin entorno gráfico. En Ubuntu lo instalas como paquete steamcmd desde el repositorio multiverse.
¿Tengo que iniciar sesión con mi propia cuenta de Steam?
Para la mayoría de los servidores dedicados, no: con +login anonymous descargas, entre otros, Valheim, Palworld, Satisfactory y Rust sin cuenta. Así no tiene que haber ninguna contraseña de tu propia cuenta de Steam en el VPS. Si un servidor sí pide una cuenta, lo indica la documentación de ese juego.
¿Qué servidores de juegos no funcionan en Linux?
Enshrouded y ARK: Survival Ascended solo tienen servidor para Windows. En Linux se pueden ejecutar con Proton o Wine, pero no tiene soporte oficial y puede romperse con una actualización del juego. Para esos juegos, elige Windows Server en tu VPS o un servidor de juegos listo para usar.
¿Cuánta memoria necesita un servidor de juegos de Steam?
Depende del juego. Nosotros partimos de un mínimo de 4 GB para Valheim (a partir de 5 jugadores, de 1 a 2 GB extra), de 12 a 16 GB para Palworld y un mínimo de 12 GB para Rust y ARK. Súmale 1 GB aproximadamente para el sistema operativo y, con varios servidores, suma la memoria.