How to Configure Imperial Guardian on MU Online Server
Complete technical guide to enable and configure the Imperial Guardian event on your MU Online server, covering SQL, .ini files, and troubleshooting.
Imperial Guardian is one of MU Online's most strategic events: four teams compete to protect the Imperial Statue across progressive monster waves. Configuring this event correctly requires changes to .ini files, SQL tables, and map permissions. This guide covers everything from scratch.
Prerequisites
Before you begin, confirm your environment meets the following:
- MuServer Season 4 EP2 or higher (Season 6 recommended)
- SQL Server 2005/2008/2012/2014/2017 with the
MuOnlinedatabase accessible - Administrator access to the GameServer directory
- Folder
GameServer/Data/ImperialGuardian/present (created by the server on first run)
ImperialGuardian folder and its .ini files already exist. If you are using a stripped or customized package, you may need to copy those files from a reference package.Step 1: Enable the Event in the Database
Connect to SQL Server Management Studio (SSMS) and select the MuOnline database.
1.1 — Check whether the event exists in the schedule table:
SELECT * FROM T_EventSchedule WHERE EventCode = 9;
If zero rows are returned, the event needs to be inserted. Event code 9 corresponds to Imperial Guardian in most S6 builds.
1.2 — Insert or update the schedule:
-- Insert two daily time slots: 8 PM and 10 PM
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);
If the records already exist but the event is disabled:
UPDATE T_EventSchedule
SET EventEnabled = 1
WHERE EventCode = 9;
1.3 — Check the base reward table:
SELECT * FROM T_IGReward;
This table defines the items delivered to the winning team. If it is empty, run the default insertion script included with your MuServer package — usually located at GameServer/SQL/ImperialGuardian_Reward.sql.
Step 2: Configure the IGConfig.ini File
Open GameServer/Data/ImperialGuardian/IGConfig.ini in a text editor (Notepad++ is recommended to preserve ANSI encoding).
[ImperialGuardian]
; Enable (1) or disable (0) the event
EventEnable = 1
; Minimum number of players required for the event to start
MinPlayers = 4
; Event duration in minutes
EventTime = 15
; Minimum level required to participate
MinLevel = 220
; Maximum level to participate (0 = no limit)
MaxLevel = 0
; Interval between monster waves in seconds
SpawnInterval = 120
; Maximum participants per team
MaxPlayersPerTeam = 5
; Enable experience reward at the end
ExpReward = 1
; EXP reward multiplier (1.0 = default)
ExpRewardMultiplier = 1.5
MinPlayers to 1 or 2 and MinLevel to 150. This prevents the event from never starting due to insufficient players.Save the file after making changes. A full server restart is not required — the GameServer re-reads the .ini on each scheduling cycle.
Step 3: Configure Imperial Guardian Maps
The event uses four internal maps (IG1 through IG4), one per team. Monster spawn configurations are stored in separate files.
3.1 — Spawn files per map:
GameServer/Data/ImperialGuardian/IGMap1.ini → Blue Team
GameServer/Data/ImperialGuardian/IGMap2.ini → Green Team
GameServer/Data/ImperialGuardian/IGMap3.ini → Red Team
GameServer/Data/ImperialGuardian/IGMap4.ini → Yellow Team
Example wave configuration in 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 table in the database before editing these files.3.2 — Verify monster IDs in the database:
SELECT MonsterCode, Name
FROM Monster
WHERE Name LIKE '%Guardian%'
ORDER BY MonsterCode;
Step 4: Configure Custom Rewards
Imperial Guardian rewards are configured via SQL and/or the .ini file depending on your build.
4.1 — Edit rewards through the database:
-- Remove existing rewards and insert new ones
DELETE FROM T_IGReward WHERE RewardType = 1;
-- Insert Box of Luck (+5) as first-place reward
INSERT INTO T_IGReward (RewardType, ItemCode, ItemLevel, ItemSerial, RewardCount)
VALUES (1, 1750, 5, 0, 1);
-- Insert Jewel of Bless as consolation reward
INSERT INTO T_IGReward (RewardType, ItemCode, ItemLevel, ItemSerial, RewardCount)
VALUES (2, 1760, 0, 0, 3);
RewardType = 1 corresponds to the winning team and RewardType = 2 to losing teams. Confirm the correct ItemCodes in the Items table of your database, as they vary between S6 builds.4.2 — Jewel reward via IGConfig.ini (alternative method):
[Reward]
Winner_Jewel = Bless
Winner_Amount = 5
Loser_Jewel = Chaos
Loser_Amount = 1
Use only one method — database or .ini — depending on what your server build supports. Older builds use exclusively the .ini; modern builds read the database.
Step 5: Test the Event Manually
Before relying on the automatic schedule, trigger the event manually with a GM command to confirm it is working.
5.1 — In-game command (as GM level 3+):
/event ig start
or depending on the build:
/startIG
5.2 — Check GameServer logs:
Open GameServer/Log/GameServer_YYYYMMDD.log and look for lines such as:
[ImperialGuardian] Event Started - Players: 4
[ImperialGuardian] Map1 initialized - Team: Blue
[ImperialGuardian] Wave 1 spawned: 8 monsters
If Event Started appears but no map lines follow, the problem is in the IGMap*.ini files.
Step 6: Adjust Map Permissions in ConnectServer
For players to be teleported correctly to IG maps, the ConnectServer must recognize those maps.
Edit ConnectServer/ConnectServer.ini or ConnectServer/MapServerInfo.ini:
; Imperial Guardian maps (IDs vary by S4/S6 version)
[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 or the MapInfo table in the database to confirm the correct IDs before editing the ConnectServer configuration.Troubleshooting
Event does not start at the scheduled time
- Confirm
EventEnabled = 1in theT_EventScheduletable - Verify that GameServer.exe is running as Administrator
- Check that the server time matches the expected timezone:
SELECT GETDATE()in SSMS - Open the GameServer log and filter for
[EventScheduler]
Players are not teleported when joining the queue
- Confirm that the IG maps are registered in the
ConnectServer - Verify that the Imperial Guardian NPC (typically placed in Lorencia at coordinates 130, 120) is configured in
GameServer/Data/NPC.ini
"Not enough players" error even with sufficient players online
-- Check the MinPlayers value configured in the database (some builds use a dedicated table)
SELECT * FROM T_IGConfig WHERE ConfigKey = 'MinPlayers';
-- Update if necessary
UPDATE T_IGConfig SET ConfigValue = 2 WHERE ConfigKey = 'MinPlayers';
Monsters do not appear during waves
Confirm that the MonsterCode values in the IGMap*.ini files exist in the database:
SELECT MonsterCode, Name, Level
FROM Monster
WHERE MonsterCode IN (367, 368, 369);
If the query returns empty rows, the IDs are wrong for your build. Use the correct IDs found in the earlier Guardian monster query.
Summary of Edited Files
| File | What it configures |
|---|---|
GameServer/Data/ImperialGuardian/IGConfig.ini | General event parameters |
GameServer/Data/ImperialGuardian/IGMap1-4.ini | Waves and spawns per team |
ConnectServer/ConnectServer.ini | IG map registration |
T_EventSchedule (SQL) | Event run schedule |
T_IGReward (SQL) | Team rewards |
.ini files, a full GameServer restart is not required — the event module is reloaded on the next cycle. However, database changes to T_EventSchedule and T_IGReward take effect immediately.Perguntas frequentes
What is the minimum MuServer version required for Imperial Guardian?
Imperial Guardian was introduced in Season 4 Episode 2. You need MuServer S4 EP2 or higher to run the event. In Season 6 servers it is available natively. Versions S1 through S3 do not support this event.
The event does not start at the scheduled time — what should I check?
Confirm that the EventEnabled column is set to 1 in the T_EventSchedule table in the MuOnline database. Then verify that GameServer.exe is running with administrator privileges, since scheduled events do not fire without them. Finally, review GameServer/Data/ImperialGuardian/IGConfig.ini to check that MinPlayers is not set higher than the actual number of online players.
How do I increase the duration of Imperial Guardian?
In IGConfig.ini, change the EventTime parameter (value in minutes). The default is 15 minutes. For longer events such as tournaments, values between 20 and 30 minutes are recommended. Also adjust SpawnInterval so monsters do not run out before the event ends.
Can I run Imperial Guardian multiple times per day?
Yes. In the T_EventSchedule table you can insert multiple rows for the Imperial Guardian EventCode (code 9), each with a different time in the EventHour and EventMinute columns. There is no hard limit on daily runs, but a minimum gap of 30 minutes between each instance is recommended to avoid instance conflicts.