Skip to content

Docker orientado al despliegue y gestión de servidores competitivos de Left 4 Dead 2

License

Notifications You must be signed in to change notification settings

AoC-Gamers/Docker-L4D2-Competitive

Repository files navigation

Docker-L4D2-Competitive

📚 Documentación Completa

Documento Descripción Para quién
🚀 Inicio Rápido Instalación y primeros pasos Nuevos usuarios
⚙️ Configuración Avanzada Variables, workshop, múltiples servidores Usuarios experimentados
🔄 L4D2Updater Sistema de actualizaciones automáticas Administradores
📜 Scripts Referencia completa de todos los scripts Administradores
🔧 API Reference Funciones y APIs técnicas Integradores

Contenedor Docker para servidores competitivos de Left 4 Dead 2 con configuración automática, gestión de workshop, clonación de servidores y scripts de post-procesamiento Git.

🚀 Inicio Rápido

# 1. Clonar el repositorio
git clone https://github.com/AoC-Gamers/Docker-L4D2-Competitive.git
cd Docker-L4D2-Competitive

# 2. Configurar variables básicas (SEGURO)
cp example.env .env
nano .env  # Editar LGSM_PASSWORD, SSH_PORT, STEAM_USER, etc.
chmod 600 .env  # Permisos restrictivos para seguridad

# 3. Iniciar el contenedor
docker-compose up -d

# 4. Acceder por SSH (opcional)
ssh linuxgsm@localhost -p 2222

⚠️ Volumen Obligatorio: El volumen comp_data:/data es crítico para persistir configuraciones, mapas y datos del servidor.

✨ Características Principales

  • � 3 Métodos de Instalación: Steam oficial, workaround automático, o manual
  • �🔧 Configuración Automática: Instalación y configuración completa del servidor L4D2
  • 🚀 L4D2Updater: Sistema de actualizaciones automáticas usando mecanismo nativo de Valve
  • 🎮 Servidores Múltiples: Clonación automática de instancias L4D2 independientes
  • 📦 Steam Workshop: Descarga automática de colecciones y artículos (con procesamiento por lotes)
  • 🗺️ Gestión de Mapas: Descarga desde L4D2Center con verificación MD5
  • 🌿 Ramas Dinámicas: Sistema BRANCH_* para usar diferentes versiones por entorno
  • 🔗 Enlaces Simbólicos: Actualizaciones automáticas de scripts vía symlink.sh
  • 📊 Menú Interactivo: Control centralizado de todos los servidores
  • 🔒 Seguridad: Gestión segura de credenciales con limpieza automática

🏗️ Arquitectura del Sistema

Directorios Clave

  • /app/ (No persistente): Scripts actualizables con nuevas versiones
  • /data/ (Persistente): Gameserver, configuraciones, logs y datos de usuario
  • Enlaces simbólicos: Conectan /app con /data para coherencia automática

Flujo de Trabajo

graph LR
    A[Docker Compose] --> B[Entrypoint]
    B --> C[Configuración SSH]
    C --> D[Instalación L4D2]
    D --> E[L4D2Updater]
    E --> F[Install Gameserver]
    F --> G[Workshop/Mapas]
    G --> H[Servidores Listos]
Loading

📊 Variables de Entorno Principales

Variable Descripción Ejemplo
LGSM_PASSWORD Contraseña SSH (obligatorio) mi_password_seguro
SSH_PORT Puerto SSH del contenedor 2222
STEAM_USER Usuario Steam (instalación oficial) mi_usuario_steam
STEAM_PASSWD Contraseña Steam (limpieza automática) mi_contraseña
L4D2_NO_INSTALL Evitar instalación automática false
L4D2_NO_UPDATER Deshabilitar L4D2Updater false
BRANCH_SIR Rama del repo L4D2-Competitive-Rework development
GIT_FORCE_DOWNLOAD Forzar descarga de repositorios false

Ver configuración completa para todas las opciones.

🎯 Casos de Uso

Instalación con Steam (Recomendado)

# .env
STEAM_USER=mi_usuario_steam
STEAM_PASSWD=mi_contraseña_steam
LGSM_PASSWORD=mi_password_seguro

Desarrollo

environment:
  - BRANCH_SIR=development
  - GIT_FORCE_DOWNLOAD=true
  - L4D2_NO_AUTOSTART=true

Producción

environment:
  - LGSM_PASSWORD=${LGSM_PASSWORD}
  - SSH_KEY=${SSH_KEY}
  # Sin BRANCH_* = usa ramas estables

📚 Documentación Completa

Documento Descripción Para quién
🚀 Inicio Rápido Instalación y primeros pasos Nuevos usuarios
⚙️ Configuración Avanzada Variables, workshop, múltiples servidores Usuarios experimentados
📜 Scripts Referencia completa de todos los scripts Administradores
� Diagramas de Flujo Flujos visuales de instalación Desarrolladores
🔧 API Reference Funciones y APIs técnicas Integradores
🐛 Troubleshooting Solución de problemas Todos
👨‍💻 Desarrollo Contribuir al proyecto Contribuidores

🔐 Seguridad

  • Cambiar LGSM_PASSWORD por defecto
  • Configurar claves SSH para acceso remoto seguro
  • Revisar configuración de puertos según entorno

🤝 Soporte

🙏 Agradecimientos

📜 Licencia

Distribuido bajo la Licencia MIT. Ver LICENSE para más información.


¿Nuevo en el proyecto?Guía de Inicio Rápido
¿Necesitas ayuda?Documentación Completa
¿Quieres contribuir?Issues & Pull Requests

About

Docker orientado al despliegue y gestión de servidores competitivos de Left 4 Dead 2

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages