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:

PuertoProtocoloUso
7777UDPTráfico de los clientes del juego (Port)
7778UDPPuerto de socket raw, siempre Port + 1
27015UDPPuerto de consulta de Steam, lo usan los navegadores de servidores (QueryPort)
27020TCPRCON, 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=100000 eleva 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.
  • ExecStartPre busca actualizaciones del juego antes de cada arranque. El - inicial permite que el servidor arranque aunque Steam no responda, y TimeoutStartSec da tiempo a que terminen las actualizaciones grandes.
  • TheIsland es el mapa. Otros mapas oficiales son TheCenter, ScorchedEarth_P, Ragnarok, Aberration_P, Extinction, Valguero_P, Genesis, CrystalIsles, Gen2, LostIsland y Fjordur.
  • SessionName es el nombre que aparece en la lista de servidores. MaxPlayers limita 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
  • ServerPassword es la contraseña que necesitan los jugadores para entrar. Déjala vacía para un servidor público.
  • ServerAdminPassword desbloquea los comandos de administrador en el juego. Usa un valor largo y único.
  • Los multiplicadores cambian la velocidad de progreso; 1.0 es el ritmo oficial.
  • AutoSavePeriodMinutes controla cada cuánto se guarda el mundo en disco.
  • ServerPVE=True desactiva el daño entre jugadores. Elimínalo o ponlo en False para 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 oom y añade RAM o swap, o elige un mapa más pequeño.
  • Los ajustes vuelven a su valor anterior tras reiniciar. Editaste GameUserSettings.ini con 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.