Cómo Crear un Servidor MU Online Season 13–19 — Guía Completa
Guía paso a paso para montar un servidor privado de MU Online Season 13 al 19 — desde la base de datos SQL hasta la configuración del GameServer.
Montar tu propio servidor privado de MU Online es uno de los proyectos más gratificantes para un aficionado serio al juego. Esta guía cubre cada paso importante — desde la preparación de la máquina hasta la conexión del primer cliente de prueba — para configuraciones de emuladores de Season 13 a Season 19. Todas las instrucciones asumen un entorno limpio de Windows Server y un nivel básico de comodidad con bases de datos SQL y administración del sistema de archivos.
1. Preparación del Entorno
Antes de tocar cualquier archivo del servidor, asegúrate de que la máquina anfitriona tenga instalado y correctamente configurado el software necesario.
Runtimes y herramientas requeridas:
- Microsoft SQL Server 2014 o superior (la edición Express funciona para pruebas)
- SQL Server Management Studio (SSMS) para administración de la base de datos
- Paquetes de Visual C++ Redistributable: 2010, 2013, 2015–2022 (tanto x86 como x64)
- .NET Framework 4.8
- DirectX End-User Runtime (requerido por algunos componentes de Season 18–19)
Una vez instalados los runtimes, crea una estructura de carpetas dedicada. Mantener todo organizado previene confusiones de configuración más adelante:
C:\MUServer\
├── Database\ → Archivos de respaldo SQL y scripts de restauración
├── GameServer\ → Ejecutable principal y configuraciones del juego
├── ConnectServer\ → Servidor de enrutamiento central
├── JoinServer\ → Servidor de autenticación y sesiones
├── DataServer\ → Componente de caché de datos compartidos
└── Logs\ → Salida centralizada de registros (enlace simbólico opcional)
2. Configuración de la Base de Datos SQL
La base de datos es la columna vertebral de todo el servidor. Todos los datos de personajes, registros de ítems, información de gremios y estado de eventos del lado del servidor residen aquí.
Pasos:
- Abre SSMS y conéctate a tu instancia local de SQL Server.
- Crea una nueva base de datos llamada
MuOnline(el nombre debe coincidir exactamente con lo que referencian las configuraciones del servidor). - Restaura la copia de seguridad de la base de datos incluida con tu paquete de emulador. En SSMS: clic derecho en Databases → Restore Database → selecciona el archivo
.bak. - Crea un inicio de sesión SQL dedicado para los componentes del servidor. Evita usar
saen configuraciones de producción.
-- Crear una cuenta dedicada para el servidor
CREATE LOGIN MuServerUser WITH PASSWORD = 'ContraseniaFuerte1!';
USE MuOnline;
CREATE USER MuServerUser FOR LOGIN MuServerUser;
EXEC sp_addrolemember 'db_owner', 'MuServerUser';
> [!ATENCION] > Nunca expongas el puerto de SQL Server (1433) a internet. La instancia SQL debe ser accesible solo en localhost (127.0.0.1) o en una interfaz de red privada. Usa reglas del Firewall de Windows para bloquear el acceso externo a este puerto.
Después de restaurar la base de datos, ejecuta los scripts de migración o parche incluidos con el emulador. Los paquetes de Season 18 y 19 frecuentemente incluyen scripts SQL incrementales etiquetados como Patch_S18_001.sql hasta Patch_S19_xxx.sql. Aplícalos en orden.
3. Configuración del ConnectServer
El ConnectServer es el primer componente al que contactan los jugadores. Le indica al cliente qué canales del GameServer están disponibles y enruta la conexión inicial.
Archivo de configuración principal: ConnectServer\ConnectServer.ini (el nombre varía según la versión del emulador).
[Network]
ServerListenPort → 44405 ; Puerto al que se conectan los clientes
MaxConnections → 10000 ; Ajusta según la cantidad esperada de jugadores
ListenIP → 0.0.0.0 ; Escuchar en todas las interfaces
[ServerList]
ServerCode_0 → 0 ; Código interno para el canal 0 del GameServer
ServerPort_0 → 55901 ; Debe coincidir con el ConnectPort del GameServer
ServerName_0 → Lorencia ; Nombre visible en el cliente
[Logging]
LogLevel → 2 ; 0=apagado, 1=errores, 2=info, 3=verbose
LogPath → ..\Logs\CS\
Abre el puerto 44405 (TCP) en el Firewall de Windows y en tu router si el servidor está detrás de NAT. Este es el único puerto que los jugadores necesitan alcanzar inicialmente.
4. Configuración del JoinServer y DataServer
Estos dos componentes gestionan la autenticación y la caché compartida respectivamente. No escuchan conexiones directas de jugadores — se comunican solo con el GameServer de forma interna.
Configuración del JoinServer (JoinServer.ini):
[Network]
ListenPort → 55980 ; El GameServer se conecta aquí para autenticación
ListenIP → 127.0.0.1 ; Solo localhost — nunca exponer externamente
[Database]
DBServer → 127.0.0.1
DBPort → 1433
DBName → MuOnline
DBUser → MuServerUser
DBPassword → ContraseniaFuerte1!
Configuración del DataServer (DataServer.ini):
[Network]
ListenPort → 57900
ListenIP → 127.0.0.1
[Cache]
MaxCacheSize → 512 ; MB — aumenta para poblaciones mayores de jugadores
CacheExpiry → 300 ; Segundos antes de que las entradas obsoletas sean eliminadas
> [!CONSEJO] > Inicia los componentes del servidor en este orden cada vez: DataServer → JoinServer → ConnectServer → GameServer. Invertir el orden provoca errores de "conexión rechazada" en los registros, ya que cada componente depende de que el anterior esté listo antes de poder registrarse.
5. Configuración del GameServer
El GameServer es el componente más grande y complejo. Gestiona toda la lógica de los mapas, los cálculos de combate, las caídas de ítems, el estado de las misiones y las interacciones en tiempo real entre jugadores.
El archivo de configuración principal suele ser GameServer\GameServer.ini o una carpeta de archivos XML/INI. A continuación se muestran los ajustes más críticos:
[ServerInfo]
ServerCode → 0 ; Debe coincidir con ServerCode_0 del ConnectServer
ServerName → Lorencia
MaxPlayers → 500 ; Define según la capacidad de tu hardware
[Network]
GamePort → 55901 ; Los clientes se conectan aquí para el juego
ConnectPort → 55901 ; Puerto anunciado al ConnectServer
[ConnectServer]
IP → 127.0.0.1 ; Dirección del ConnectServer
Port → 44405
[JoinServer]
IP → 127.0.0.1
Port → 55980
[DataServer]
IP → 127.0.0.1
Port → 57900
[Database]
DBServer → 127.0.0.1
DBPort → 1433
DBName → MuOnline
DBUser → MuServerUser
DBPassword → ContraseniaFuerte1!
[Rates]
ExperienceRate → 100 ; Multiplicador — 100 = tasa estándar 1x
DropRate → 50 ; Porcentaje de la probabilidad base de caída
ZenDropRate → 100
Para Season 18 y 19, archivos de configuración XML adicionales controlan funciones como el sistema Kundun, la programación del Blood Castle, las tasas de fusión de joyas y los nuevos niveles de alas. Localiza los archivos llamados ItemDropSettings.xml, EventSchedule.xml y NewWingCraft.xml en la carpeta de configuración del GameServer y ajústalos al estilo de servidor que tengas en mente.
6. Resumen de Puertos y Firewall
Una configuración limpia del firewall previene la mayoría de los problemas de conexión.
| Puerto | Protocolo | Componente | Expuesto a Internet |
|---|---|---|---|
| 44405 | TCP | ConnectServer | Sí |
| 55901 | TCP | GameServer | Sí |
| 55980 | TCP | JoinServer | No (localhost) |
| 57900 | TCP | DataServer | No (localhost) |
| 1433 | TCP | SQL Server | No (localhost) |
Aplica reglas de entrada de permiso solo para los puertos marcados con "Sí". Todos los demás puertos deben bloquearse tanto a nivel del Firewall de Windows como en el router/NAT.
7. Primer Inicio y Solución de Problemas
Con todas las configuraciones en su lugar, inicia los componentes en orden: DataServer, JoinServer, ConnectServer, GameServer. Cada uno debería imprimir un mensaje de "listo" en su ventana de consola en 10 a 30 segundos.
Problemas comunes y soluciones:
- "No se puede conectar a la base de datos" — verifica las credenciales de inicio de sesión SQL, confirma que el servicio SQL Server está en ejecución y comprueba que el nombre de la base de datos coincide exactamente (distingue mayúsculas en algunas intercalaciones de SQL Server).
- "ConnectServer no encontrado" — asegúrate de que el ConnectServer esté en ejecución antes de iniciar el GameServer, y que la IP/puerto en la configuración del GameServer coincidan con los ajustes de escucha del ConnectServer.
- El cliente muestra "Lista de servidores vacía" — el ConnectServer es accesible pero ningún GameServer se ha registrado. Revisa los registros del GameServer en busca de errores de base de datos o de conexión con el JoinServer.
- "La aplicación no pudo iniciarse correctamente (0xc000007b)" — un redistributable de Visual C++ no coincide. Instala el paquete x86 de 2013 incluso en un sistema operativo de 64 bits.
Una vez el servidor en marcha, explora las configuraciones XML avanzadas para implementar eventos personalizados, tasas ajustadas y contenido de nuevas temporadas. El control total sobre el entorno de juego es precisamente lo que hace que administrar un servidor privado sea una experiencia tan enriquecedora.
Perguntas frequentes
¿Qué sistema operativo debo usar para hospedar un servidor privado de MU Online?
Windows Server 2016 o 2019 (64 bits) es la opción más compatible. La mayoría de los emuladores de Season 13–19 fueron compilados para Windows y requieren runtimes como Visual C++ Redistributable y .NET Framework 4.x que funcionan de forma estable en estas versiones. Evita ediciones de consumidor si planeas mantener el servidor encendido de forma continua.
¿Cuáles son los requisitos mínimos de hardware?
Para un entorno de pruebas basta con 4 GB de RAM, un procesador de cuatro núcleos y 50 GB de espacio libre en disco. Para un servidor en producción con jugadores activos, apunta a al menos 8 GB de RAM, 6 o más núcleos de CPU y almacenamiento SSD para la base de datos SQL, lo que reduce significativamente el tiempo de espera por I/O.
¿Necesito una IP estática?
Para pruebas locales en una red LAN, una IP dinámica local es suficiente. Para permitir conexiones desde internet necesitas una IP pública estática o un servicio de DNS dinámico (DDNS) apuntando a tu router, junto con las reglas correctas de reenvío de puertos en el router y en el firewall de software.
¿Cómo mantengo el servidor en ejecución después de cerrar las ventanas de consola?
Usa el Programador de tareas de Windows o registra cada ejecutable como un Servicio de Windows utilizando una herramienta como NSSM (Non-Sucking Service Manager). Esto mantiene todos los componentes del servidor activos en segundo plano, sobrevive a los cierres de sesión y permite reinicios automáticos ante fallos.