Cómo alojar un servidor dedicado de Valheim en Linux
Un servidor dedicado de Valheim mantiene tu mundo en línea cuando el amigo que lo aloja se desconecta, y admite los diez jugadores que permite el juego sin que uno de ellos cargue con toda la simulación en su PC de juego. Iron Gate distribuye el servidor como descarga gratuita de SteamCMD, con una versión nativa para Linux. Valheim salió del acceso anticipado con la versión 1.0 el 9 de septiembre de 2026, y esa versión cambió el formato de guardado: un mundo es ahora una carpeta de chunks en lugar de una pareja de archivos .db y .fwl. En Ubuntu o Debian, el servidor necesita SteamCMD, tres bibliotecas, una unidad systemd que lo detenga con SIGINT para que guarde, y o bien tres puertos UDP abiertos o bien el relay de crossplay de Iron Gate. Las listas de administradores y de baneos, las copias de seguridad fuera de la máquina y los mods de BepInEx completan la instalación.
Cargando...
Resumen de la instalación
Un servidor de Valheim es un binario nativo de Linux que se descarga con SteamCMD, sin necesidad de licencia del juego. Usa una pareja de puertos UDP a partir del 2456 y admite hasta diez jugadores. El procedimiento completo en una máquina Ubuntu o Debian limpia:
- Elige una máquina con 4 GB de RAM o más y unos cuantos núcleos rápidos.
- Instala SteamCMD y las tres bibliotecas que indica Iron Gate.
- Descarga el servidor (aplicación de Steam 896660) con un usuario sin privilegios.
- Decide las opciones de arranque: nombre del servidor, mundo, contraseña, si aparece en la lista pública, crossplay.
- Ejecútalo con systemd y detenlo con SIGINT para que guarde el mundo al apagarse.
- Abre los puertos UDP 2456 a 2458, o usa crossplay y no abras ninguno.
- Pon tu propio ID en
adminlist.txt. - Copia la carpeta de guardado fuera de la máquina de forma programada.
La dirección de servidor de ejemplo, 203.0.113.10, pertenece a un rango reservado para documentación. Usa la tuya.
Qué cambió Valheim 1.0 para los servidores
Iron Gate lanzó Valheim 1.0 el 9 de septiembre de 2026, con el bioma Deep North, una actualización del motor Unity y un nuevo sistema de guardado. Las opciones de arranque, los puertos y la instalación se mantuvieron igual que en el servidor del acceso anticipado.
El sistema de guardado es el primer cambio con el que se encuentra quien administra un servidor. Las notas de la versión de prueba pública 0.221.13, publicada el 6 de mayo de 2026, describen un formato que reparte los datos del mundo en chunks y solo escribe los que han cambiado, de modo que un mundo es ahora una carpeta. Un mundo anterior a la 1.0 se convierte la primera vez que un servidor 1.0 lo carga, y el servidor guarda una copia del original. Las primeras conversiones tenían un fallo: los objetos colocados en soportes de objetos y soportes de armadura perdían su nivel de mejora. El parche 1.0.15 lo corrigió para las conversiones posteriores a la 1.0.12 y pide a los jugadores afectados que restauren esa copia de la primera carga.
También cambiaron los ID de jugador. Desde la 1.0, el ID de un jugador de Steam lleva el prefijo V_, y el parche 1.0.12 hizo que la lista de baneos y la lista blanca aceptaran además la forma antigua Steam_.
Luego está el ritmo de parches: 1.0.10 y 1.0.12 el 11 de septiembre, 1.0.14 el 17 de septiembre, 1.0.15 el 18 de septiembre. Los jugadores no pueden unirse a un servidor con otra versión, así que cada parche obliga a actualizar.
Cuánto hardware necesita un servidor de Valheim
No hay requisitos de hardware oficiales para el servidor dedicado. Las cifras que circulan proceden de dos fuentes de la comunidad, y ninguna se midió en la 1.0:
| Fuente | Mínimo | Recomendado | Notas |
|---|---|---|---|
| Wiki de Valheim (marcada como no oficial) | 4 núcleos a 2,8 GHz, 2 GB de RAM | 6 núcleos a 3,4 GHz o más, 4 GB de RAM o más | Un mundo nuevo usa de 1,8 a 2,4 GB, más 100 a 300 MB por cada zona con jugadores activos |
| README de valheim-server-docker | 4 GB de RAM, 2 núcleos | 8 GB de RAM, 4 núcleos de alta frecuencia | Unos 2,8 GB residentes medidos con el servidor en reposo, en una versión sin fecha del acceso anticipado |
La cifra por zona explica casi toda la diferencia. El servidor mantiene en memoria cada zona donde hay un jugador activo: diez personas construyendo en una misma base cargan una zona, mientras que diez personas navegando cada una hacia un bioma distinto cargan diez. Planifica para el segundo caso.
El proveedor de hosting ConnectHosting midió 1,34 GB residentes para un mundo 1.0 recién generado sin jugadores, en la versión 1.0.7 (publicada el 10 de septiembre de 2026), e indica que la memoria cambia poco entre dos y diez jugadores en un mismo mundo. Las cifras del acceso anticipado eran más altas. En un hilo de abril de 2021, el mantenedor de la imagen Docker de mbround18 midió unos 4 GB con cuatro o cinco jugadores, y otro usuario vio cómo un servidor inactivo subía hasta 3,1 GB en ocho horas.
Una estimación a partir de esas cifras y del modelo por zona de la wiki:
| Situación | RAM en uso | Base |
|---|---|---|
| Mundo 1.0 nuevo, sin jugadores | Unos 1,3 GB | Medición de ConnectHosting en la 1.0.7 |
| Hasta diez jugadores en una misma base | 2 a 3 GB | Una zona cargada según el modelo de la wiki, y la pequeña diferencia entre dos y diez jugadores que midió ConnectHosting |
| Diez jugadores en diez zonas distintas | Hasta unos 5,5 GB | Las cifras altas de la wiki: 2,4 GB más 10 × 300 MB |
| Cualquiera de los anteriores tras días en marcha | Suma alrededor de 1 GB | Informes de crecimiento del acceso anticipado, de 2021 a 2023 |
Una máquina de 4 GB cubre las dos primeras filas. 8 GB cubren las cuatro y dejan margen para el sistema operativo.
Instalación en Ubuntu o Debian
Paso 1: SteamCMD y bibliotecas
SteamCMD es un programa de 32 bits, así que primero hay que habilitar la arquitectura i386. En Ubuntu está en el componente multiverse; en Debian, añade non-free a tus fuentes de apt en lugar de la primera línea:
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd libatomic1 libpulse-dev libpulse0
Los tres últimos paquetes son los que indica para Linux la guía de servidores dedicados de Iron Gate. La wiki de Valheim añade libc6 para la conexión con PlayFab que usa el crossplay; ya viene instalada en cualquier sistema Ubuntu o Debian estándar.
Paso 2: usuario de servicio y descarga
Un servidor de juego procesa tráfico de desconocidos todo el día. Dale una cuenta que no sea dueña de nada más:
sudo useradd --create-home --shell /bin/bash steam
sudo -u steam /usr/games/steamcmd +force_install_dir /home/steam/valheim \
+login anonymous +app_update 896660 validate +quit
+force_install_dir solo funciona si va antes de +login. El ID de aplicación del servidor es 896660; el del cliente del juego es 892970, y el servidor lo necesita en su entorno al arrancar.
Paso 3: revisa el script de arranque original
La descarga incluye start_server.sh. El script apunta LD_LIBRARY_PATH a las bibliotecas linux64 incluidas, exporta SteamAppId=892970 y arranca valheim_server.x86_64 con opciones de ejemplo. Su propio comentario te pide que hagas una copia antes de editarlo, porque cada actualización de SteamCMD lo sobrescribe. Una unidad systemd que arranca el binario directamente no usa el script para nada, así que una actualización que lo sobrescriba no cuesta nada.
Opciones de arranque
Toda la configuración del servidor se hace en la línea de comandos. Las opciones de la guía de Iron Gate:
| Opción | Qué hace |
|---|---|
-name "Nine Worlds" | Nombre que aparece en la lista de servidores |
-port 2456 | Puerto de juego. El servidor usa también el siguiente |
-world "Dedicated" | Carga el mundo con ese nombre, o lo crea |
-password "..." | Contraseña para entrar. El comentario del script original fija dos reglas: al menos cinco caracteres, y no puede contener el nombre del servidor |
-public 1 o 0 | 1 publica el servidor en la lista de la comunidad; 0 hace que solo se pueda entrar por dirección |
-crossplay | Ejecuta el servidor a través del relay PlayFab de Iron Gate, que necesitan los jugadores de consola y de Microsoft Store |
-savedir /path | Traslada los mundos y las listas de permisos fuera de la ubicación por defecto |
-saveinterval 1800 | Segundos entre guardados del mundo. 1800 (30 minutos) es el valor por defecto |
-backups 4 | Cuántas copias automáticas conservar |
-backupshort 7200 / -backuplong 43200 | Antigüedad de la primera copia y de las demás, en segundos |
-instanceid 1 | Un ID único por servidor cuando varios se ejecutan en una misma máquina con el mismo puerto |
Modificadores de mundo
Los modificadores de mundo fijan la dificultad de cada mundo. -preset acepta normal, casual, easy, hard, hardcore, immersive o hammer, y -modifier ajusta después un valor concreto, como -modifier raids none o -modifier portals casual. -setkey activa una de las claves nobuildcost, playerevents, passivemobs o nomap.
Los modificadores se guardan en el propio mundo, no se leen de nuevo en cada arranque. Quitar -preset hardcore de la línea de comandos deja el mundo en hardcore; la configuración de LinuxGSM explica que se restablece arrancando una vez con -preset normal.
Ejecútalo con systemd
La instrucción de Iron Gate para detener el servidor es Ctrl+C, que envía SIGINT, y el servidor guarda el mundo al salir. systemd detiene los servicios con SIGTERM por defecto, así que la unidad cambia la señal por la que documenta Iron Gate.
No pongas la contraseña en el archivo de la unidad, que cualquier usuario del sistema puede leer. Guárdala en /etc/valheim.env con modo 600:
VALHEIM_PASSWORD=long-join-password
Después, la unidad, en /etc/systemd/system/valheim.service:
[Unit]
Description=Valheim dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=steam
Group=steam
WorkingDirectory=/home/steam/valheim
EnvironmentFile=/etc/valheim.env
Environment=LD_LIBRARY_PATH=/home/steam/valheim/linux64
Environment=SteamAppId=892970
ExecStart=/home/steam/valheim/valheim_server.x86_64 -nographics -batchmode \
-name "Nine Worlds" -port 2456 -world "Dedicated" \
-password ${VALHEIM_PASSWORD} -public 0
KillSignal=SIGINT
TimeoutStopSec=120
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.target
-nographics -batchmode son las opciones de Unity que pasa el script original para un servidor sin pantalla. TimeoutStopSec=120 da a un mundo grande dos minutos para escribirse antes de que systemd se rinda y lo mate. Arranca el servicio y sigue el registro:
sudo systemctl daemon-reload
sudo systemctl enable --now valheim
journalctl -u valheim -f
El servidor está listo cuando el registro indica que el servidor de juego se ha conectado y el mundo se ha cargado; el primer arranque de un mundo nuevo tarda más porque genera el mapa.
Puertos y cómo entran los jugadores
Hay dos formas de entrar, y cada una necesita una configuración de red distinta:
| Conexión directa | Crossplay (-crossplay) | |
|---|---|---|
| Quién puede entrar | Jugadores de Steam | Todas las plataformas: Steam, Microsoft Store, Xbox, PlayStation 5, Switch 2 |
| Puertos entrantes | UDP 2456 a 2458 | Ninguno |
| Cómo entrar | Join IP con 203.0.113.10:2456, o la lista de la comunidad si -public 1 | Join IP, un código de acceso, o la lista de la comunidad |
| Ruta | Del jugador directamente al servidor | Del jugador al servidor a través del relay PlayFab de Iron Gate |
| Mods | Funcionan, si todos los jugadores los tienen | Los jugadores de consola no pueden cargar mods |
Para un servidor de conexión directa, abre los puertos:
sudo ufw allow 2456:2458/udp comment 'Valheim'
La guía de Iron Gate nombra el puerto de juego y el siguiente (2456 y 2457, que es el puerto de consultas de Steam). El comentario del script original y el manual del servidor de 2021 indican 2456 a 2458, y la imagen Docker de la comunidad usa el 2458 para el crossplay y para algunos mods, así que abre los tres. No hace falta que ningún puerto TCP sea accesible; la wiki de Valheim señala que el puerto TCP que abre el servidor es solo para tráfico local de Steamworks.
El crossplay cambia esos puertos por un relay. La guía de Iron Gate dice que un servidor con crossplay "transmite los datos a través de un servidor relay y por tanto no requiere redirección de puertos". El precio, según la wiki de Valheim: el relay añade su propio salto a cada paquete, las direcciones LAN y de loopback dejan de servir para entrar, y dos hosts detrás de la misma dirección de CGNAT pueden chocar al registrarse. En un servidor con IP pública y un firewall que tú controlas, la conexión directa es la ruta más corta. El crossplay es la opción adecuada cuando alguien del grupo juega en consola, ya que la FAQ de la 1.0 de Iron Gate afirma que Valheim admite crossplay entre todas las plataformas.
Un puerto UDP abierto en una dirección pública es también un objetivo de DDoS. Un flood llena el enlace antes de que ninguna regla del firewall del host lo vea, y por eso la guía de tipos de ataques DDoS sitúa la mitigación en la red, antes de llegar al servidor.
Administradores, baneos y lista blanca
Tres archivos de texto en el directorio de guardado (/home/steam/.config/unity3d/IronGate/Valheim/ por defecto) controlan quién puede hacer qué:
adminlist.txt: jugadores que pueden usar comandos de administración de la consola, como kick y banbannedlist.txt: jugadores que no pueden entrarpermittedlist.txt: una lista blanca. En cuanto contiene un ID, se rechaza a todo el que no esté en ella
Cada archivo admite un ID por línea, en el formato que Iron Gate da como [Platform]_[User ID], distinguiendo mayúsculas y minúsculas. Usuarios de la imagen Docker de la comunidad informan de que un SteamID64 sin más se ignora en la 1.0. Haz que el jugador entre una vez y copia su ID exacto desde el panel F2 o desde el registro del servidor. La corrección de la 1.0.12 para los ID antiguos abarcaba los archivos de baneos y de lista blanca; sus notas no mencionan la lista de administradores, así que escribe los administradores en la forma que imprime el servidor.
Guardados y copias de seguridad con el formato 1.0
Los mundos están en worlds_local/ dentro del directorio de guardado, una carpeta por mundo desde la 1.0. El servidor escribe el mundo cada 30 minutos por defecto y mantiene sus propias copias rotativas, configuradas con -backups, -backupshort y -backuplong. Esas copias están en el mismo disco. Te salvan de un guardado corrupto, no de un disco muerto ni de un directorio personal borrado.
Una copia nocturna fuera de la máquina cubre el resto. Detener antes el servidor da una instantánea coherente, y un reinicio a las 4 de la madrugada no les cuesta nada a los jugadores:
sudo systemctl stop valheim
tar -C /home/steam/.config/unity3d/IronGate -czf /var/backups/valheim-$(date +%F).tar.gz Valheim
sudo systemctl start valheim
rsync -a /var/backups/ backup@198.51.100.20:/srv/valheim/
Para pasar un mundo del PC de un amigo al servidor, copia su carpeta desde el directorio worlds_local del amigo al del servidor y arranca el servidor con -world igual a su nombre. Un mundo anterior a la 1.0 que llegue como pareja de .db y .fwl se convierte en la primera carga. El proyecto Docker de la comunidad advierte de que la conversión no tiene vuelta atrás, así que guarda una copia de los archivos antiguos donde el servidor no pueda tocarlos.
Actualizar es volver a ejecutar el comando de instalación con el servicio detenido:
sudo systemctl stop valheim
sudo -u steam /usr/games/steamcmd +force_install_dir /home/steam/valheim \
+login anonymous +app_update 896660 validate +quit
sudo systemctl start valheim
Mods con BepInEx
El modding de Valheim funciona sobre BepInEx, sin respaldo del estudio: la FAQ de la 1.0 de Iron Gate dice que no hay soporte oficial para mods y que no puede garantizar que ningún mod funcione en la 1.0. El cargador, BepInExPack_Valheim en Thunderstore, se ha actualizado para la 1.0; se instala en el directorio del servidor y trae su propio start_server_bepinex.sh. Copia ese script, pasa tus opciones de arranque a la copia, apunta ExecStart a ella y coloca las DLL de los mods en BepInEx/plugins. systemd envía la señal de parada a todos los procesos del servicio, así que KillSignal=SIGINT sigue llegando al servidor que hay detrás del script.
Los mods se dividen en dos tipos. Los mods solo de servidor, como las herramientas de copia de seguridad o de administración, no cambian nada en el cliente. Los mods de jugabilidad necesitan la misma versión en todos los clientes, y una discrepancia se nota en jugadores que se conectan y luego son expulsados. ValheimPlus, el veterano mod de jugabilidad y calidad de vida, se quedó en la versión 0.9.9.11 en su repositorio original en diciembre de 2022; el fork mantenido es Grantapher/ValheimPlus, que publicó la 0.10.2.0 el 20 de septiembre de 2026.
Según la misma FAQ, los jugadores de consola no pueden instalar mods de ningún tipo, así que cualquier mod que requiera instalación en el cliente deja el servidor solo para Steam. Decide entre crossplay y un mundo con mods antes de invitar a nadie.
FAQ
¿Cuántos jugadores pueden unirse a un servidor dedicado de Valheim?
Diez. La FAQ de la 1.0 de Iron Gate describe Valheim como un juego para 1 a 10 jugadores, y el servidor no tiene ninguna opción de arranque que suba ese límite. Hay mods de la comunidad que lo eliminan, pero entonces cada jugador necesita un cliente con los mismos mods.
¿Qué puertos necesita un servidor de Valheim?
UDP 2456 y 2457 para un servidor al que se entra por conexión directa: el puerto de juego y el siguiente. Abre también 2458/udp, que aparece en el comentario del script de arranque original y que usan algunos mods. Ningún puerto TCP tiene que ser público. Un servidor arrancado con -crossplay se conecta por su cuenta a un relay y no necesita ningún puerto entrante.
¿Cuánta RAM necesita un servidor de Valheim?
Iron Gate no publica ninguna cifra. Un proveedor de hosting midió 1,34 GB para un mundo 1.0 nuevo sin jugadores, y según las cifras por zona de la wiki de Valheim, diez jugadores en diez zonas distintas llegan a unos 5,5 GB. Una máquina de 4 GB basta para un grupo que juega junto; 8 GB cubren a diez jugadores repartidos por el mapa.
¿Pueden unirse jugadores de Xbox y PlayStation a un servidor en Linux?
Sí, si el servidor se ejecuta con -crossplay. La FAQ de la 1.0 de Iron Gate afirma que Valheim admite crossplay entre todas las plataformas, y el tráfico de crossplay pasa por el relay de Iron Gate. Los jugadores de consola no pueden cargar mods, así que en la práctica un servidor con mods es solo para Steam.
¿Funcionará mi mundo anterior a la 1.0 en un servidor 1.0?
Sí. El servidor convierte el mundo al nuevo formato por chunks la primera vez que lo carga y guarda una copia del original. La conversión no tiene vuelta atrás, así que si crees que podrías querer volver, copia el mundo fuera de la máquina antes del primer arranque con la 1.0.
Desplegar en Serverside
Un mundo de Valheim para diez jugadores es una carga ligera al lado de Palworld, y unos cuantos amigos pueden tener uno en un VPS pequeño. Lo que cambia las cosas es mantenerlo para una comunidad que juega cada tarde: un servidor de conexión directa tiene un puerto UDP público que cualquiera puede inundar, y solo no comparte CPU con nadie si la máquina es tuya. Un servidor de juegos de Serverside es una máquina AMD Ryzen de un solo inquilino con acceso root completo en nuestra propia red, AS55285, con mitigación DDoS siempre activa en línea delante de los puertos de juego y aprovisionamiento en menos de un minuto.
Una misma máquina también puede alojar varios mundos. Cada instancia de Valheim necesita su propio rango de puertos (2456, 2466, 2476, etc.) y su propio -world, y la guía de alojamiento de servidores de juegos explica cómo ejecutar muchas instancias detrás de un panel. Las otras dos guías de esta serie son cómo alojar un servidor de Palworld y cómo alojar un servidor de Minecraft.
Escrito por
CEO, Serverside.com & Host Havoc
Clay is the CEO of Serverside.com and Host Havoc, with more than a decade of experience running globally distributed hosting infrastructure and a game-server platform that has served over 200,000 customers.
Seguir leyendo
Ver todos los artículos¿Te ha gustado este artículo?
Recibe nuevas guías y artículos técnicos en tu correo. Sin spam, cancela cuando quieras.



