Guía para crear un servidor de How to Fish
How to Fish es un juego cooperativo de supervivencia y pesca de Dazed Games, lanzado el 20 de agosto de 2026 en Steam (App ID 4001890) para hasta 8 jugadores. El juego no incluye servidores dedicados: un jugador aloja el mundo en su propio PC y, cuando se desconecta, la isla se desconecta también. Un servidor dedicado de How to Fish ejecuta el mundo 24/7 en su propia máquina a través de Driftwood, un lanzador y framework de servidor gratuito y de código abierto (MIT) creado para este juego.
Esta guía cubre tanto alquilar un servidor de How to Fish como alojar el tuyo propio.
Referencia rápida
| Objeto | Valor |
|---|---|
| Máximo de jugadores | 8 por servidor |
| App ID de Steam del juego | 4001890. No hay una app de servidor aparte: el servidor ejecuta tu propia copia del juego |
| Framework del servidor | DriftwoodServer, gratuito y de código abierto (MIT) |
| Cómo se unen los jugadores | A través de la app Driftwood gratuita. Todos los jugadores la instalan, no solo el host. El juego no tiene navegador de servidores ni campo de dirección propio |
| Puertos | Un puerto UDP para el juego, más el puerto TCP inmediatamente superior para estado y administración (por ejemplo 22003 UDP y 22004 TCP) |
| Sistema operativo (servidor) | Windows de 64 bits (10, 11 o Server) |
| Archivo de configuración | appsettings.json
|
| Copia del juego para el servidor | Obligatorio. El servidor ejecuta los archivos propios del juego, y cada jugador, incluido el host, necesita su propia copia del juego en Steam |
Por qué un servidor dedicado
Normalmente, How to Fish aloja el mundo en el PC de un jugador mediante peer-to-peer de Steam. Eso significa que la isla solo existe mientras ese jugador está conectado, que el ping de todos depende de su conexión doméstica y que el mundo se cierra en cuanto sale. Un servidor dedicado mantiene la isla, el dinero, las mejoras del barco y el progreso de los jefes en una máquina que nunca se desconecta, así que uno puede pescar a mediodía y otro a medianoche en el mismo mundo.
Driftwood es el primer servidor dedicado que ha tenido este juego. Es de código abierto, así que puedes leer exactamente qué se ejecuta en el host.
Opción n.º 1: Alquilar un servidor de How to Fish
Alquilar con un proveedor de servidores de juego es la forma más rápida de estar en línea. El proveedor se encarga del hardware, la red, la protección anti-DDoS y las actualizaciones del juego, y el mundo permanece en línea las 24 horas.
Alquila un servidor de How to Fish en Survival Servers
Tras el pago, el panel muestra la dirección de tu servidor y tu pase de Driftwood. Envía la dirección a tus amigos: cada uno instala la app Driftwood, añade la dirección y se conecta. El nombre del mundo, el fuego amigo y las copias de seguridad automáticas están todos en el panel.
Opción n.º 2: Alojar tu propio servidor dedicado
La parte del servidor es gratuita y de código abierto. Necesitas:
- Una máquina con Windows de 64 bits (10, 11 o Server) que permanezca encendida. El servidor funciona mientras ese PC esté encendido
- Tu propia copia de How to Fish en Steam, instalada. El servidor ejecuta los archivos del juego y el paquete del servidor no incluye ninguno de ellos
- Git y el SDK de .NET 8, ambos gratuitos, usados una sola vez para compilar el supervisor
- Un puerto UDP más el puerto TCP inmediatamente superior, redirigidos a esa máquina
Paso 1: Prepara la estructura de directorios
C:\Driftwood\my-server\ How to Fish\ your copy of the game's files Saves\ the world lives here host-state\ status, logs, the stop file Backups\ bin\ the supervisor appsettings.json
El mundo, los registros y el estado viven fuera de la carpeta del juego a propósito, para que nada que reemplace archivos del juego, como una actualización o una reinstalación, pueda tocar tu mundo. (appsettings.json se crea en el Paso 5.)
Paso 2: Copia tu juego
Copia la carpeta del juego instalado, por defecto C:\Program Files (x86)\Steam\steamapps\common\How to Fish, a C:\Driftwood\my-server\How to Fish.
Cópialo, nunca apuntes el servidor directamente a la instalación de Steam. Steam actualiza el original cuando quiere, y un servidor debe recibir una actualización del juego cuando tú lo decidas, no por accidente.
Opcional: copia también steamapps\appmanifest_4001890.acf desde tu biblioteca de Steam a C:\Driftwood\my-server\steamapps\. La comprobación de la build del Paso 6 leerá entonces también el propio registro de instalación de Steam.
Paso 3: Instala el overlay del servidor
Descarga DriftwoodServer-<version>.zip desde la última versión y extráelo en una ubicación temporal, no en la carpeta del juego. Todo lo que hay en el zip está anidado dentro de DriftwoodServer\bepinex\. Si lo extraes directamente en la carpeta del juego, no se carga nada: el juego arranca en vanilla, en silencio, sin ningún error en ninguna parte. Es, con diferencia, el error más habitual al autoalojar.
Copia las piezas desde donde las extrajiste:
$overlay = "C:\Driftwood\overlay\DriftwoodServer\bepinex" # wherever you extracted it $game = "C:\Driftwood\my-server\How to Fish" Copy-Item "$overlay\winhttp.dll" $game Copy-Item "$overlay\doorstop_config.ini" $game Copy-Item "$overlay\BepInEx" $game -Recurse -Force
Listo cuando winhttp.dll y doorstop_config.ini están junto a How to Fish.exe y existe BepInEx\plugins\DriftwoodHost.dll.
Paso 4: Compila el supervisor
El supervisor es el programa que inicia el servidor, lo vigila y hace las copias de seguridad. El zip de la versión publicada no lo incluye; compílalo desde el repositorio con dos comandos:
git clone https://github.com/HumanGenome/DriftwoodServer.git dotnet publish DriftwoodServer/src/DriftwoodServer/DriftwoodServer.csproj -c Release -o C:\Driftwood\my-server\bin
Paso 5: Configura tu servidor
Copia appsettings.example.json desde la carpeta que acabas de clonar a C:\Driftwood\my-server\appsettings.json, ábrelo en cualquier editor de texto y configura:
- cada ruta de tu estructura de directorios del Paso 1 (
instanceIdes cualquier nombre corto, por ejemplomy-server) steamAppsDirectory: tu copia desteamappsdel Paso 2, o""si te lo saltasteserverName: lo que ven los jugadores en la app DriftwoodauthToken: la contraseña de administrador para la consola y las copias de seguridad de este servidor en la app Driftwood. Establece una; sin ella, todas las rutas de administración rechazan la peticióngamePort: el puerto UDP al que se conectan los jugadores.httpPortse queda en0: la API de estado y administración toma entonces por sí sola el puerto inmediatamente superior agamePort
No toques worldName una vez que el servidor se haya ejecutado. Si lo renombras más tarde, se inicia un mundo nuevo con el nombre nuevo; el mundo antiguo se queda en Saves\ con el nombre antiguo.
Paso 6: Fija la build del juego
El servidor se niega a arrancar hasta que fijes la build del juego que copiaste. Eso es lo que evita que una actualización de Steam rompa tu servidor sin avisar. Pon pinnedBuild.assemblySha256 en 64 ceros y luego pídele a la instalación sus valores reales:
C:\Driftwood\my-server\bin\DriftwoodServer.exe --verify-build C:\Driftwood\my-server\appsettings.json
Imprime BUILD_PIN_FAILED junto con los valores reales:
assemblySha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 steamBuildId=19842631
Pega ambos en pinnedBuild (buildId se queda en "" si te saltaste la copia de steamapps), ejecútalo de nuevo y espera ver BUILD_PIN_OK.
Cuando Steam actualice el juego: actualiza tu copia de Steam, vuelve a copiar la carpeta del juego, vuelve a ejecutar --verify-build y pega los valores nuevos. Si la actualización movió algo de lo que depende el servidor, este indica qué se movió y se niega a alojar en un estado roto; espera a la siguiente versión del paquete del servidor.
Paso 7: Abre los puertos e inicia
Permite ambos puertos en el Firewall de Windows, usando tu gamePort y el puerto inmediatamente superior:
New-NetFirewallRule -DisplayName "Driftwood game" -Direction Inbound -Protocol UDP -LocalPort 22003 -Action Allow New-NetFirewallRule -DisplayName "Driftwood api" -Direction Inbound -Protocol TCP -LocalPort 22004 -Action Allow
Si alojas desde casa, redirige también ambos puertos en tu router, UDP y TCP respectivamente.
Después, inicia el servidor:
C:\Driftwood\my-server\bin\DriftwoodServer.exe --config C:\Driftwood\my-server\appsettings.json
Dos líneas significan que ha funcionado. Primero BUILD_PIN_OK y luego, cuando el mundo se cargue (dale unos minutos a un mundo nuevo):
DRIFTWOOD_HOSTING port=22003 slots=8 world=Driftwood pid=4242
Paso 8: Detén, haz una copia de seguridad y mantenlo en marcha
- Detener:
Ctrl+Cen la consola, o crea un archivo llamadostop.requestedenhost-state\. En ambos casos el mundo se guarda antes de que el proceso termine - Copia de seguridad, mientras se ejecuta:
DriftwoodServer.exe --snapshot appsettings.jsonguarda el mundo y lo comprime en un zip dentro deBackups\ - ¿No arranca? Lee
host-state\host-ready.json.reasones una sola frase en texto claro, y las más comunes están explicadas en la guía de operaciones del repositorio. La salida propia del juego está enhost-state\unity.log - Sobrevivir a los reinicios: una tarea del Programador de tareas, configurada para ejecutarse al arrancar, que lance el comando de inicio del Paso 7
- Más servidores en la misma máquina: repite desde el Paso 1 en un segundo directorio con sus propios puertos, separados de diez en diez (22013, 22023 y así sucesivamente)
La guía completa de autoalojamiento está en el README del repositorio: github.com/HumanGenome/DriftwoodServer.
Unirse a tu servidor
Unirse funciona igual tanto si el servidor es alquilado como si es autoalojado, y esta es la parte que lo diferencia de la mayoría de los juegos:
- Cada jugador instala la app Driftwood gratuita en su PC
- Cada jugador posee e instala How to Fish en Steam como de costumbre
- En Driftwood, añade la dirección del servidor (por ejemplo
203.0.113.10:22003) y haz clic en Connect - Driftwood inicia la copia propia del juego de ese jugador directamente en el servidor
El juego en sí no tiene navegador de servidores ni campo de dirección, así que la app Driftwood es la forma en que entra cualquiera, incluido el host. Tu copia de How to Fish se compra, se inicia y se actualiza a través de Steam exactamente como siempre; Driftwood no reemplaza nada y no incluye ninguna parte del juego.
Preguntas frecuentes
¿Todos los jugadores tienen que comprar el juego? Sí. Cada jugador necesita su propia copia de How to Fish en Steam, el host incluido. Driftwood es gratuito, pero no incluye ninguna parte del juego.
¿Todos los jugadores necesitan Driftwood o solo el host? Todos los jugadores. El juego no tiene navegador de servidores, así que la app Driftwood es la única forma de entrar en un servidor dedicado.
¿Pueden unirse las consolas? How to Fish es un juego de PC en Steam. No hay versiones de consola desde las que unirse.
¿El mundo sigue funcionando cuando todos se desconectan? Sí. Esa es la idea de un servidor dedicado: el mundo y su progreso viven en el servidor y se siguen guardando, haya alguien conectado o no.
¿Por qué mi servidor autoalojado arranca el juego vanilla sin ningún error? El zip del overlay anida todo dentro de DriftwoodServer\bepinex\. Si extrajiste el zip directamente en la carpeta del juego, los archivos quedaron un nivel demasiado profundo y no se carga nada. Vuelve a colocarlos como se muestra en el Paso 3.
¿Por qué el servidor se niega a arrancar después de una actualización del juego? La build fijada está haciendo su trabajo. Vuelve a copiar la carpeta del juego actualizada, vuelve a ejecutar --verify-build y vuelve a fijarla como en el Paso 6.
