Cómo Crear un Servidor MU Online Season 15–17 — Guía Completa
Guía paso a paso para montar un servidor privado MU Online Season 15–17: base de datos SQL, GameServer, ConnectServer y configuración esencial.
Arquitectura General del Servidor
Montar un servidor privado de MU Online para Season 15 a Season 17 implica gestionar varios componentes de software que trabajan en conjunto. A diferencia de temporadas anteriores con arquitecturas más simples, los paquetes modernos separan las responsabilidades en cuatro servicios principales:
- ConnectServer — punto de entrada que recibe la primera conexión del cliente y redirige al jugador hacia la instancia de GameServer disponible.
- GameServer — proceso principal del juego; una instancia gestiona un mundo de juego (canal de servidor).
- DataServer — capa de conexión entre GameServer y SQL Server que centraliza el acceso a la base de datos.
- JoinServer — gestiona la autenticación de cuentas antes de que el cliente entre al mundo de juego.
Comprender cómo se comunican estos cuatro procesos es fundamental antes de tocar cualquier archivo de configuración. En una configuración estándar de servidor único, todos corren en la misma máquina comunicándose por sockets TCP en localhost.
Paso 1 — Preparación del Sistema Operativo
Instala Windows Server 2019 o 2022 con la opción Desktop Experience. Después de la instalación, aplica todas las actualizaciones de Windows antes de instalar cualquier software de servidor.
Instala los siguientes requisitos previos en este orden:
- Microsoft Visual C++ Redistributable — versiones x86 y x64 para Visual Studio 2015–2022.
- DirectX End-User Runtime — requerido por algunos binarios de GameServer incluso en servidores sin monitor.
- .NET Framework 4.8 — necesario para las utilidades de launcher y panel incluidas en la mayoría de los paquetes Season 15–17.
- SQL Server 2019 — instala con el nombre de instancia predeterminado
MSSQLSERVER, habilita el protocolo TCP/IP en el Administrador de Configuración de SQL Server y configura SQL Server Browser para que inicie automáticamente.
Después de instalar SQL Server, abre el Administrador de Configuración de SQL Server, navega a Configuración de red de SQL Server → Protocolos de MSSQLSERVER, habilita TCP/IP y reinicia el servicio de SQL Server.
> [!ATENCION] > No omitas el paso de habilitar TCP/IP en el Administrador de Configuración de SQL Server. La instalación predeterminada deja TCP/IP desactivado, lo que hará que DataServer falle silenciosamente al intentar conectarse a la base de datos — una de las fuentes de confusión más comunes para los nuevos administradores de servidor.
Paso 2 — Configuración de la Base de Datos
Abre SQL Server Management Studio (SSMS) y conéctate a tu instancia local. Deberás crear la base de datos MU y ejecutar los scripts de inicialización incluidos en tu paquete de servidor.
La mayoría de los paquetes Season 15–17 incluyen una carpeta DBScript o SQL con archivos .sql numerados. Ejecútalos en orden numérico ascendente:
Orden de ejecución de scripts SQL:
01_create_database.sql → crea la base de datos MuOnline y establece el nivel de compatibilidad
02_create_tables.sql → crea todas las tablas del juego (Character, Account, Item, etc.)
03_stored_procedures.sql → instala SP_GetCharacter, SP_SaveCharacter y otros ~200 procedimientos
04_initial_data.sql → carga datos iniciales: tiendas, programación de eventos, datos de mapas
05_gamemaster_account.sql → crea la primera cuenta GM (cambia las credenciales inmediatamente)
Después de ejecutar todos los scripts, crea un login SQL dedicado para los procesos del servidor:
-- Crear un login con autenticación SQL
CREATE LOGIN mu_server WITH PASSWORD = 'TuContrasenaSegura123!';
-- Vincular el login a la base de datos MuOnline
USE MuOnline;
CREATE USER mu_server FOR LOGIN mu_server;
-- Otorgar los permisos necesarios (db_owner por simplicidad en servidores privados)
ALTER ROLE db_owner ADD MEMBER mu_server;
> [!CONSEJO] > Usa una contraseña fuerte y única para el login SQL. Esta credencial se almacenará en texto plano en los archivos de configuración de DataServer — restringe el acceso al sistema de archivos de la carpeta del servidor usando permisos NTFS de Windows para que solo la cuenta de administrador pueda leerlos.
Paso 3 — Configuración de DataServer
DataServer es el puente entre GameServer y SQL Server. Localiza DataServer.ini (o DSConfig.ini según el paquete) y configura el bloque de conexión:
[DataServer]
ServerPort → 55980
MaxConnections → 50
LogMode → 1
[ODBC]
DSN → MuOnline
UserID → mu_server
Password → TuContrasenaSegura123!
DBName → MuOnline
ServerAddress → 127.0.0.1
Port → 1433
Timeout → 30
[GameServer]
ConnectIP → 127.0.0.1
ConnectPort → 55980
MaxGameServer → 10
Inicia DataServer.exe y verifica la salida en la consola. Un inicio exitoso muestra:
[DataServer] Listening on port 55980
[DataServer] Database connection established: MuOnline
[DataServer] Ready to accept GameServer connections
Si ves [ODBC] Connection failed, revisa las credenciales del login SQL y confirma que TCP/IP está habilitado en el Administrador de Configuración de SQL Server.
Paso 4 — Configuración de ConnectServer y JoinServer
JoinServer (JoinServer.ini) gestiona la validación del login de cuentas. Sus configuraciones clave:
[JoinServer]
ServerPort → 55970
DataServerIP → 127.0.0.1
DataServerPort → 55980
MaxConnections → 2000
AccountExpireTime → 30
ConnectServer (ConnectServer.ini) informa a los clientes qué instancias de GameServer existen:
[ConnectServer]
ServerPort → 44405
ClientTimeout → 60
MaxConnections → 10000
ListenIP → 0.0.0.0
[GameServer00]
GameServerCode → 0
GameServerIP → TU_IP_PUBLICA
GameServerPort → 55901
GameServerName → Lorencia-1
Reemplaza TU_IP_PUBLICA con la dirección IPv4 pública real de tu servidor. Los clientes usan esta IP para conectarse al GameServer después de que ConnectServer responde al handshake inicial.
Paso 5 — Configuración de GameServer
GameServer tiene la mayor cantidad de archivos de configuración. Los esenciales son:
GameServer.ini — configuración principal del proceso:
[GameServer]
ServerCode → 0
ServerPort → 55901
DataServerIP → 127.0.0.1
DataServerPort → 55980
JoinServerIP → 127.0.0.1
JoinServerPort → 55970
MaxPlayer → 500
ServerName → Lorencia-1
ExpRate → 200
MasterExpRate → 100
DropRate → 30
ZenRate → 150
CommonServer.ini — mapas, sistema de resets y configuración de Master Level:
[MasterLevel]
MasterLevelEnable → 1
MasterMaxLevel → 400
MasterExpRate → 100
[ResetSystem]
ResetEnable → 1
ResetLevel → 400
ResetStats → 1
MaxResets → 100
Los archivos específicos de Season 17 también incluyen NewPetSystem.ini para la mecánica actualizada de mascotas e IllusionTemple.ini para el programador de eventos — revísalos contra la configuración prevista de tu servidor antes del lanzamiento.
> [!CONSEJO] > Antes de modificar cualquier archivo .ini, guarda una copia del original con extensión .bak. Un error de sintaxis en GameServer.ini puede impedir que el proceso arranque y tener el backup a mano permite revertir inmediatamente sin buscar el valor original.
Paso 6 — Orden de Inicio y Verificación
Los servicios deben iniciarse en un orden específico. Iniciarlos fuera de secuencia provoca errores de conexión rechazada entre procesos:
Secuencia de inicio correcta:
1. Servicio SQL Server → debe estar activo antes de que DataServer se conecte
2. DataServer.exe → se conecta a SQL y luego espera conexiones de GameServer
3. JoinServer.exe → se conecta a DataServer para validar cuentas
4. ConnectServer.exe → comienza a aceptar conexiones de clientes
5. GameServer.exe (por canal) → se conecta a DataServer y JoinServer
Una vez que todos los servicios estén en ejecución, conéctate con un cliente MU local apuntado a 127.0.0.1:44405 e inicia sesión con la cuenta GM creada en los scripts SQL. Recorre Lorencia y confirma que los spawns de NPCs, las transiciones de mapa y el sistema de tienda responden correctamente antes de abrir el servidor a otros jugadores.
> [!ATENCION] > Nunca publiques la IP de tu servidor antes de completar la verificación local. Un servidor con la base de datos sin inicializar correctamente o con credenciales por defecto expone datos de jugadores desde el primer momento. Dedica tiempo suficiente a las pruebas internas antes del lanzamiento.
Lista de Verificación Final Antes del Lanzamiento
- Las reglas de firewall restringen el tráfico entrante únicamente a los puertos 44405, 55901 (y puertos adicionales de GameServer si se operan múltiples canales).
- La contraseña de la cuenta sa de SQL Server fue cambiada y el login remoto de sa está deshabilitado.
- La contraseña de la cuenta GM fue cambiada respecto al valor por defecto establecido en el script SQL.
- Los directorios de log existen y GameServer tiene permisos de escritura sobre ellos.
- Se configuró un backup automático diario de la base de datos SQL MuOnline.
- El reloj del servidor está sincronizado con un servidor NTP — los programadores de eventos dependen de la hora exacta del sistema.
Completar esta lista antes de publicar la IP de tu servidor evita los problemas más comunes del primer lanzamiento que fuerzan mantenimientos de emergencia en horas pico.
Perguntas frequentes
¿Qué sistema operativo se recomienda para un servidor Season 15–17?
Windows Server 2019 o Windows Server 2022 (64 bits) son las opciones más estables. Ambas admiten SQL Server 2019, el runtime de .NET que requieren los archivos modernos de servidor MU y el stack de red necesario para operar múltiples puertos de GameServer. Evita Windows Server 2016 con archivos Season 17 porque ciertos redistribuibles de DirectX se comportan de forma distinta.
¿Qué versión de SQL Server funciona mejor con los archivos Season 15–17?
SQL Server 2019 (Express o Standard) es la versión recomendada. Soporta todos los stored procedures que utilizan los paquetes Season 15–17, gestiona bases de datos grandes sin que el límite de 10 GB de Express sea un problema inmediato para servidores nuevos y recibe parches de seguridad activos. SQL Server 2014 es la versión mínima que funcionará, pero carece de mejoras de rendimiento relevantes para bases de datos de jugadores de gran tamaño.
¿Cuántos núcleos de CPU y cuánta RAM necesita un servidor Season 17?
Para una comunidad pequeña (hasta 100 jugadores simultáneos) es suficiente un CPU de 4 núcleos con 8 GB de RAM. Para 100–300 jugadores simultáneos, planifica 8 núcleos y 16 GB de RAM. El DataServer de Season 17 consume más memoria que en temporadas anteriores debido a las tablas de ítems y habilidades ampliadas. Reserva al menos 2 GB de RAM exclusivamente para SQL Server.
¿Qué puertos deben abrirse en el firewall para un servidor Season 15–17?
ConnectServer escucha en TCP 44405. Las instancias de GameServer usan TCP 55901 (o el puerto definido en GameServer.ini según el índice del gameserver). DataServer usa un puerto interno (predeterminado 55980) que no necesita estar expuesto públicamente. El panel web, si se utiliza, normalmente corre en TCP 80 u 8080. Aplica siempre reglas de firewall que solo permitan estos puertos específicos en lugar de deshabilitar el firewall por completo.