Windrose: montar un servidor dedicado — instalación Steam, SteamCMD, Docker y ajustes de dificultad
Resumen
Windrose ofrece un servidor dedicado gratuito y bien equipado para mantener a tu tripulación unida durante el periodo de calma antes de Ashlands. Entre la instalación con SteamCMD, Docker en Linux y los ajustes de dificultad, aquí te explicamos cómo transformar tu mundo en una instancia persistente que funciona 24/7.
Windrose atraviesa su primer verdadero bache. El último parche, la versión 0.10.0.8, se remonta al 8 de julio de 2026 y se resumía en tres líneas: proyectiles que atravesaban los cascos a larga distancia, una localización japonesa mejorada, y un bug conocido en las bordadas de proa. En cuanto a Ashlands, la primera gran actualización de contenido, Kraken Express avisó ya el 28 de abril de que requeriría «al menos seis meses» de trabajo, y el diario de desarrollo del 1 de julio todavía no ha anunciado ninguna fecha de salida.
Dicho de otro modo: de aquí al otoño, lo que hará que tu partida dure será tu tripulación. Y la forma más fiable de mantener a un grupo unido en un survival que ha superado los dos millones de copias vendidas es un servidor dedicado: un mundo que funciona de manera permanente, donde cada uno se conecta cuando quiere, sin depender de la disponibilidad del anfitrión. La herramienta es gratuita, ya viene incluida con el juego, y desde el parche 0.10.0.7 del 25 de junio también funciona en Linux gracias a una imagen Docker oficial.
Un aviso de vocabulario antes de empezar: el cliente de Windrose está traducido al español (interfaz y subtítulos), pero toda la parte del servidor sigue en inglés. Las claves de los archivos de configuración, el manual DedicatedServer.md incluido con la herramienta y la documentación en línea no tienen versión en español: los nombres de campos citados a continuación deben escribirse exactamente tal cual.
Conseguir el servidor: tres vías, y un error clásico
El servidor dedicado de Windrose es un ejecutable independiente, gratuito, que no exige poseer el juego en la máquina anfitriona. Tres formas de obtenerlo, todas equivalentes:
- Desde los archivos del juego: abre la carpeta de instalación, luego R5\Builds. La subcarpeta WindroseServer (o WindowsServer en Epic Games Store y Stove) es el servidor.
- Desde la herramienta de Steam: en tu biblioteca, cambia el filtro de categoría a «Herramientas», busca Windrose Dedicated Server e instálalo como si fuera un juego. Es la vía más sencilla de mantener actualizada.
- Mediante SteamCMD: el método recomendado para una máquina sin interfaz gráfica, un servidor remoto o una automatización.
El error que todo el mundo comete la primera vez: lanzar el servidor desde la carpeta del juego. No funcionará. La carpeta presente en la instalación cumple una función interna del lado del cliente, y el cliente cortará el proceso en cuanto lo vea funcionando. Cópiala primero a otro sitio del disco, en cualquier lugar fuera del árbol de carpetas del juego, y trabaja sobre esa copia.
Para SteamCMD, el identificador de aplicación del servidor es 4129620 (el juego, por su parte, lleva el 3041230). La secuencia se resume en cuatro comandos:
- force_install_dir "C:\Game_Servers\Windrose_Server"
- login anonymous
- app_update 4129620 validate
- quit
La conexión anónima basta: no se requiere ninguna licencia para instalar el servidor. Para actualizarlo más adelante, basta con volver a ejecutar app_update 4129620 validate, que solo vuelve a descargar los archivos modificados.
Primer arranque y código de invitación
Dos ejecutables conviven en la carpeta. StartServerForeground.bat abre una consola donde desfilan los registros: es el lanzamiento a preferir, aunque solo sea para diagnosticar un fallo, y cerrar la ventana detiene el servidor. WindroseServer.exe lanza el proceso en segundo plano, sin retorno visual, y habrá que pasar por el administrador de tareas para detenerlo.
Al primer arranque, el servidor genera él mismo sus archivos de configuración y muestra en la consola un código de invitación de ocho caracteres, del tipo f1014dc1. Si la línea ha pasado demasiado rápido, se puede encontrar en R5\ServerDescription.json. Solo queda pegarlo en la pantalla de conexión a un servidor del cliente, y luego transmitirlo a tu tripulación.

ServerDescription.json: los campos que realmente importan
Este archivo único, en la raíz de la aplicación, controla el servidor en sí. Regla absoluta: modifícalo solo con el servidor apagado, de lo contrario tus valores serán sobrescritos.
| Campo | Función |
|---|---|
| InviteCode | Seis caracteres como mínimo, solo números y letras, sensible a mayúsculas y minúsculas. |
| IsPasswordProtected / Password | Deben mantenerse coherentes: true con una contraseña, false con un campo vacío. De lo contrario, se producen comportamientos erráticos. |
| WorldIslandId | Identificador del mundo cargado al arrancar. El campo a modificar para alternar entre varios mundos. |
| MaxPlayerCount | Jugadores simultáneos permitidos. Valor por defecto: 4. |
| UserSelectedRegion | SEA, CIS o EU (que cubre Europa y Norteamérica). Si está vacío, el servidor elige según la latencia. |
| UseDirectConnection | false: protocolo ICE y servicios de conectividad del editor. true: el servidor abre sus propios sockets. |
| DirectConnectionServerPort | Puerto de la conexión directa, 7777 por defecto, que hay que liberar en TCP y en UDP. |
| AutoLoadLatestBackupIfHasBroken | Dejar en true: restauración automática desde una copia sana si un archivo está corrupto. |
| CanLaunchMultipleServerInstances | Dejar en false. Dos instancias sobre la misma base de datos significan corrupción asegurada. |
Dos campos nunca deben tocarse: PersistentServerId, identificador único de la instancia, y DirectConnectionServerAddress, reservado para un uso futuro.
IP directa: cuándo y cómo
Por defecto, Windrose se apoya en sus propios servidores de conectividad y asigna los puertos dinámicamente, mediante traversía de NAT, lo que supone un router con UPnP activo. Esta vía falla en dos casos: un proveedor de acceso que filtra los servicios del juego, o un alojamiento autogestionado detrás de un router poco cooperativo. La conexión por IP directa, añadida a mediados de abril, sirve como solución de respaldo. En red local, no requiere ni IP pública ni redirección de puertos: el anfitrión comunica su dirección local y su puerto, por ejemplo 192.168.1.100:7777.
En Internet, se necesita una IP pública —algunos proveedores la cobran como opción— y una redirección en TCP y en UDP del router hacia la máquina anfitriona, por ejemplo 203.0.113.25:17777 hacia 192.168.1.100:7777. Atención, con IP directa los códigos de invitación ya no funcionan, y un error de contraseña o una diferencia de versión devuelve al menú principal sin el menor mensaje. Si nada funciona: comprueba la dirección de la máquina con ipconfig, abandona el puerto 7777 por un puerto más alto y menos solicitado (17777, 27890, cualquier puerto libre por debajo de 65000), desactiva temporalmente el cortafuegos y el antivirus, y espera a que el servidor haya terminado de arrancar antes del primer intento.
Linux y Docker: la vía oficial desde el 25 de junio
Este es el punto que la documentación en línea aún no ha incorporado: actualizada el 18 de mayo, su preguntas frecuentes sigue respondiendo «solo Windows» respecto al soporte de Linux. El parche 0.10.0.7, publicado el 25 de junio de 2026, sin embargo, añadió imágenes Docker con soporte para un servidor Linux, con las instrucciones incluidas en el archivo DedicatedServer.md entregado en la raíz del servidor. La imagen pública windroseserver/windroseserver fue además actualizada el 8 de julio, en línea con la versión 0.10.0.8.
El principio: obtener la imagen con docker pull windroseserver/windroseserver:latest, crear en el host una carpeta destinada a las copias de seguridad, colocar en ella un ServerDescription.json preparado, y luego lanzar el contenedor bajo el usuario ue_user con el puerto 7777 expuesto en TCP y UDP, con la carpeta Saved y el archivo de configuración montados como volúmenes. Dos valores son obligatorios en el archivo: UseDirectConnection en true y DirectConnectionServerPort en 7777. Por lo tanto, no se accede al contenedor mediante código de invitación sino por IP directa, en la dirección asignada al contenedor (127.0.0.1:7777 para una prueba local). Si la ruta de su carpeta de copias de seguridad contiene espacios, enciérrela entre comillas en el comando.
En cuanto al dimensionamiento, el editor publica recomendaciones sobrias: 8 GB de memoria RAM y 35 GB de SSD para dos jugadores, 12 GB para cuatro, 16 GB para diez, en dos núcleos a 3,2 GHz. Si aloja y juega en la misma máquina, cuente con 24 GB en total, es decir 16 para el cliente y 8 más para el servidor.
Ajustar la dificultad: las cifras reales de los tres preajustes
Este es el interés más subestimado del servidor dedicado. Cada mundo posee su propio WorldDescription.json, guardado en R5/Saved/SaveProfiles/Default/RocksDB_v2/<versión>/Worlds/<identificador del mundo>/, y este archivo expone claramente lo que abarcan los preajustes propuestos al crear una partida.
| Parámetro | Easy | Medium | Hard |
|---|---|---|---|
| MobHealthMultiplier | 0,7 | 1,0 | 1,5 |
| MobDamageMultiplier | 0,6 | 1,0 | 1,25 |
| ShipsHealthMultiplier | 0,7 | 1,0 | 1,5 |
| ShipsDamageMultiplier | 0,6 | 1,0 | 1,25 |
| BoardingDifficultyMultiplier | 0,7 | 1,0 | 1,5 |
| CombatDifficulty | Easy | Normal | Hard |
Dos enseñanzas. Primero, la diferencia entre Medium y Hard es asimétrica: los enemigos aguantan un 50 % más pero solo golpean un 25 % más fuerte. Pasar a difícil alarga por tanto sobre todo los combates en lugar de hacerlos más punitivos. Si busca tensión en lugar de desgaste, suba MobDamageMultiplier a 1,5 o 1,75 dejando la vida en 1,0 — el rango permitido va de 0,2 a 5,0 para estos dos multiplicadores. Segundo, BoardingDifficultyMultiplier no afecta ni al daño ni a la vida: fija el número de marineros enemigos que hay que abatir para ganar un abordaje. Es la palanca que hay que bajar si sus abordajes le parecen largos sin ser difíciles.
Los dos parámetros más interesantes son los del escalado en cooperativo. Coop.StatsCorrectionModifier, en 1,0 por defecto, ajusta la vida de los enemigos y la velocidad a la que pierden su postura en función del número de jugadores conectados. Pero Coop.ShipStatsCorrectionModifier, por su parte, vale 0,0 por defecto: los navíos enemigos no se refuerzan absolutamente nada cuando su tripulación crece. Esta es la explicación mecánica de la sensación de que el combate naval se derrumba con tres o cuatro jugadores, mientras que los enfrentamientos a pie siguen siendo manejables. Subirlo entre 0,5 y 1,0 reequilibra el mar sin tocar la tierra firme.
Último ajuste que hay que conocer: EasyExplore. Su nombre es engañoso, es una denominación heredada de versiones antiguas. Al pasarlo a true, desactiva los marcadores de mapa que señalan los lugares de interés y hace, por tanto, la exploración más exigente. El juego lo muestra bajo el nombre de exploración inmersiva.

Modificar este archivo no basta: después hay que validar los cambios. Con el servidor apagado, se abre una consola de comandos en la raíz del servidor y se ejecuta R5WorldDescriptionUpdater.exe pasándole la ruta completa del WorldDescription.json en cuestión. Sin este paso, sus valores no se tendrán en cuenta al reiniciar.
Migrar una partida en solitario al servidor
Nada obliga a partir de cero. Con todo apagado y previamente guardado, la transferencia se resume en cuatro gestos.
- Localice su mundo en %localappdata%\R5\Saved\SaveProfiles\<su perfil>\. Según si la migración de formato ha tenido lugar o no, está en RocksDB (formato antiguo, anterior a la versión 0.10.0.5.120) o en RocksDB_v2_Backups. La carpeta RocksDB_v2, por su parte, se usa para el funcionamiento en ejecución: no se toca.
- Copie la totalidad de la carpeta que lleva el identificador del mundo.
- Péguela en la carpeta Worlds del servidor, bajo R5\Saved\SaveProfiles\Default\, en la subcarpeta correspondiente a la versión del juego.
- Indique WorldIslandId, en ServerDescription.json, con el nombre exacto de la carpeta copiada.
No renombre nunca una carpeta de mundo: la base de datos se apoya en estos identificadores. Y si Steam le propone elegir entre la copia de seguridad local y la copia de seguridad en la nube, elija siempre la local: la nube de Steam ha provocado varias oleadas de copias de seguridad corruptas desde el lanzamiento, hasta el punto de que el estudio ha tenido que añadir un sistema de copias de respaldo automáticas.
La trampa número uno: el desajuste de versión
Kraken Express insiste en este punto más que en cualquier otro, y con razón: la versión del servidor debe corresponder exactamente a la del cliente. Un desajuste no siempre se traduce en un rechazo claro de la conexión; también produce fallos difusos, difíciles de relacionar con su causa. El reflejo que hay que adoptar después de cada parche, por menor que sea, es volver a ejecutar app_update 4129620 validate o recuperar la carpeta del servidor en la nueva instalación, y luego colocar el contenido del antiguo R5\Saved en el nuevo.
Con un ritmo de parches que se ha vuelto lento —solo tres entre el 18 de mayo y el 8 de julio—, el mantenimiento sigue siendo ligero. Es incluso el argumento decisivo a favor del servidor dedicado en este momento: montado correctamente una vez, aguantará sin intervención hasta Ashlands, y un mundo compartido que vive de forma continua sigue siendo la mejor razón para reabrir Windrose durante los meses de espera. Aprovechad para endurecer la dificultad y corregir el desequilibrio naval del cooperativo: es contenido nuevo sin esperar una sola línea de nota de parche.
Compartir este artículo
¿Cómo alojas tu servidor de Windrose?
Preguntas frecuentes
¿Realmente hay que poseer Windrose para lanzar un servidor dedicado?
¿Por qué mi servidor se cierra cuando lo lanzo desde la carpeta del juego?
¿Qué ID de aplicación hay que usar en SteamCMD?
¿Cómo funciona en Linux, en la práctica?
¿La conexión directa por IP es realmente mejor que los códigos de invitación?
Lo esencial
- El servidor dedicado es gratuito, independiente y no requiere poseer Windrose en la máquina anfitriona.
- Nunca lances el servidor desde la carpeta del juego: cópialo antes a otro lugar, o el cliente lo cerrará de inmediato.
- ServerDescription.json es tu centro de control absoluto: modifícalo siempre con el servidor apagado, o tus cambios se sobrescribirán.
- La conexión directa por IP salva la situación cuando el NAT/UPnP da problemas, pero elimina los códigos de invitación.
- Docker funciona oficialmente desde el parche 0.10.0.7, con una imagen actualizada en cada actualización mayor.
Comentarios
Aún no hay comentarios. ¡Sé el primero en opinar!
Deja un comentario
Guías similares
Últimos artículos
Valora Windrose
Haz clic en una estrella para valorar
Android
iOS
Mac
Meta Quest 3
Nintendo Switch
Nintendo Switch 2
PC
PlayStation 4
PlayStation 5
PS VR2
Steam Deck
SteamVR
Xbox One
Xbox Series