⚠️ Unofficial community project. Not affiliated with or endorsed by Klei Entertainment.
Este repositorio contiene una configuración optimizada y lista para usar de un servidor dedicado de Don't Starve Together utilizando Docker. Está diseñado para ser idempotente (siempre funciona igual) y portable entre Windows y Linux (CachyOS).
- Multi-shard: Master y Caves funcionando en contenedores separados.
- Binarios compartidos: Usa un volumen compartido para no descargar el juego dos veces.
- Auto-Update: Descarga y actualiza el juego y los mods automáticamente al arrancar.
- Optimizado: Configurado para 8-16 jugadores con 8GB de RAM recomendados.
- Dependencias Completas: Incluye todas las librerías x64 y x86 necesarias para evitar fallos.
- Docker y Docker Compose: Instalados en tu sistema.
- Cluster Token: Necesitas un token de Klei para que el servidor sea visible.
- Ve a Klei Account.
- Crea un token y guárdalo.
- Puertos Abiertos (Router):
10999 UDP(Master)11000 UDP(Caves)10888 UDP(Comunicación interna)27016 UDP(Steam 1)27017 UDP(Steam 2)8766 UDP(Steam Auth 1)8767 UDP(Steam Auth 2)
Para que el servidor mantenga el mismo progreso en ambos sistemas, lo ideal es tener este repositorio en un disco secundario accesible por ambos (ej. una partición NTFS o ExFAT).
- Clona este repositorio en tu disco compartido.
- Crea un archivo
.enven la raíz del proyecto basado en.env.example:CLUSTER_TOKEN=TU_TOKEN_DE_KLEI_AQUI CLUSTER_NAME=Mi Servidor DST CLUSTER_PASSWORD=tu_password_aqui
Independientemente de si estás en Windows (PowerShell/CMD) o Linux (Terminal), el comando es el mismo:
docker-compose up -d- La primera vez tardará unos minutos en descargar los ~3GB del servidor.
- Para ver el progreso:
docker-compose logs -f
docker-compose stopSimplemente reinicia los contenedores. El script docker-entrypoint.sh comprobará si hay actualizaciones en Steam:
docker-compose restartPuedes cambiar el nombre y la contraseña del servidor de dos formas:
Es la forma más sencilla. Solo tienes que editar el archivo .env en la raíz del proyecto:
CLUSTER_NAME=El nuevo nombre de mi servidor
CLUSTER_PASSWORD=una_contraseña_seguraAl reiniciar el servidor, estos valores se aplicarán automáticamente.
Si prefieres editar los archivos directamente, puedes hacerlo en:
dst-data/DoNotStarveTogether/Cluster_1/cluster.ini
Busca estas líneas bajo la sección [NETWORK]:
cluster_name = La chica de la Boina
cluster_password = LaChicaDeLaBoinaNota: Si has configurado variables en el .env, estas sobrescribirán lo que pongas manualmente en el cluster.ini cada vez que el servidor arranque.
Edita los archivos en dst-data/DoNotStarveTogether/Cluster_1/:
cluster.ini: Otros ajustes como número de jugadores (max_players) o modo de juego (game_mode).Master/worldgenoverride.lua: Configuración del mapa de la superficie.Caves/worldgenoverride.lua: Configuración del mapa de las cuevas.
Para añadir o quitar mods, debes seguir dos pasos:
- Descarga (Setup): Edita el archivo
dedicated_server_mods_setup.luaen la raíz y añade una línea por cada mod:ServerModSetup("ID_DEL_MOD")
- Activación y Configuración: Edita
dst-data/DoNotStarveTogether/Cluster_1/modoverrides.luapara activar el mod y configurar sus opciones:Nota: Si quitas un mod, asegúrate de eliminarlo de ambos archivos.["workshop-ID_DEL_MOD"] = { enabled = true, configuration_options = { ... } }
Si notas que el servidor necesita más (o menos) memoria, puedes ajustarlo en el archivo docker-compose.yml:
- Busca la sección
deploy: resources: limits: memoryparadst-masterydst-caves. - Cambia el valor (ej.
4Ga2Go8Gsegún tu necesidad). - Reinicia el servidor para aplicar los cambios:
docker-compose up -d.
- Idempotencia: El servidor usa volúmenes de Docker (
dst-biny./dst-data). Si borras los contenedores, el progreso y los binarios persisten. - Memoria: Se han asignado límites de 4GB por contenedor (8GB en total). Puedes ajustarlos en
docker-compose.ymlsi lo necesitas. - Propiedad de Archivos: En Linux, Docker puede cambiar los permisos de
dst-data. El script de inicio intenta manejar esto, pero asegúrate de que tu usuario tenga acceso a la partición compartida.