Un servidor dedicado de Valheim mantiene el mundo disponible aunque el jugador que lo creó no esté conectado. Para montarlo necesitas una máquina Linux, acceso administrativo, una conexión estable y capacidad para abrir puertos si utilizas el sistema de conexión de Steam. Esta guía parte de Ubuntu o Debian y utiliza SteamCMD, sin paneles ni contenedores.
Requisitos de hardware reales
Valheim no exige una tarjeta gráfica en un servidor dedicado, pero sí depende bastante del procesador. El consumo aumenta cuando los jugadores exploran zonas distintas, construyen asentamientos grandes o utilizan modificaciones. Estas cifras son una base práctica, no límites oficiales:
| Uso previsto | Procesador | Memoria | Almacenamiento |
|---|---|---|---|
| 2-4 jugadores, mundo pequeño | 2 núcleos modernos | 4 GB de RAM | 10 GB libres en SSD |
| 5-10 jugadores | 4 núcleos con buen rendimiento por núcleo | 6-8 GB de RAM | 15-20 GB libres en SSD |
| Mundo grande o con modificaciones | 4-6 núcleos modernos | 8-12 GB de RAM | 20 GB o más en SSD |
La aplicación del servidor ocupa mucho menos que esas cantidades, pero necesitas margen para actualizaciones, registros y copias de los mundos. El SSD reduce las pausas durante el guardado. Evita máquinas con memoria al límite: si Linux empieza a utilizar intercambio de forma constante, los jugadores pueden notar retrasos.
También necesitas una distribución con bibliotecas suficientemente recientes. La documentación del servidor indica como mínimo GLIBC 2.29 y GLIBCXX 3.4.26. Ubuntu 22.04 o una versión posterior resulta una elección razonable. La conexión debería tener una dirección pública accesible si vas a usar el sistema de Steam; una conexión bajo CG-NAT impide normalmente redirigir puertos desde Internet.
Instalar SteamCMD y Valheim en Linux
1. Crear un usuario exclusivo
No ejecutes el servidor como root. Crea un usuario de servicio sin contraseña y prepara su directorio:
sudo adduser --disabled-password --gecos "" valheim
sudo mkdir -p /opt/valheim
sudo chown -R valheim:valheim /opt/valheim
2. Instalar dependencias
En Ubuntu o Debian, activa la arquitectura de 32 bits e instala SteamCMD y las bibliotecas que necesita el servidor:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd libatomic1 libpulse0 libpulse-dev
En algunas versiones, SteamCMD se instala como /usr/games/steamcmd. Si el paquete no está disponible, revisa que los repositorios correspondientes de tu distribución estén habilitados.
3. Descargar el servidor dedicado
Valheim Dedicated Server tiene el identificador de aplicación 896660 y admite descarga anónima. Ejecuta:
sudo -u valheim /usr/games/steamcmd \
+force_install_dir /opt/valheim \
+login anonymous \
+app_update 896660 validate \
+quit
El modificador validate comprueba los archivos descargados y reemplaza los que falten o estén dañados. Cuando termine, el ejecutable principal estará en /opt/valheim/valheim_server.x86_64.
4. Crear el script de arranque
Crea una copia propia del script suministrado por el juego o prepara uno separado. No personalices únicamente start_server.sh: una actualización puede sobrescribirlo.
#!/bin/bash
export LD_LIBRARY_PATH="/opt/valheim/linux64:$LD_LIBRARY_PATH"
export SteamAppId=892970
cd /opt/valheim
exec ./valheim_server.x86_64 \
-name "Vikingos de Midgard" \
-port 2456 \
-world "midgard" \
-password "Cuervo739" \
-public 1 \
-crossplay
Guárdalo, por ejemplo, como /opt/valheim/iniciar-valheim.sh y dale permiso de ejecución:
sudo chown valheim:valheim /opt/valheim/iniciar-valheim.sh
sudo chmod 750 /opt/valheim/iniciar-valheim.sh
sudo -u valheim /opt/valheim/iniciar-valheim.sh
El servidor estará listo cuando el registro muestre Game server connected. Para detener una ejecución manual utiliza Ctrl+C, de modo que el proceso pueda guardar el mundo correctamente.
Qué significa cada parámetro de arranque
| Parámetro | Función | Consideración |
|---|---|---|
-name |
Nombre visible del servidor | No tiene que coincidir con el nombre interno del mundo. |
-port |
Puerto base de comunicación | Valheim utiliza ese puerto y el siguiente; por defecto, 2456 y 2457. |
-world |
Nombre del mundo que se carga o crea | Debe coincidir con los archivos del mundo si estás migrando uno existente. |
-password |
Contraseña de acceso | Debe tener al menos cinco caracteres. |
-crossplay |
Activa el sistema multiplataforma de PlayFab | Permite conexiones desde plataformas compatibles y ofrece un código de unión. |
-public 1 |
Publica el servidor en el navegador | Con -public 0 queda oculto y se accede mediante conexión directa. |
Sin -crossplay, el servidor utiliza el sistema de Steam. Esto limita la conexión a usuarios de Steam, pero permite entrar mediante la IP local. Con -crossplay, el tráfico pasa por un servicio de retransmisión: no hace falta redirigir puertos en el router, aunque no podrás conectarte usando 127.0.0.1 ni la IP privada del servidor. Utiliza la IP pública, el código de unión o la lista.
Puertos que debes abrir
Con el sistema de Steam y el puerto predeterminado, redirige los puertos UDP 2456 y 2457 desde el router hacia la IP privada del servidor. Algunas configuraciones y guías antiguas abren también el 2458; puedes reservar el intervalo UDP 2456-2458 para evitar conflictos con herramientas de consulta, pero el servidor utiliza oficialmente el puerto indicado y el siguiente.
Si empleas UFW:
sudo ufw allow 2456:2457/udp
sudo ufw status
La regla del cortafuegos local no sustituye la redirección NAT del router. Asigna una IP privada fija al equipo, reenvía el mismo intervalo UDP y comprueba que tu proveedor no te coloque bajo CG-NAT. No abras esos puertos TCP salvo que otra aplicación lo requiera.
Con -crossplay no necesitas redirección entrante, porque se utiliza una retransmisión externa. Aun así, el servidor debe poder iniciar conexiones salientes y resolver nombres DNS.
Dónde se guardan los mundos
En Linux, la ruta predeterminada parte del directorio personal del usuario que ejecuta el proceso:
/home/valheim/.config/unity3d/IronGate/Valheim/
Los mundos actuales suelen encontrarse en:
/home/valheim/.config/unity3d/IronGate/Valheim/worlds_local/
Una instalación antigua también puede conservarlos en un directorio llamado worlds. Cada mundo utiliza principalmente dos archivos con el mismo nombre: midgard.db, que contiene los datos, y midgard.fwl, que contiene la información descriptiva. Copia ambos juntos. Los archivos con sufijos como .old son versiones de recuperación, no sustitutos de una estrategia de copias externa.
Puedes fijar otra ubicación con -savedir "/srv/valheim-data". Es útil para separar datos y aplicación, pero el usuario valheim debe tener permisos de lectura y escritura.
Cómo hacer copias de seguridad fiables
La copia más segura se realiza con el servidor detenido. Así evitas guardar el archivo .db y el .fwl en instantes distintos:
sudo systemctl stop valheim
sudo tar -czf /var/backups/valheim-$(date +%F-%H%M).tar.gz \
-C /home/valheim/.config/unity3d/IronGate Valheim
sudo systemctl start valheim
Crea antes /var/backups y limita su acceso. Conserva varias versiones y lleva al menos una copia a otro sistema. Una copia situada únicamente en el mismo disco no protege frente a una avería física, pérdida de la máquina o cifrado malicioso. Si prefieres delegar la retención y restauración, existen servicios de backup y recuperación ante desastres.
Antes de una actualización importante o de instalar modificaciones, genera una copia manual. Para restaurarla, detén el servidor, conserva aparte el estado actual, extrae la copia en la ruta original, corrige la propiedad de los archivos y vuelve a iniciar el servicio.
Actualizar el servidor
Los clientes y el servidor deben utilizar versiones compatibles. Antes de actualizar, avisa a los jugadores, detén el proceso y respalda el mundo. Después repite la orden de SteamCMD:
sudo systemctl stop valheim
sudo -u valheim /usr/games/steamcmd \
+force_install_dir /opt/valheim \
+login anonymous \
+app_update 896660 validate \
+quit
sudo systemctl start valheim
Mantén el script personalizado fuera de los archivos originales que actualiza SteamCMD. Revisa el registro tras arrancar y entra en el servidor antes de dar la actualización por terminada. Si utilizas modificaciones, comprueba por separado su compatibilidad: actualizar el juego no actualiza necesariamente el cargador ni sus complementos.
Errores habituales y cómo resolverlos
La contraseña no cumple los requisitos
Valheim rechaza claves de menos de cinco caracteres. Utiliza una contraseña más larga y evita incluirla literalmente en el nombre del servidor. Comprueba también las comillas del script: deben ser comillas rectas y estar correctamente cerradas.
El servidor no aparece en la lista
La lista puede tardar y no siempre es la mejor prueba. Verifica primero que el proceso muestre Game server connected y que hayas configurado -public 1. Con Steam, revisa el cortafuegos, la redirección UDP, la IP privada de destino y la posible presencia de CG-NAT. Intenta después añadir el servidor por IP pública y puerto.
Con -crossplay, utiliza el código de unión o la IP pública. No pruebes con localhost ni con una IP privada, porque este sistema de retransmisión no admite esas direcciones. Asegúrate también de que cliente y servidor estén actualizados.
El mundo nuevo está vacío
Normalmente, -world no coincide exactamente con el nombre de los archivos copiados o estos pertenecen a otro usuario. Comprueba mayúsculas, minúsculas, ruta, propietario y extensiones .db y .fwl. Si cambiaste -savedir, el servidor ya no buscará en la ubicación predeterminada.
El proceso se cierra después de arrancar
Ejecuta el script manualmente como el usuario valheim para ver el error. Las causas frecuentes son bibliotecas ausentes, permisos incorrectos, una distribución demasiado antigua o un puerto ya ocupado. Comprueba este último caso con:
sudo ss -lunp | grep -E '2456|2457'
Preguntas frecuentes
¿Necesito comprar otra copia de Valheim para el servidor?
No para descargar la aplicación dedicada mediante SteamCMD: el acceso anónimo permite instalar el servidor con el identificador 896660. Los jugadores sí necesitan una copia compatible del juego.
¿Cuántos jugadores admite un servidor dedicado?
Valheim está planteado para grupos de hasta diez jugadores. La experiencia real dependerá del procesador, la memoria, la conexión, el tamaño de las construcciones y las modificaciones instaladas.
¿Debo utilizar crossplay?
Actívalo si van a entrar jugadores desde plataformas distintas o si no puedes redirigir puertos. Si todos utilizan Steam y necesitas conexiones mediante IP local, utiliza el sistema de Steam sin -crossplay.
¿Puedo alojar varios mundos en la misma máquina?
Sí, ejecutando una instancia por mundo. Cada una debe tener un nombre, un puerto base y un directorio de guardado propios. Con crossplay y varias instancias desde la misma dirección física, utiliza además un -instanceid distinto.
¿Qué opción tengo si no quiero administrar Linux, puertos y copias?
Puedes contratar un servidor de juegos desde 2,50 € al mes o solicitar una configuración ajustada a tu grupo. Overclock Host ofrece infraestructura con red y ASN propios, protección DDoS y soporte 24/7; puedes plantear tus necesidades a través de contacto.