How to Configure Blood Castle Individually on MU Server
Learn to configure each Blood Castle level separately on your MU Online server, adjusting schedules, requirements and rewards via config files and SQL.
Introduction
Blood Castle is one of the most popular MU Online events, available in 7 levels with different character requirements for each one. Configuring it individually allows you to adjust schedules, player counts, entry items, and rewards in a granular way — without having to edit a single global value that affects all levels simultaneously.
This guide covers the complete configuration for servers based on MuEmu/MuServer Season 6 Episode 3, the most common setup in private servers.
Prerequisites
- Access to the
GameServer/directory on the server - SQL Server Management Studio (SSMS) with access to the
MuOnlinedatabase - GameServer stopped or with the ability to reload configurations without a full restart
- Read/write permissions on the
.iniconfiguration files
Part 1 — Event Configuration File
Step 1: Locate the EventBCConfig.ini file
The main Blood Castle configuration file is located at:
GameServer/Data/Events/EventBCConfig.ini
In some older versions (S4/S5), the file may be at:
GameServer/Data/BCConfig.ini
Open the file with a plain text editor (Notepad++ is recommended — never use the default Notepad, as it may corrupt the encoding).
Step 2: Understand the section structure
Each Blood Castle level has its own section in the file. The basic structure is:
[BloodCastle1]
Enable=1
MaxPlayer=10
MinLevel=15
MaxLevel=80
NeedItem=13,0 ; ItemSection,ItemIndex of Billet of Blood Castle 1
EnterTime=01:00,09:00,17:00,21:00
OpenDuration=15 ; minutes the event stays open for entry
PlayDuration=20 ; minutes the match lasts
RewardExp=50000
RewardZen=200000
RewardItem=13,1,0,0,1 ; ItemSection,ItemIndex,Level,Option,Count
[BloodCastle2]
Enable=1
MaxPlayer=10
MinLevel=81
MaxLevel=130
NeedItem=13,1
EnterTime=01:00,09:00,17:00,21:00
OpenDuration=15
PlayDuration=20
RewardExp=100000
RewardZen=300000
RewardItem=13,2,0,0,1
NeedItem values follow the Section,Index format from the Item.bmd file. The Billet of Blood Castle 1 is typically section 13, index 0. Check your Item.bmd or the T_ItemList table in your database to confirm the correct indexes for your version.Step 3: Configure each level individually
Edit each section separately according to your server's needs. Below is an example of differentiated configuration per level:
[BloodCastle3]
Enable=1
MaxPlayer=8 ; smaller room for mid-level players
MinLevel=131
MaxLevel=180
NeedItem=13,2
EnterTime=03:00,11:00,19:00,23:00 ; different schedule from other levels
OpenDuration=10
PlayDuration=25
RewardExp=200000
RewardZen=500000
RewardItem=13,3,0,0,1
[BloodCastle7]
Enable=1
MaxPlayer=5 ; exclusive room for high levels, more competitive
MinLevel=321
MaxLevel=999
NeedItem=13,6
EnterTime=07:00,15:00,23:00 ; only 3 times per day
OpenDuration=10
PlayDuration=30
RewardExp=2000000
RewardZen=5000000
RewardItem=13,7,0,0,1
MaxPlayer to 5 and increase the frequency of EnterTime. This prevents rooms from sitting empty and improves the experience for high-level players.Step 4: Save and verify file encoding
Before saving, check in Notepad++ that the encoding is set to ANSI or UTF-8 without BOM. Files saved with BOM can cause silent read failures by the GameServer.
Part 2 — Database Configuration
Some MuServer versions store Blood Castle settings directly in SQL Server, replacing or complementing the .ini file.
Step 5: Check the configuration table
USE MuOnline
GO
SELECT * FROM T_BloodCastleConfig
ORDER BY BC_Level ASC
If the table exists, it takes precedence over the .ini file in many builds. Common columns are:
| Column | Description |
|---|---|
BC_Level | Blood Castle level (1 to 7) |
BC_Enable | 1 = active, 0 = disabled |
BC_MinLevel | Minimum character level |
BC_MaxLevel | Maximum character level |
BC_MaxUser | Maximum players per room |
BC_RewardExp | Reward experience |
BC_RewardZen | Reward zen |
Step 6: Update settings individually via SQL
-- Disable Blood Castle 1 temporarily (maintenance)
UPDATE MuOnline..T_BloodCastleConfig
SET BC_Enable = 0
WHERE BC_Level = 1
-- Adjust Blood Castle 7 rewards for a high-rate server
UPDATE MuOnline..T_BloodCastleConfig
SET BC_RewardExp = 5000000,
BC_RewardZen = 10000000,
BC_MaxUser = 5
WHERE BC_Level = 7
-- View current configuration for all levels
SELECT BC_Level, BC_Enable, BC_MinLevel, BC_MaxLevel,
BC_MaxUser, BC_RewardExp, BC_RewardZen
FROM MuOnline..T_BloodCastleConfig
ORDER BY BC_Level
sql SELECT * INTO T_BloodCastleConfig_Backup_20260703 FROM MuOnline..T_BloodCastleConfig ``Part 3 — Schedules via Database
Step 7: Configure schedules in the T_EventSchedule table
If your server uses the T_EventSchedule table for schedule control:
-- View current Blood Castle schedules
SELECT * FROM MuOnline..T_EventSchedule
WHERE EventType = 'BC'
ORDER BY EventLevel, StartTime
-- Update Blood Castle 5 schedule
UPDATE MuOnline..T_EventSchedule
SET StartTime = '20:00:00',
Duration = 20
WHERE EventType = 'BC' AND EventLevel = 5
-- Add a new schedule for Blood Castle 7
INSERT INTO MuOnline..T_EventSchedule
(EventType, EventLevel, StartTime, Duration, IsEnabled)
VALUES ('BC', 7, '23:30:00', 25, 1)
Part 4 — Testing and Monitoring
Step 8: Reload configurations without restarting the server
In many GameServer versions, you can send a command through the server interface to reload events:
/reloadbc
/reloadconfig BC
If the command does not exist in your version, you will need to restart only the GameServer process (not the ConnectServer or DataServer).
Step 9: Check event state in the database
-- Check current state of all Blood Castle rooms
SELECT BC_Level, BC_State, BC_UserCount, BC_StartTime
FROM MuOnline..T_BloodCastle
ORDER BY BC_Level
-- Manually reset a stuck room
UPDATE MuOnline..T_BloodCastle
SET BC_State = 0,
BC_UserCount = 0
WHERE BC_Level = 3 AND BC_State <> 0
Step 10: Monitor error logs
Check the GameServer log file to confirm that configurations were loaded:
GameServer/Log/GameServer_YYYYMMDD.log
Look for lines containing [BloodCastle] or [BC] to confirm that each level was initialized correctly. Configuration errors usually appear as [BC] Level X: Invalid config or [BC] Item not found.
LogLevel=3 in GameServer.ini) during testing to see full event initialization details.Common Troubleshooting
Event does not open on schedule: Check that the operating system time is correct and that the GameServer process is not frozen. Run SELECT GETDATE() in SSMS to compare with the configured schedule.
Players cannot enter: Confirm that the MinLevel and MaxLevel of the section match the test character's level. Also verify that the entry item (Billet) has the correct index in the configuration file.
Room closes early: The PlayDuration parameter may be in seconds in some server versions rather than minutes. Test with values multiplied by 60 if the behavior is inconsistent.
Reward is not delivered: Verify that RewardItem points to an item that exists in Item.bmd and that the character's inventory has free space. Some servers require the character to be alive at the time of event completion.
Perguntas frequentes
Can I disable only one Blood Castle level without affecting the others?
Yes. In the EventBCConfig.ini file (or equivalent), each level has its own section [BloodCastle1] through [BloodCastle7]. Simply set Enable=0 in the desired level's section to disable it individually.
What is the maximum number of players allowed per Blood Castle room?
It depends on the server version. In standard Season 6, the maximum is 10 players per room. You can adjust the MaxPlayer (or BCMaxPlayer) parameter in the corresponding config file section.
Are Blood Castle schedules based on UTC or server time?
Schedules follow the operating system clock where the GameServer is running. Make sure the Windows Server time zone is configured correctly before setting event times.
How do I reset the Blood Castle status in the database when the event gets stuck?
Run: UPDATE MuOnline..T_BloodCastle SET BC_State = 0, BC_UserCount = 0 WHERE BC_State <> 0. This resets all active states without needing to restart the server.