Guía para crear un servidor de How to Fish

De Survival Servers
Ir a la navegación Ir a la búsqueda

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.

Control panel.gif

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 (instanceId es cualquier nombre corto, por ejemplo my-server)
  • steamAppsDirectory: tu copia de steamapps del Paso 2, o "" si te lo saltaste
  • serverName: lo que ven los jugadores en la app Driftwood
  • authToken: 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ón
  • gamePort: el puerto UDP al que se conectan los jugadores. httpPort se queda en 0: la API de estado y administración toma entonces por sí sola el puerto inmediatamente superior a gamePort

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+C en la consola, o crea un archivo llamado stop.requested en host-state\. En ambos casos el mundo se guarda antes de que el proceso termine
  • Copia de seguridad, mientras se ejecuta: DriftwoodServer.exe --snapshot appsettings.json guarda el mundo y lo comprime en un zip dentro de Backups\
  • ¿No arranca? Lee host-state\host-ready.json. reason es 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á en host-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:

  1. Cada jugador instala la app Driftwood gratuita en su PC
  2. Cada jugador posee e instala How to Fish en Steam como de costumbre
  3. En Driftwood, añade la dirección del servidor (por ejemplo 203.0.113.10:22003) y haz clic en Connect
  4. 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.

Véase también