Brazil's biggest MU Online portal — since 2003
Tutorial Intermediate Tutoriais

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.

VI ViciadosMU Team · Updated on 3 jul 2026 · ⏱ 12 min read

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 MuOnline database
  • GameServer stopped or with the ability to reload configurations without a full restart
  • Read/write permissions on the .ini configuration 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
Nota: The 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
Dica: For a server with a small player base, reduce 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:

ColumnDescription
BC_LevelBlood Castle level (1 to 7)
BC_Enable1 = active, 0 = disabled
BC_MinLevelMinimum character level
BC_MaxLevelMaximum character level
BC_MaxUserMaximum players per room
BC_RewardExpReward experience
BC_RewardZenReward 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
Atenção: Always back up the table before running UPDATEs in production: ``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.

Dica: Temporarily enable verbose logging on the GameServer (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.

VI

ViciadosMU Team

Equipe editorial do ViciadosMU — portal de MU Online no ar desde 2003.

Keep reading

Related articles