ARK: Survival Evolved tiene un servidor dedicado gratuito para Linux que se descarga de forma anónima con SteamCMD. Es uno de los servidores de juegos que más recursos consume, así que conviene montarlo bien: RAM suficiente, un límite de archivos abiertos elevado y un gestor de servicios que lo reinicie y lo mantenga actualizado. En este tutorial instalarás el servidor de ARK en Ubuntu 24.04, lo ejecutarás como servicio systemd, abrirás los puertos necesarios y configurarás los ajustes de juego más habituales.
Requisitos previos
Para seguir esta guía necesitas:
- Un servidor con Ubuntu 24.04 LTS (x86_64), por ejemplo un VPS o un servidor dedicado de CubePath. Calcula al menos 4 núcleos de CPU y 8 GB de RAM para un mapa con un grupo pequeño; más jugadores, bases más grandes y mapas mayores disparan el consumo de memoria.
- Al menos 40 GB libres en disco SSD. Los archivos del servidor ocupan unos 20 GB y las partidas crecen con el tiempo.
- Un usuario no root con privilegios
sudo. - ARK: Survival Evolved en Steam en el PC desde el que vas a jugar.
Paso 1: Instalar SteamCMD
SteamCMD está en el repositorio multiverse de Ubuntu y depende de bibliotecas de 32 bits. Activa ambos e instálalo:
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd
Acepta la licencia de Steam cuando se te pida seleccionando I AGREE. El binario queda instalado en /usr/games/steamcmd.
Paso 2: Crear un usuario dedicado y descargar ARK
Crea un usuario sin privilegios que será el propietario de los archivos del servidor y ejecutará el proceso:
sudo useradd -m -s /bin/bash steam
sudo -iu steam
El servidor dedicado de ARK es la aplicación de Steam 376030. Descárgalo en /home/steam/ark. +force_install_dir debe ir antes de +login:
/usr/games/steamcmd +force_install_dir /home/steam/ark +login anonymous +app_update 376030 validate +quit
Es una descarga grande, así que tardará un rato. Termina con:
Success! App '376030' fully installed.
Comprueba que el binario del servidor existe y vuelve a tu usuario con sudo:
ls /home/steam/ark/ShooterGame/Binaries/Linux/ShooterGameServer
exit
Paso 3: Abrir el cortafuegos
ARK usa estos puertos:
| Puerto | Protocolo | Uso |
|---|---|---|
| 7777 | UDP | Tráfico de los clientes del juego (Port) |
| 7778 | UDP | Puerto de socket raw, siempre Port + 1 |
| 27015 | UDP | Puerto de consulta de Steam, lo usan los navegadores de servidores (QueryPort) |
| 27020 | TCP | RCON, solo si lo activas |
Si tienes UFW activado, abre los puertos del juego y de consulta:
sudo ufw allow 7777:7778/udp
sudo ufw allow 27015/udp
Deja RCON cerrado salvo que necesites administración remota y, en ese caso, permítelo solo desde tu propia IP.
Paso 4: Crear el servicio systemd
ARK recibe el mapa y los ajustes básicos de la sesión como un único argumento separado por ? en la línea de comandos. Todo lo demás va en GameUserSettings.ini, que editarás en el paso 6.
Crea el archivo de la unidad:
sudo nano /etc/systemd/system/ark.service
[Unit]
Description=ARK: Survival Evolved dedicated server
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=steam
Group=steam
WorkingDirectory=/home/steam/ark/ShooterGame/Binaries/Linux
LimitNOFILE=100000
ExecStartPre=-/usr/games/steamcmd +force_install_dir /home/steam/ark +login anonymous +app_update 376030 +quit
ExecStart=/home/steam/ark/ShooterGame/Binaries/Linux/ShooterGameServer "TheIsland?listen?SessionName=CubePath ARK?Port=7777?QueryPort=27015?MaxPlayers=20" -server -log
TimeoutStartSec=1800
TimeoutStopSec=120
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
Qué hacen estas líneas:
LimitNOFILE=100000eleva el límite de archivos abiertos del proceso de ARK. El servidor abre muchísimos archivos y falla con errores "too many open files" con el límite por defecto de 1024; 100000 es el valor que recomienda la documentación del servidor de ARK. El máximo global del kernel (fs.file-max) en Ubuntu 24.04 ya es mucho mayor, así que no hace falta tocarlo.ExecStartPrebusca actualizaciones del juego antes de cada arranque. El-inicial permite que el servidor arranque aunque Steam no responda, yTimeoutStartSecda tiempo a que terminen las actualizaciones grandes.TheIslandes el mapa. Otros mapas oficiales sonTheCenter,ScorchedEarth_P,Ragnarok,Aberration_P,Extinction,Valguero_P,Genesis,CrystalIsles,Gen2,LostIslandyFjordur.SessionNamees el nombre que aparece en la lista de servidores.MaxPlayerslimita el número de jugadores conectados.
Recarga systemd y arranca el servidor:
sudo systemctl daemon-reload
sudo systemctl enable --now ark
Paso 5: Comprobar el servidor
Cargar el mapa tarda varios minutos, y bastante más en el primer arranque. Sigue el log:
sudo journalctl -u ark -f
Cuando termine la carga, comprueba que el proceso escucha en sus puertos UDP:
sudo ss -ulpn | grep ShooterGame
UNCONN 0 0 0.0.0.0:7777 0.0.0.0:* users:(("ShooterGameServ",pid=5230,fd=...))
UNCONN 0 0 0.0.0.0:7778 0.0.0.0:* users:(("ShooterGameServ",pid=5230,fd=...))
UNCONN 0 0 0.0.0.0:27015 0.0.0.0:* users:(("ShooterGameServ",pid=5230,fd=...))
Revisa el consumo de memoria con systemctl status ark --no-pager: la línea Memory: muestra cuánta RAM usa el servidor sin jugadores conectados, lo que te da una idea del margen que te queda.
Para conectarte, abre Steam y ve a Ver > Servidores de juegos > Favoritos, pulsa Añadir un servidor e introduce ip_de_tu_servidor:27015. Cuando Steam muestre el servidor, puedes entrar desde ahí o buscarlo por su nombre de sesión en la lista de servidores del juego (activa Show Player Servers).
Paso 6: Configurar GameUserSettings.ini
El primer arranque crea los archivos de configuración en ShooterGame/Saved/Config/LinuxServer/. El servidor reescribe GameUserSettings.ini al apagarse, así que detenlo siempre antes de editarlo o perderás los cambios:
sudo systemctl stop ark
sudo -u steam nano /home/steam/ark/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini
Busca la sección [ServerSettings] y define o añade estas claves, sin tocar las demás líneas de la sección:
[ServerSettings]
ServerPassword=tu_contraseña_de_acceso
ServerAdminPassword=tu_contraseña_admin_segura
DifficultyOffset=1.0
XPMultiplier=1.0
TamingSpeedMultiplier=3.0
HarvestAmountMultiplier=2.0
AutoSavePeriodMinutes=15
ServerPVE=True
ServerPasswordes la contraseña que necesitan los jugadores para entrar. Déjala vacía para un servidor público.ServerAdminPassworddesbloquea los comandos de administrador en el juego. Usa un valor largo y único.- Los multiplicadores cambian la velocidad de progreso;
1.0es el ritmo oficial. AutoSavePeriodMinutescontrola cada cuánto se guarda el mundo en disco.ServerPVE=Truedesactiva el daño entre jugadores. Elimínalo o ponlo enFalsepara PvP.
Vuelve a arrancar el servidor:
sudo systemctl start ark
En el juego, abre la consola (Tab por defecto) y ejecuta enablecheats tu_contraseña_admin_segura para convertirte en administrador. A partir de ahí puedes usar comandos de administración con el prefijo admincheat, por ejemplo admincheat saveworld para forzar un guardado o admincheat broadcast Reinicio en 5 minutos para enviar un mensaje a todos.
Paso 7: Copias de seguridad de las partidas
El mundo y los datos de los jugadores se guardan en ShooterGame/Saved/SavedArks/. Haz las copias desde ahí con una tarea cron del usuario steam. Esta se ejecuta cada noche a las 05:00 y conserva 7 días de archivos:
sudo -u steam mkdir -p /home/steam/backups
sudo -u steam crontab -e
0 5 * * * tar -czf /home/steam/backups/ark-$(date +\%F).tar.gz -C /home/steam/ark/ShooterGame/Saved SavedArks Config && find /home/steam/backups -name 'ark-*.tar.gz' -mtime +7 -delete
El archivo incluye Config, así que una restauración recupera también tus ajustes. El % va escapado porque cron interpreta un % sin escapar como salto de línea. Ejecuta admincheat saveworld antes de una copia manual si quieres el estado más reciente, y copia los archivos fuera del servidor con regularidad.
Solución de problemas
- El log muestra "Too many open files" o el servidor se cae mientras carga. Confirma que el límite se aplica con
cat /proc/$(pgrep -f ShooterGameServer)/limits | grep 'open files'. Debe mostrar 100000. - El proceso muere durante la carga. El servidor se quedó sin memoria. Compruébalo con
sudo journalctl -k | grep -i oomy añade RAM o swap, o elige un mapa más pequeño. - Los ajustes vuelven a su valor anterior tras reiniciar. Editaste
GameUserSettings.inicon el servidor en marcha. Detén el servicio primero y edita después. - El servidor no aparece en Steam. Asegúrate de que UDP 27015 está abierto y de que añadiste el servidor con el puerto de consulta, no con el del juego.
Conclusión
Ya tienes un servidor dedicado de ARK: Survival Evolved en Ubuntu 24.04 que funciona con systemd, se actualiza al reiniciar y guarda copias nocturnas de las partidas y la configuración. Como siguientes pasos, puedes añadir mods de Steam Workshop con la clave ActiveMods, levantar un segundo mapa en otros puertos y unirlos en un clúster para que los jugadores puedan transferirse entre ellos, o programar un reinicio diario con un temporizador systemd para mantener a raya el consumo de memoria.
