Skip to content

Kyoncron/7DaystoEquinox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

7 Days to Die - Servidor Docker

7 Days to Die Docker Linux

📋 Descripción

Este proyecto proporciona un servidor dockerizado para 7 Days to Die con configuración automática mediante variables de entorno. Permite levantar y administrar un servidor dedicado del juego de forma sencilla y portable.

El servidor utiliza SteamCMD para descargar y actualizar automáticamente los archivos del juego, y ofrece configuración completa a través de variables de entorno sin necesidad de editar archivos XML manualmente.


🚀 Características

  • ✅ Instalación automática del servidor mediante SteamCMD
  • ✅ Actualización automática opcional al iniciar
  • ✅ Configuración completa por variables de entorno
  • ✅ Soporte para Crossplay
  • ✅ Control de EAC (Easy Anti-Cheat)
  • ✅ Configuración de dificultad y semilla del mundo
  • ✅ Persistencia de datos mediante volúmenes
  • ✅ Reinicio automático del contenedor

📦 Requisitos Previos

  • Docker >= 20.10
  • Docker Compose >= 2.0
  • Al menos 8GB de RAM disponible
  • Aproximadamente 15GB de espacio en disco
  • Puertos disponibles para el servidor (por defecto: 26900 TCP, 26900-26903 UDP)

🛠️ Instalación y Configuración

1. Clonar el Repositorio

git clone https://github.com/Kyoncron/7DaystoEquinox.git
cd 7DaystoEquinox

2. Crear Archivo de Configuración

Copia el archivo de ejemplo y configúralo según tus necesidades:

cp .env.example .env
nano .env  # o usa tu editor preferido

3. Configurar Variables de Entorno

Edita el archivo .env con tus valores:

# ======================
# Global
# ======================
TZ=America/Mexico_City  # Tu zona horaria

# ======================
# Cuenta de Steam (opcional)
# ======================
STEAM_USER=tu_usuario_steam
STEAM_PASS=tu_contraseña_steam

# Validación y Actualización
UPDATE_ON_START=true           # Actualizar servidor al iniciar
VALIDATE_ON_UPDATE=true        # Validar archivos al actualizar

# ======================
# Configuración del Servidor
# ======================
SERVERNAME=Mi Servidor 7DTD
SERVERDESCR=Servidor survival con amigos
SERVERLANG=Spanish                    # English, Spanish, German, French, etc.
SIZEWORLD=8192                        # 4096, 6144, 8192, 10240
SERVERPASS=mipassword123              # Dejar vacío para servidor público
SERVERCROSSPLAY=true                  # true/false - Permitir crossplay PC-Consola
EAC=true                              # true/false - Easy Anti-Cheat
SEEDWORLD=MiSemillaPersonalizada      # Semilla para generación del mundo
DIFFICULTY=2                          # 0=Muy fácil, 1=Fácil, 2=Normal, 3=Difícil, 4=Muy difícil, 5=Insano
TELNET=false                          # true/false - Habilitar consola Telnet

# ======================
# Puertos
# ======================
TCP_PORT=26900                 # Puerto TCP principal
UDP_SINCE_PORT=26900          # Puerto UDP inicial
UDP_UNTIL_PORT=26903          # Puerto UDP final

# ======================
# Ruta de Volumen
# ======================
VOLUME_PATH=/ruta/a/tus/datos/7dtd    # Ruta absoluta donde se guardarán los datos

4. Crear Directorio de Datos

mkdir -p /ruta/a/tus/datos/7dtd

5. Levantar el Servidor

docker-compose up -d

📊 Variables de Entorno Detalladas

Variables Globales

Variable Descripción Valores Ejemplo Requerido
TZ Zona horaria del servidor America/Mexico_City, Europe/Madrid ⚠️ Opcional

Credenciales Steam

Variable Descripción Valores Ejemplo Requerido
STEAM_USER Usuario de Steam tu_usuario ❌ No (usa anonymous)
STEAM_PASS Contraseña de Steam tu_contraseña ❌ No

Nota: Las credenciales de Steam son opcionales. El servidor puede descargarse con login anónimo.

Actualización y Validación

Variable Descripción Valores Requerido
UPDATE_ON_START Actualizar servidor al iniciar true, false ✅ Sí
VALIDATE_ON_UPDATE Validar integridad de archivos true, false ✅ Sí

Configuración del Servidor

Variable Descripción Valores Requerido
SERVERNAME Nombre del servidor Texto libre ✅ Sí
SERVERDESCR Descripción del servidor Texto libre ✅ Sí
SERVERLANG Idioma del servidor Spanish, English, German, etc. ✅ Sí
SIZEWORLD Tamaño del mapa 4096, 6144, 8192, 10240 ✅ Sí
SERVERPASS Contraseña (vacío = público) Texto libre o vacío ✅ Sí
SERVERCROSSPLAY Habilitar crossplay true, false ✅ Sí
EAC Easy Anti-Cheat true, false ✅ Sí
SEEDWORLD Semilla de generación Texto libre ✅ Sí
DIFFICULTY Nivel de dificultad 0, 1, 2, 3, 4, 5 ✅ Sí
TELNET Habilitar consola Telnet true, false ⚠️ Opcional

Niveles de Dificultad

  • 0 - Scavenger (Recolector - Muy fácil)
  • 1 - Adventurer (Aventurero - Fácil)
  • 2 - Nomad (Nómada - Normal)
  • 3 - Warrior (Guerrero - Difícil)
  • 4 - Survivalist (Superviviente - Muy difícil)
  • 5 - Insane (Insano - Extremo)

Puertos

Variable Descripción Valores Ejemplo Requerido
TCP_PORT Puerto TCP principal 26900 ✅ Sí
UDP_SINCE_PORT Puerto UDP inicial 26900 ✅ Sí
UDP_UNTIL_PORT Puerto UDP final 26903 ✅ Sí

Almacenamiento

Variable Descripción Valores Ejemplo Requerido
VOLUME_PATH Ruta donde se guardarán los datos /home/user/7dtd-data ✅ Sí

🎮 Uso del Servidor

Ver Logs en Tiempo Real

docker-compose logs -f

Detener el Servidor

docker-compose down

Reiniciar el Servidor

docker-compose restart

Actualizar el Servidor

  1. Detén el contenedor:
docker-compose down
  1. Si tu instalacion es por primera vez asegúrate de que UPDATE_ON_START=true en tu .env Esto permitira tener los archivos base para el servidor. Si ya tienes una base puedes ponerlo en false.

  2. Inicia el contenedor:

docker-compose up -d

🔧 Resolución de Problemas

El servidor no inicia

  1. Verifica que todos los puertos estén disponibles:
sudo netstat -tulpn | grep -E "(26900|26901|26903)"
  1. Revisa los logs:
docker-compose logs --tail=100

El servidor se queda sin memoria

  • Asegúrate de tener al menos 8GB de RAM disponible
  • Reduce el tamaño del mundo (SIZEWORLD) si es necesario

📁 Estructura del Proyecto

7DaystoEquinox/
├── docker-compose.yml    # Configuración de Docker Compose
├── Dockerfile           # Imagen Docker del servidor
├── entrypoint.sh        # Script de inicio y configuración
├── .env.example         # Plantilla de variables de entorno
└── README.md           # Este archivo

📝 Licencia

Este proyecto es de código abierto. Siéntete libre de usarlo y modificarlo según tus necesidades.


⚠️ Disclaimer

Este proyecto no está afiliado oficialmente con The Fun Pimps o 7 Days to Die. Es un proyecto comunitario para facilitar el despliegue de servidores dedicados.


📞 Soporte

Si encuentras algún problema o tienes sugerencias, por favor abre un issue en GitHub.


¡Disfruta tu servidor de 7 Days to Die! 🧟‍♂️ The psy Congroo! 🧟‍♂️

About

Servidor de 7 Days to Die

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors