LinuxGSM (Linux Game Server Manager) es una herramienta de línea de comandos que instala y mantiene más de 100 servidores de juegos con los mismos comandos: install, start, update, backup, monitor. En este tutorial usarás LinuxGSM en Ubuntu 24.04 para desplegar un servidor dedicado de Valheim, configurarlo, programar la monitorización, las actualizaciones y las copias de seguridad con cron, y recibir alertas en Discord. El proceso es el mismo para cualquier otro juego compatible cambiando el nombre del servidor.

Requisitos previos

  • Un servidor con Ubuntu 24.04 LTS de 64 bits, por ejemplo un VPS de CubePath.
  • Un usuario no root con privilegios sudo.
  • Para Valheim, al menos 2 núcleos, 4 GB de RAM y unos 5 GB libres en disco.
  • Los puertos UDP 2456 y 2457 accesibles desde Internet.

Paso 1: Instalar las dependencias

LinuxGSM usa SteamCMD para descargar los servidores de Steam, tmux para mantener la consola del juego en segundo plano y varias utilidades estándar. Activa multiverse y la arquitectura de 32 bits, que necesita SteamCMD:

sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update

Instala las dependencias comunes que LinuxGSM indica para Ubuntu, más SteamCMD:

sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat-openbsd lib32gcc-s1 lib32stdc++6 distro-info steamcmd

Acepta el acuerdo de licencia de Steam cuando aparezca. Cada juego puede necesitar alguna librería más; LinuxGSM lo comprueba durante la instalación y te muestra la orden exacta de apt si falta algo.

Paso 2: Crear el usuario del servidor

LinuxGSM se ejecuta con un usuario sin privilegios por servidor, y el convenio es llamarlo como el script del juego. Para Valheim el script es vhserver:

sudo adduser --disabled-password --gecos "" vhserver

El nombre del script de cada juego aparece en la lista de servidores de linuxgsm.com, y también puedes consultarlo con bash linuxgsm.sh list una vez descargado LinuxGSM en el paso siguiente.

Paso 3: Descargar LinuxGSM e instalar el servidor

Cambia al nuevo usuario y descarga el script de LinuxGSM en su directorio personal:

sudo -iu vhserver
curl -Lo linuxgsm.sh https://linuxgsm.sh

Revisa el script antes de ejecutarlo, por ejemplo con less linuxgsm.sh. Después créalo para Valheim; esto genera el script vhserver:

bash linuxgsm.sh vhserver

Lanza la instalación. LinuxGSM comprueba las dependencias, descarga el servidor con SteamCMD y crea la configuración:

./vhserver install

Responde Y a las preguntas. Si falta alguna dependencia, el instalador se detiene y muestra la orden de apt a ejecutar: sal con exit, ejecútala con tu usuario sudo, vuelve con sudo -iu vhserver y repite ./vhserver install. Al terminar verás:

Install Complete!

Consulta los detalles del servidor, que incluyen rutas, puertos y contraseñas:

./vhserver details

Paso 4: Configurar el servidor

LinuxGSM separa la configuración en tres niveles dentro de lgsm/config-lgsm/vhserver/:

  • _default.cfg: valores por defecto. No lo edites, se sobrescribe al actualizar LinuxGSM.
  • common.cfg: ajustes que se aplican a todas las instancias de este juego.
  • vhserver.cfg: ajustes de esta instancia concreta.

Copia a vhserver.cfg solo las variables que quieras cambiar. Abre el archivo:

nano ~/lgsm/config-lgsm/vhserver/vhserver.cfg

Añade los parámetros de Valheim:

servername="Mi servidor de Valheim"
serverpassword="your_server_password"
worldname="MiMundo"
public="1"
port="2456"

Para ver todas las variables disponibles para este juego, consulta _default.cfg:

grep -E '^[a-z]+=' ~/lgsm/config-lgsm/vhserver/_default.cfg

Paso 5: Abrir el firewall y arrancar

Valheim usa el puerto de juego configurado (2456) y el siguiente (2457) para las consultas de Steam. Abre ambos desde tu usuario con sudo (sal de la sesión de vhserver con exit):

exit
sudo ufw allow OpenSSH
sudo ufw allow 2456:2457/udp
sudo ufw enable

Vuelve al usuario del servidor y arráncalo:

sudo -iu vhserver
./vhserver start
[  OK  ] Starting vhserver: Mi servidor de Valheim

El primer arranque de Valheim genera el mundo y tarda uno o dos minutos. Comprueba el estado:

./vhserver details

La línea Status debe mostrar STARTED. Para ver la consola del juego en directo:

./vhserver console

Pulsa Ctrl+B y luego D para salir de la consola sin detener el servidor. No uses Ctrl+C: pararía el servidor.

Paso 6: Comandos del día a día

Todos los servidores de LinuxGSM comparten los mismos comandos:

ComandoQué hace
./vhserver start / stop / restartArranca, detiene o reinicia el servidor
./vhserver detailsMuestra estado, puertos, rutas y configuración
./vhserver consoleAbre la consola en tmux
./vhserver monitorComprueba que responde y lo reinicia si ha caído
./vhserver updateBusca y aplica actualizaciones del juego
./vhserver validateVerifica y repara los archivos con SteamCMD
./vhserver backupCrea una copia comprimida del servidor
./vhserver update-lgsmActualiza el propio LinuxGSM
./vhserver debugArranca en primer plano para ver errores

Ejecuta ./vhserver sin argumentos para ver la lista completa de tu juego.

Paso 7: Configurar las copias de seguridad

./vhserver backup detiene el servidor si está configurado para ello, comprime el directorio del servidor y lo guarda en ~/lgsm/backup. Controla la retención añadiendo estas variables a vhserver.cfg:

nano ~/lgsm/config-lgsm/vhserver/vhserver.cfg
maxbackups="7"
maxbackupdays="14"
stoponbackup="on"

stoponbackup="on" para el servidor durante la copia para que los datos sean coherentes. Haz una copia de prueba y comprueba el resultado:

./vhserver backup
ls -lh ~/lgsm/backup

Debe aparecer un archivo comprimido con el nombre del servidor y la fecha. Comprueba con ./vhserver details en qué directorio guarda el juego los mundos: si está fuera de ~/serverfiles, inclúyelo también en tus copias externas.

Paso 8: Automatizar con cron

LinuxGSM no instala tareas programadas por sí mismo. La configuración recomendada usa el crontab del usuario del servidor para vigilarlo cada 5 minutos, buscar actualizaciones cada 30, actualizar LinuxGSM cada domingo, hacer una copia diaria y arrancar tras un reinicio:

crontab -e
*/5 * * * * /home/vhserver/vhserver monitor > /dev/null 2>&1
*/30 * * * * /home/vhserver/vhserver update > /dev/null 2>&1
0 0 * * 0 /home/vhserver/vhserver update-lgsm > /dev/null 2>&1
0 5 * * * /home/vhserver/vhserver backup > /dev/null 2>&1
@reboot /home/vhserver/vhserver start > /dev/null 2>&1

update solo reinicia el servidor si hay una versión nueva, así que ejecutarlo a menudo no causa cortes. Comprueba que el crontab ha quedado guardado:

crontab -l

Paso 9: Recibir alertas en Discord

LinuxGSM puede avisar cuando monitor reinicia un servidor caído o cuando se aplica una actualización. Crea un webhook en tu servidor de Discord (Ajustes del canal > Integraciones > Webhooks) y copia su URL. Añade las variables a vhserver.cfg:

nano ~/lgsm/config-lgsm/vhserver/vhserver.cfg
discordalert="on"
discordwebhook="https://discord.com/api/webhooks/your_webhook_id/your_webhook_token"

Envía una alerta de prueba:

./vhserver test-alert

Debe aparecer un mensaje de LinuxGSM en el canal de Discord. LinuxGSM admite también correo, Telegram, Slack, Pushover y otros; las variables de cada uno están en _default.cfg.

Paso 10: Añadir más servidores

Para otro juego, repite el proceso con un usuario nuevo y su script, por ejemplo pzserver para Project Zomboid o rustserver para Rust. Si quieres una segunda instancia del mismo juego con el mismo usuario, ejecuta de nuevo bash linuxgsm.sh vhserver en el directorio personal: LinuxGSM crea vhserver-2, con su propio archivo vhserver-2.cfg. Asígnale otro puerto (por ejemplo 2458) y otro nombre de mundo en ese archivo, y abre los puertos correspondientes en UFW.

Solución de problemas

  • ./vhserver start falla o el estado es STOPPED: ejecuta ./vhserver debug para arrancarlo en primer plano y ver el error real. En Valheim, la causa más habitual es una contraseña de menos de 5 caracteres.
  • Faltan dependencias: el mensaje de install o start incluye la orden sudo apt install ... exacta; ejecútala con tu usuario administrador.
  • El servidor no aparece en la lista pública: comprueba public="1", que los puertos UDP están abiertos y espera unos minutos. Mientras tanto, conéctate por your_server_ip:2456.
  • Archivos dañados tras una actualización interrumpida: ejecuta ./vhserver validate.
  • Revisar logs: los logs de LinuxGSM y del juego están en ~/log/.

Conclusión

Has instalado LinuxGSM en Ubuntu 24.04, desplegado un servidor de Valheim y automatizado su monitorización, actualizaciones, copias de seguridad y alertas en Discord. A partir de aquí puedes añadir otros juegos con el mismo flujo, copiar las copias de seguridad fuera del servidor o, si necesitas dar acceso a otras personas desde el navegador, usar un panel como Pterodactyl.