rathena-docker
Multi-stage Docker build para rAthena — emulador de Ragnarok Online con stack Compose para servidores de login, char y mapa, página de contraseña y sin datos del juego integrados.
Ficha actualizada 23 sept 2026, 15:38 · upstream 23 sept 2026, 15:27 · release v1.4.0
Qué es rathena-docker
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
rathena-docker es un contenedor multi-estadio diseñado para construir imágenes Docker de rAthena, el emulador de Ragnarok Online. El proyecto proporciona una configuración Compose completa que incluye los servidores de login, char y mapa, así como una página web para la gestión de contraseñas de jugadores.
El objetivo principal es ofrecer un entorno de despliegue simplificado: construir una imagen una vez y ejecutarla sin necesidad de compilar manualmente el código fuente. Esto resuelve problemas comunes de mantenimiento en rAthena, donde las imágenes oficiales se actualizan con retraso y los servidores existentes pueden quedar desactualizados.
La arquitectura utiliza un contenedor principal que contiene los binarios del servidor, junto con datos de configuración, base de datos y archivos de importación. El contenedor no incluye ningún código compilado ni herramientas de desarrollo como gcc o gdb, lo que reduce la superficie de ataque y acelera el despliegue.
Se han identificado varias vulnerabilidades en las configuraciones por defecto del servidor, incluyendo contraseñas almacenadas en texto plano, bloqueos DNS inactivos y autenticación de registro sin contraseña. El proyecto incluye herramientas para mitigar estos riesgos, como un script que genera contraseñas salidas de la consola y una página web dedicada a la gestión de credenciales.
- Despliegue rápido de rAthena en entornos aislados o locales sin necesidad de compilar manualmente el servidor
- Gestión segura de contraseñas mediante un panel web dedicado, eliminando dependencias del juego
- Automatización de despliegues con scripts que generan configuraciones desde archivos .env
- Entorno de desarrollo en Docker para pruebas y depuración sin afectar a jugadores reales
- Escalabilidad horizontal mediante contenedores independientes para cada tipo de servidor
- Reducción del tiempo de mantenimiento al evitar actualizaciones manuales de imágenes oficiales
- Multi-stage Docker build que separa el compilador y los binarios, reduciendo la superficie de ataque
- Base de datos MySQL en contenedor con autenticación por contraseña salida de consola (no en texto plano)
- Página web para gestión de contraseñas sin dependencias del juego ni sesiones
- Configuración de DNSBL activa que bloquea IPs maliciosas como SORBS y Dronebl
- Herramientas de seguridad como set-password.sh para generar credenciales salidas de consola
- Sin datos del juego integrados: el cliente es un componente externo no incluido en la imagen
- Las contraseñas se almacenan en texto plano en la base de datos, exponiendo información sensible si el contenedor es comprometido
- El bloqueador DNS puede fallar ante dominios re-registered o que respondan con NXDOMAIN para todas las consultas
- La autenticación por contraseña no soporta cifrado cliente-side ni TLS, lo cual es incompatible con la arquitectura de rAthena
- No hay soporte para migrar contraseñas existentes entre contenedores sin recrear el servidor
- El bloqueador DNS puede bloquear todas las conexiones si un dominio responde correctamente a consultas
- La página web de gestión de contraseñas no soporta autenticación por sesión ni cookies
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Instala y ejecuta con: docker compose up -d --build. Configura .env con RA_PUBLIC_IP, RA_INTER_PASS (máximo 23 caracteres) y MARIADB_ROOT_PASSWORD. Usa render-conf.sh para generar conf-import/. El contenedor principal se ejecuta como rathena-docker, el servidor de login en 6900, char en 6121 y mapa en 5121. Para migrar contraseñas, usa tools/set-password.sh con la cuenta objetivo. Actualiza la imagen con docker compose pull --force-rebuild antes de desplegar nuevas versiones.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.