Cómo Configurar el Imperial Guardian en el Servidor de MU Online
Guía técnica completa para activar y configurar el evento Imperial Guardian en tu servidor MU Online, con SQL, archivos .ini y solución de problemas.
El Imperial Guardian es uno de los eventos más estratégicos de MU Online: cuatro equipos compiten para proteger la Estatua Imperial en mapas de oleadas progresivas. Configurar este evento correctamente requiere ajustes en archivos .ini, tablas SQL y permisos de mapa. Esta guía cubre todo desde cero.
Requisitos previos
Antes de comenzar, confirma que tu entorno cumple con lo siguiente:
- MuServer Season 4 EP2 o superior (Season 6 recomendado)
- SQL Server 2005/2008/2012/2014/2017 con la base de datos
MuOnlineaccesible - Acceso de administrador al directorio del GameServer
- Carpeta
GameServer/Data/ImperialGuardian/existente (creada por el servidor en la primera ejecución)
ImperialGuardian y sus archivos .ini ya existen. Si usas un paquete recortado o personalizado, puede que necesites copiar esos archivos desde un paquete de referencia.Paso 1: Habilitar el Evento en la Base de Datos
Conéctate a SQL Server Management Studio (SSMS) y selecciona la base de datos MuOnline.
1.1 — Verificar si el evento existe en la tabla de programación:
SELECT * FROM T_EventSchedule WHERE EventCode = 9;
Si devuelve cero filas, el evento debe insertarse. El código 9 corresponde al Imperial Guardian en la mayoría de las builds S6.
1.2 — Insertar o actualizar la programación:
-- Insertar dos horarios diarios: 20h y 22h
INSERT INTO T_EventSchedule (EventCode, EventHour, EventMinute, EventEnabled)
VALUES (9, 20, 0, 1);
INSERT INTO T_EventSchedule (EventCode, EventHour, EventMinute, EventEnabled)
VALUES (9, 22, 0, 1);
Si los registros ya existen pero el evento está desactivado:
UPDATE T_EventSchedule
SET EventEnabled = 1
WHERE EventCode = 9;
1.3 — Verificar la tabla de recompensas base:
SELECT * FROM T_IGReward;
Esta tabla define los ítems entregados al equipo ganador. Si está vacía, ejecuta el script de inserción predeterminado incluido con tu paquete MuServer — generalmente ubicado en GameServer/SQL/ImperialGuardian_Reward.sql.
Paso 2: Configurar el Archivo IGConfig.ini
Abre el archivo GameServer/Data/ImperialGuardian/IGConfig.ini en un editor de texto (se recomienda Notepad++ para preservar la codificación ANSI).
[ImperialGuardian]
; Habilita (1) o deshabilita (0) el evento
EventEnable = 1
; Cantidad mínima de jugadores para que el evento inicie
MinPlayers = 4
; Duración del evento en minutos
EventTime = 15
; Nivel mínimo para participar
MinLevel = 220
; Nivel máximo para participar (0 = sin límite)
MaxLevel = 0
; Intervalo entre oleadas de monstruos en segundos
SpawnInterval = 120
; Cantidad máxima de participantes por equipo
MaxPlayersPerTeam = 5
; Habilita recompensa de experiencia al final
ExpReward = 1
; Multiplicador de EXP de la recompensa (1.0 = estándar)
ExpRewardMultiplier = 1.5
MinPlayers a 1 o 2 y MinLevel a 150. Esto evita que el evento nunca inicie por falta de jugadores.Guarda el archivo tras los cambios. No es necesario reiniciar el servidor completo — el GameServer relee el .ini en cada ciclo de programación.
Paso 3: Configurar los Mapas del Imperial Guardian
El evento usa cuatro mapas internos (IG1 a IG4), uno por equipo. Las configuraciones de aparición de monstruos se almacenan en archivos separados.
3.1 — Archivos de spawn por mapa:
GameServer/Data/ImperialGuardian/IGMap1.ini → Equipo Azul
GameServer/Data/ImperialGuardian/IGMap2.ini → Equipo Verde
GameServer/Data/ImperialGuardian/IGMap3.ini → Equipo Rojo
GameServer/Data/ImperialGuardian/IGMap4.ini → Equipo Amarillo
Ejemplo de configuración de oleada en IGMap1.ini:
[Wave1]
MonsterCode = 367
MonsterCount = 8
SpawnX = 50
SpawnY = 50
SpawnRadius = 5
[Wave2]
MonsterCode = 368
MonsterCount = 12
SpawnX = 50
SpawnY = 50
SpawnRadius = 5
[Wave3]
MonsterCode = 369
MonsterCount = 6
SpawnX = 50
SpawnY = 50
SpawnRadius = 3
Monster en la base de datos antes de editar estos archivos.3.2 — Verificar IDs de monstruos en la base de datos:
SELECT MonsterCode, Name
FROM Monster
WHERE Name LIKE '%Guardian%'
ORDER BY MonsterCode;
Paso 4: Configurar Recompensas Personalizadas
Las recompensas del Imperial Guardian se configuran mediante SQL y/o el archivo .ini según la build.
4.1 — Editar recompensas a través de la base de datos:
-- Eliminar recompensas existentes e insertar nuevas
DELETE FROM T_IGReward WHERE RewardType = 1;
-- Insertar Box of Luck (+5) como recompensa del 1er lugar
INSERT INTO T_IGReward (RewardType, ItemCode, ItemLevel, ItemSerial, RewardCount)
VALUES (1, 1750, 5, 0, 1);
-- Insertar Jewel of Bless como recompensa de consolación
INSERT INTO T_IGReward (RewardType, ItemCode, ItemLevel, ItemSerial, RewardCount)
VALUES (2, 1760, 0, 0, 3);
RewardType = 1 corresponde al equipo ganador y RewardType = 2 a los equipos perdedores. Confirma los ItemCodes correctos en la tabla Items de tu base de datos, ya que varían entre builds S6.4.2 — Recompensa en Jewels vía IGConfig.ini (método alternativo):
[Reward]
Winner_Jewel = Bless
Winner_Amount = 5
Loser_Jewel = Chaos
Loser_Amount = 1
Usa solo uno de los métodos — base de datos o .ini — según lo que soporte tu build. Las builds más antiguas usan exclusivamente el .ini; las builds modernas leen la base de datos.
Paso 5: Probar el Evento Manualmente
Antes de depender del horario automático, dispara el evento manualmente con un comando GM para confirmar que funciona correctamente.
5.1 — Comando en el juego (como GM nivel 3+):
/event ig start
o dependiendo de la build:
/startIG
5.2 — Verificar los logs del GameServer:
Abre GameServer/Log/GameServer_AAAAMMDD.log y busca las siguientes líneas:
[ImperialGuardian] Event Started - Players: 4
[ImperialGuardian] Map1 initialized - Team: Blue
[ImperialGuardian] Wave 1 spawned: 8 monsters
Si aparece Event Started pero no hay líneas de mapa, el problema está en los archivos IGMap*.ini.
Paso 6: Ajustar Permisos de Mapa en el ConnectServer
Para que los jugadores sean teletransportados correctamente a los mapas del IG, el ConnectServer debe reconocer esos mapas.
Edita ConnectServer/ConnectServer.ini o ConnectServer/MapServerInfo.ini:
; Mapas del Imperial Guardian (IDs varían por versión S4/S6)
[Map112]
ServerIP = 127.0.0.1
ServerPort = 55901
MapIndex = 112
[Map113]
ServerIP = 127.0.0.1
ServerPort = 55901
MapIndex = 113
[Map114]
ServerIP = 127.0.0.1
ServerPort = 55901
MapIndex = 114
[Map115]
ServerIP = 127.0.0.1
ServerPort = 55901
MapIndex = 115
GameServer/Data/MapInfo.ini o la tabla MapInfo en la base de datos para confirmar los IDs correctos antes de editar la configuración del ConnectServer.Solución de Problemas
El evento no inicia en el horario programado
- Confirma que
EventEnabled = 1en la tablaT_EventSchedule - Verifica que GameServer.exe se esté ejecutando como Administrador
- Comprueba que la hora del servidor coincida con el huso horario esperado:
SELECT GETDATE()en SSMS - Abre el log del GameServer y filtra por
[EventScheduler]
Los jugadores no son teletransportados al unirse a la cola
- Confirma que los mapas del IG están registrados en el
ConnectServer - Verifica que el NPC del Imperial Guardian (generalmente ubicado en Lorencia en las coordenadas 130, 120) esté configurado en
GameServer/Data/NPC.ini
Error "Not enough players" incluso con jugadores suficientes en línea
-- Verificar el MinPlayers configurado en la base de datos (algunas builds usan una tabla propia)
SELECT * FROM T_IGConfig WHERE ConfigKey = 'MinPlayers';
-- Actualizar si es necesario
UPDATE T_IGConfig SET ConfigValue = 2 WHERE ConfigKey = 'MinPlayers';
Los monstruos no aparecen durante las oleadas
Confirma que los MonsterCode en los archivos IGMap*.ini existen en la base de datos:
SELECT MonsterCode, Name, Level
FROM Monster
WHERE MonsterCode IN (367, 368, 369);
Si la consulta no devuelve resultados, los IDs son incorrectos para tu build. Usa los IDs correctos encontrados en la consulta anterior sobre monstruos Guardian.
Resumen de Archivos Editados
| Archivo | Qué configura |
|---|---|
GameServer/Data/ImperialGuardian/IGConfig.ini | Parámetros generales del evento |
GameServer/Data/ImperialGuardian/IGMap1-4.ini | Oleadas y spawns por equipo |
ConnectServer/ConnectServer.ini | Registro de mapas del IG |
T_EventSchedule (SQL) | Horarios de ejecución |
T_IGReward (SQL) | Recompensas de los equipos |
.ini, no es necesario reiniciar el GameServer completo — el módulo de eventos se recarga en el próximo ciclo. Sin embargo, los cambios en la base de datos (T_EventSchedule, T_IGReward) tienen efecto inmediato.Perguntas frequentes
¿Cuál es la versión mínima de MuServer para que funcione el Imperial Guardian?
El Imperial Guardian fue introducido en Season 4 Episode 2. Necesitas MuServer S4 EP2 o superior para ejecutar el evento. En servidores Season 6 está disponible de forma nativa. Las versiones S1 a S3 no soportan este evento.
El evento no aparece en el horario configurado, ¿qué debo verificar?
Confirma que la columna EventEnabled tiene el valor 1 en la tabla T_EventSchedule de la base de datos MuOnline. Luego verifica que GameServer.exe tenga permisos de administrador, ya que sin ellos los eventos programados no se disparan. Por último, revisa el archivo GameServer/Data/ImperialGuardian/IGConfig.ini para comprobar que MinPlayers no esté por encima del número real de jugadores en línea.
¿Cómo aumentar la duración del Imperial Guardian?
En el archivo IGConfig.ini, modifica el parámetro EventTime (valor en minutos). El valor predeterminado es 15 minutos. Para eventos más largos como torneos, se recomiendan valores entre 20 y 30 minutos. Ajusta también SpawnInterval para que los monstruos no se agoten antes de que termine el evento.
¿Puedo ejecutar el Imperial Guardian varias veces al día?
Sí. En la tabla T_EventSchedule puedes insertar múltiples filas para el EventCode del Imperial Guardian (código 9), cada una con un horario diferente en los campos EventHour y EventMinute. No hay un límite fijo de ejecuciones diarias, pero se recomienda un intervalo mínimo de 30 minutos entre cada instancia para evitar conflictos.