Cómo Crear y Configurar Servidor de MU Online Season 4
Guía completa para instalar, configurar e iniciar un servidor privado de MU Online Season 4 con MuServer, SQL Server y GameServer.
Requisitos previos
Antes de comenzar, asegúrate de que tu máquina o VPS cumple los requisitos mínimos y de que tienes instalado todo el software necesario.
Requisitos de hardware:
- Windows Server 2008/2012 o Windows 7/10 (64 bits)
- Mínimo 4 GB de RAM (8 GB recomendado)
- 20 GB de espacio en disco
- Conexión de red estable con IP fija o DDNS configurado
Software necesario:
- SQL Server 2008 R2 (la edición Express es suficiente para pruebas)
- SQL Server Management Studio (SSMS)
- Paquete MuServer Season 4 (archivos del servidor)
- Visual C++ Redistributable 2005/2008 (x86)
- .NET Framework 3.5
Paso 1 — Instalar y preparar SQL Server
1.1 Instala SQL Server 2008 R2 con la configuración predeterminada. Durante la instalación, selecciona Autenticación Mixta (SQL Server y Windows) y define una contraseña segura para el usuario sa.
1.2 Después de la instalación, abre el Administrador de configuración de SQL Server y confirma que el servicio SQL Server (MSSQLSERVER) está en ejecución y configurado para iniciarse automáticamente.
1.3 Abre el puerto TCP 1433 en el Firewall de Windows:
netsh advfirewall firewall add rule name="SQL Server" protocol=TCP dir=in localport=1433 action=allow
1.4 En SSMS, crea la base de datos principal del servidor:
CREATE DATABASE MuOnline
COLLATE Latin1_General_CI_AS;
GO
USE MuOnline;
GO
Latin1_General_CI_AS es obligatorio. Usar otro collation causará errores de comparación de cadenas en los stored procedures de MuOnline.1.5 Ejecuta el script de creación de tablas incluido en el paquete MuServer. Generalmente se encuentra en Setup/SQL/CreateTables_MuOnline.sql. En SSMS: Archivo → Abrir → ejecuta el script sobre la base de datos MuOnline.
1.6 Crea un login SQL dedicado para el servidor:
USE master;
GO
CREATE LOGIN muserver_user WITH PASSWORD = 'TuContrasenaFuerte123!';
GO
USE MuOnline;
GO
CREATE USER muserver_user FOR LOGIN muserver_user;
GO
EXEC sp_addrolemember 'db_owner', 'muserver_user';
GO
Paso 2 — Estructura de directorios del servidor
Extrae el paquete MuServer en un directorio dedicado, preferiblemente en la raíz de una unidad (ej: D:\MuServer\). La estructura estándar del Season 4 es:
D:\MuServer\
├── ConnectServer\
│ ├── ConnectServer.exe
│ └── ConnectServer.cfg
├── DataServer\
│ ├── DataServer.exe
│ └── DataServer.cfg
├── GameServer\
│ ├── GameServer.exe
│ ├── GameServer.cfg
│ └── Data\
│ ├── Events\
│ ├── Monster\
│ └── Maps\
└── EventServer\
├── EventServer.exe
└── EventServer.cfg
C:\Program Files\). Utiliza siempre rutas cortas como D:\MuServer\.Paso 3 — Configurar el DataServer
El DataServer es el puente entre el GameServer y el SQL Server. Toda la comunicación con la base de datos pasa a través de él.
3.1 Abre DataServer/DataServer.cfg y configura:
[DataServer]
ServerAddr = 127.0.0.1
ServerPort = 55557
MaxUser = 500
[DBConfig]
DSN = MuOnline
ID = muserver_user
PWD = TuContrasenaFuerte123!
DBServer = 127.0.0.1
DBName = MuOnline
127.0.0.1 en el campo DBServer con la dirección IP de la máquina donde está instalado SQL Server.3.2 Configura el DSN ODBC. Abre Herramientas administrativas → Orígenes de datos ODBC (32 bits) y crea un nuevo DSN de sistema:
- Controlador: SQL Server
- Nombre: MuOnline
- Servidor: 127.0.0.1
- Autenticación SQL: usuario
muserver_user
Paso 4 — Configurar el GameServer
4.1 Abre GameServer/GameServer.cfg y ajusta los parámetros principales:
[GameServer]
ServerCode = 0
ServerName = MiServidor
ServerPort = 55901
MaxUser = 500
DataServerIP = 127.0.0.1
DataServerPort= 55557
[Info]
ServerGroup = 0
Priority = Normal
4.2 Define las tasas de experiencia y drop en el mismo archivo:
[Rate]
ExpRate = 50
MasterExpRate = 30
ZenRate = 5
DropRate = 3
4.3 Configura los valores de experiencia por nivel en GameServer/Data/ExpTable.cfg. El archivo contiene un valor de EXP por línea, correspondiente a los niveles del 1 al máximo configurado.
Paso 5 — Configurar el ConnectServer
El ConnectServer es el punto de entrada de los clientes. Redirige al jugador al GameServer correcto.
5.1 Edita ConnectServer/ConnectServer.cfg:
[ConnectServer]
ListenPort = 44405
MaxUser = 1000
ServerIP = 0.0.0.0
[GameServer0]
ServerCode = 0
ServerIP = TU_IP_PUBLICA
ServerPort = 55901
ServerName = MiServidor
Reemplaza TU_IP_PUBLICA con la dirección IP externa de tu máquina o VPS.
127.0.0.1 como ServerIP. Para acceso externo, utiliza la IP pública real o configura un servicio DDNS como No-IP o DynDNS.Paso 6 — Configurar los eventos principales
6.1 Blood Castle — Edita GameServer/Data/Events/BCSchedule.ini:
[BloodCastle]
Enable = 1
Schedule1 = 00:00
Schedule2 = 02:00
Schedule3 = 04:00
Schedule4 = 06:00
Schedule5 = 08:00
Schedule6 = 10:00
Schedule7 = 12:00
Schedule8 = 14:00
Schedule9 = 16:00
Schedule10= 18:00
Schedule11= 20:00
Schedule12= 22:00
6.2 Devil Square — Edita GameServer/Data/Events/DSSchedule.ini usando el mismo formato de horarios.
6.3 Para habilitar el Chaos Castle, actualiza la tabla de eventos en la base de datos:
USE MuOnline;
UPDATE EventSchedule
SET IsEnabled = 1
WHERE EventType = 'Chaoscastle';
Paso 7 — Orden de inicio de los servicios
Siempre inicia los servidores en este orden para evitar errores de conexión:
DataServer → EventServer → GameServer → ConnectServer
Crea un archivo StartServer.bat en la raíz de MuServer para automatizar el proceso:
@echo off
cd /d D:\MuServer\DataServer
start "" DataServer.exe
timeout /t 5 /nobreak > nul
cd /d D:\MuServer\EventServer
start "" EventServer.exe
timeout /t 3 /nobreak > nul
cd /d D:\MuServer\GameServer
start "" GameServer.exe
timeout /t 5 /nobreak > nul
cd /d D:\MuServer\ConnectServer
start "" ConnectServer.exe
echo Todos los servicios iniciados.
pause
Paso 8 — Crear cuenta GM y probar el acceso
8.1 Inserta una cuenta de administrador directamente en la base de datos:
USE MuOnline;
INSERT INTO MEMB_INFO (memb___id, memb__pwd, memb_name, mail_addr, bloc_code, ctl_code)
VALUES ('admin', '1234', 'Administrador', '[email protected]', 0, 1);
ctl_code = 1 otorga nivel GM (Game Master). Valores: 0 = jugador común, 1 = GM, 2 = Admin completo (varía según la versión de MuServer).8.2 En el cliente MU Online Season 4, configura main.exe o edita el archivo de conexión para que apunte a la IP del ConnectServer en el puerto 44405.
Solución de problemas comunes
El GameServer se cierra inmediatamente al iniciarlo: Revisa GameServer/Log/GameServer.log. La causa más frecuente es un fallo de conexión con el DataServer — confirma que el DataServer está en ejecución y que el puerto 55557 es accesible.
Los jugadores no pueden iniciar sesión: Ejecuta la siguiente consulta para verificar si la cuenta existe y no está bloqueada:
SELECT memb___id, bloc_code, ctl_code FROM MEMB_INFO WHERE memb___id = 'nombreDeCuenta';
Si bloc_code = 1, la cuenta está bloqueada. Desbloquéala con:
UPDATE MEMB_INFO SET bloc_code = 0 WHERE memb___id = 'nombreDeCuenta';
Los monstruos no aparecen en el mapa: Confirma que los archivos .att y .obj de cada mapa están presentes en GameServer/Data/Maps/. Los archivos ausentes o corruptos impiden completamente el spawn de monstruos.
Perguntas frequentes
¿Qué versión de SQL Server debo usar para Season 4?
SQL Server 2005 o 2008 son las versiones más compatibles con MuServer Season 4. SQL Server 2008 R2 es el más recomendado por su estabilidad con instancias con nombre y su compatibilidad con los stored procedures de MuOnline.
El GameServer no conecta al DataServer, ¿qué debo revisar?
Abre GameServer/GameServer.cfg y verifica que el campo DSN apunta al mismo IP y puerto configurados en DataServer.cfg. También confirma que el DataServer esté iniciado antes que el GameServer y que el puerto 55557 esté habilitado en el Firewall de Windows.
¿Cómo defino el máximo de jugadores en línea?
En GameServer/GameServer.cfg, modifica el parámetro MaxUser con el valor deseado (ej: MaxUser = 500). Cada jugador consume aproximadamente 2–4 MB de RAM, así que dimensiona este valor según la memoria disponible en tu servidor.
Los eventos Blood Castle y Devil Square no aparecen, ¿cómo los corrijo?
Abre GameServer/Data/Events/BCSchedule.ini para Blood Castle y DSSchedule.ini para Devil Square. Confirma que los horarios usan el formato HH:MM y que el campo Enable=1 está presente. Reinicia el GameServer después de cualquier cambio.