How to Configure Devil Square Individually on MU Server
Learn how to configure each Devil Square level separately on your MU Online server, adjusting schedules, monsters, drops, and level limits via config files and SQL.
How to Configure Devil Square Individually on MU Server
Devil Square (DS) is one of the most popular events on private MU Online servers. Rather than simply enabling or disabling the event globally, configuring each level individually lets you balance the player experience to match your server's profile — XP rates, monster difficulty, exclusive drops, and staggered schedules.
This guide covers complete level-by-level configuration for servers based on MuServer Season 6 (GameServer IGC/Zeuthl), the most widely used build for private servers, with additional notes for S4/S5 and S9+ versions.
Prerequisites
Before starting, make sure:
- The GameServer is stopped (never edit files while the server is running)
- You have access to SQL Server Management Studio (SSMS) connected to the
MuOnlinedatabase - Recent backups of the database and configuration files are available
GameServer/Data/DevilSquare/ and the MuOnline database before making any changes. An incorrect configuration can prevent the server from starting.Step 1 — Locate the Configuration Files
In Season 6, Devil Square files are located at:
GameServer/
└── Data/
└── DevilSquare/
├── DevilSquare.ini ← Schedules and general settings per level
├── DevilSquareMonster.ini ← Monsters per DS level
└── DevilSquareItem.ini ← Item drops per level (some versions)
1.1 Open DevilSquare.ini in a text editor (Notepad++ is recommended, ANSI encoding).
1.2 Locate the opening section — it will have blocks like:
[DevilSquare1]
Enable=1
StartTime0=00:00
StartTime1=04:00
StartTime2=08:00
StartTime3=12:00
StartTime4=16:00
StartTime5=20:00
PlayTime=15
WaitTime=5
MinLevel=15
MaxLevel=80
MaxPlayers=10
[DevilSquare2]
Enable=1
StartTime0=00:30
StartTime1=04:30
...
Each block from [DevilSquare1] to [DevilSquare5] is independent and can be configured separately.
Step 2 — Configure Schedules Per Level
The most efficient strategy is to stagger schedules so that different DS levels do not open simultaneously, reducing server load and giving players options throughout the day.
Recommended staggered schedule example:
[DevilSquare1]
Enable=1
StartTime0=00:00
StartTime1=06:00
StartTime2=12:00
StartTime3=18:00
PlayTime=15
WaitTime=5
[DevilSquare2]
Enable=1
StartTime0=01:00
StartTime1=07:00
StartTime2=13:00
StartTime3=19:00
PlayTime=15
WaitTime=5
[DevilSquare3]
Enable=1
StartTime0=02:00
StartTime1=08:00
StartTime2=14:00
StartTime3=20:00
PlayTime=15
WaitTime=5
[DevilSquare4]
Enable=1
StartTime0=03:00
StartTime1=09:00
StartTime2=15:00
StartTime3=21:00
PlayTime=15
WaitTime=5
[DevilSquare5]
Enable=1
StartTime0=04:00
StartTime1=10:00
StartTime2=16:00
StartTime3=22:00
PlayTime=15
WaitTime=5
PlayTime is the event duration in minutes after it opens. WaitTime is the lobby waiting period before the event starts. Values between 5 and 20 minutes are the most balanced.Step 3 — Configure Level Ranges Per DS
Still in DevilSquare.ini, adjust the MinLevel and MaxLevel parameters for each block. For servers using a reset system, replace these values with a reset range if your GameServer supports MinReset/MaxReset fields:
[DevilSquare1]
MinLevel=15
MaxLevel=80
[DevilSquare2]
MinLevel=81
MaxLevel=130
[DevilSquare3]
MinLevel=131
MaxLevel=180
[DevilSquare4]
MinLevel=181
MaxLevel=230
[DevilSquare5]
MinLevel=231
MaxLevel=400
MaxLevel for DS5 to match your server's cap. Characters above the configured MaxLevel will not be able to enter.Step 4 — Configure Monsters Per Level in DevilSquareMonster.ini
The DevilSquareMonster.ini file defines which monsters appear at each level. The typical format is:
[DevilSquare1Monster]
MonsterCount=5
Monster0=26 ; Werewolf
Monster1=30 ; Hell Hound
Monster2=41 ; Poison Bull Fighter
Monster3=44 ; Death Angel
Monster4=45 ; Death Centipede
[DevilSquare2Monster]
MonsterCount=5
Monster0=55 ; Hell Spider
Monster1=57 ; Shadow
Monster2=61 ; Balrog
Monster3=64 ; Gorgon
Monster4=66 ; Stone Golem
[DevilSquare3Monster]
MonsterCount=5
Monster0=73 ; Iron Rider
Monster1=75 ; Tantallos
Monster2=77 ; Knucle Scream
Monster3=79 ; Death Gorgon
Monster4=82 ; Queen Bee
[DevilSquare4Monster]
MonsterCount=5
Monster0=87 ; Blood Soldier
Monster1=89 ; Aegis
Monster2=91 ; Rogue Centurion
Monster3=93 ; Necron
Monster4=95 ; Scream
[DevilSquare5Monster]
MonsterCount=5
Monster0=97 ; Blaze Napin
Monster1=99 ; Dark Elf
Monster2=101 ; Great Bahamut
Monster3=103 ; Silver Valkyrie
Monster4=105 ; Dark Coolutin
The monster IDs (Monster0, Monster1, etc.) correspond to the Type field in the MonsterSetBase table of your database.
Step 5 — Adjust Drops via SQL Server
To configure exclusive drops per Devil Square level, open SSMS and run the following queries against the MuOnline database:
5.1 — Check current DS drop table:
USE MuOnline
GO
SELECT *
FROM T_EventDropItem
WHERE EventType = 2 -- 2 = Devil Square
ORDER BY EventLevel, ItemIndex
5.2 — Insert an exclusive drop for DS1 (e.g., Jewel of Bless):
INSERT INTO T_EventDropItem (EventType, EventLevel, ItemIndex, ItemSubIndex, ItemLevel, Durability, DropRate)
VALUES (2, 1, 14, 0, 0, 255, 10)
-- EventLevel 1 = DS1, ItemIndex 14 = Jewel of Bless, DropRate 10 = 10%
5.3 — Insert a drop for DS5 (e.g., Box of Kundun +5):
INSERT INTO T_EventDropItem (EventType, EventLevel, ItemIndex, ItemSubIndex, ItemLevel, Durability, DropRate)
VALUES (2, 5, 14, 15, 0, 255, 5)
-- ItemSubIndex 15 = Box of Kundun +5, DropRate 5 = 5%
5.4 — Remove an unwanted drop from a specific level:
DELETE FROM T_EventDropItem
WHERE EventType = 2
AND EventLevel = 3
AND ItemIndex = 14
AND ItemSubIndex = 0
T_EventDropItem, T_DevilSquareSetting, etc.) vary by MuServer version. Verify your schema with SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%Devil%' before executing any queries.Step 6 — Configure via SQL Table (Servers with Database-Stored Config)
Some MuServer versions (especially newer builds based on S6EP3 and above) store DS configuration directly in the database:
USE MuOnline
GO
-- Check current settings
SELECT * FROM T_DevilSquareSetting ORDER BY DSLevel
-- Update DS3 opening schedule
UPDATE T_DevilSquareSetting
SET StartTime1 = '08:00:00',
StartTime2 = '14:00:00',
StartTime3 = '20:00:00',
PlayTime = 15,
WaitTime = 5,
MinLevel = 131,
MaxLevel = 180
WHERE DSLevel = 3
-- Temporarily disable DS4
UPDATE T_DevilSquareSetting
SET Enable = 0
WHERE DSLevel = 4
Step 7 — Configure Player Limits Per Level
The MaxPlayers field controls how many players can enter each DS instance. Adjust according to your server's capacity:
[DevilSquare1]
MaxPlayers=15 ; Beginner DS, more crowded
[DevilSquare2]
MaxPlayers=12
[DevilSquare3]
MaxPlayers=10
[DevilSquare4]
MaxPlayers=8
[DevilSquare5]
MaxPlayers=6 ; High-level DS, more restricted
MaxPlayers above 10. Very high values can cause lag during the event.Step 8 — Test the Configuration
After saving all files:
- Start the GameServer normally
- Log in with a GM account and use the command
/dsopen [level](or the equivalent for your server) to open DS manually - Enter the DS with a character within the configured level range
- Verify that the correct monsters appear
- Wait for the event to end and confirm drops are occurring
/event ds [1-5] or via the GM web panel. Check the documentation specific to your build.Common Troubleshooting
DS does not open on schedule:
- Confirm the Windows server clock is correct (run
w32tm /query /statusin CMD) - Verify that
Enable=1is set for the level in question - Check the log at
GameServer/Log/for errors related toDevilSquare
Players cannot enter:
- The character may be outside the level range (
MinLevel/MaxLevel) - The DS may have already reached
MaxPlayers - Verify that the entry item (Invitation of Devil Square) matches the correct DS level
Server crashes on startup after configuration changes:
- Revert to the
DevilSquare.inibackup - Open
DevilSquare.iniand look for lines with special characters or extra spaces in numeric values - Ensure all blocks from
[DevilSquare1]to[DevilSquare5]have all required fields filled in
With these individual configurations, each Devil Square level will have its own schedule, monsters, drops, and player limits, providing a balanced and diverse experience for all player profiles on your server.
Perguntas frequentes
How many Devil Square levels exist in Season 6?
Season 6 has 5 Devil Square levels (DS1 to DS5), each with a different character level range: DS1 for low resets/level 15-80, DS2 for level 81-130, DS3 for level 131-180, DS4 for level 181-230, and DS5 for level 231-280 or above.
Where is the main Devil Square configuration file?
It depends on your MuServer version. In Season 6 (GameServer IGC/Zeuthl), the file is GameServer/Data/DevilSquare/DevilSquare.ini, or settings may be stored in the T_DevilSquareSetting table in the MuOnline SQL Server database.
How do I change Devil Square opening times without restarting the server?
In most versions this is not possible in real-time. Edit the DevilSquare.ini file or the configuration table in the database, then restart the GameServer to apply changes. Some custom launchers support event reloading via a GM command.
Devil Square opens but no monsters appear — what should I check?
Verify that GameServer/Data/DevilSquare/DevilSquareMonster.ini has the correct monster IDs for the configured level, and that MonsterSetBase.cfg lists those monsters with valid coordinates on the Devil Square map (map ID 9).