How to Configure Custom Drops per Item on MU Server
Learn how to configure custom item drops on your MU Online private server using .bmd files, SQL tables, and drop chance parameters per monster group.
Introduction
The drop system is one of the most critical components of a private MU Online server. Correctly configuring the items each monster can drop — with the right chances and conditions — determines the server economy balance and the overall player experience.
This tutorial covers custom drop configuration both via data files and SQL Server database tables, applicable to Season 2 through Season 13 versions.
How the Drop System Works
In MuServer, each monster has a DropGroup (drop group). This group is a list of possible items, each with:
- ItemIndex: numeric identifier of the item
- ItemLevel: level of the item to be dropped
- DropChance: drop probability (0 to 9,000,000)
- MinExcOpt / MaxExcOpt: number of excellent options on the item
The GameServer reads this data on startup from the database or from .bmd files, depending on the installed version.
GameServer/Data/Item/ItemBag.bmd in conjunction with the T_ItemDropGroup table in the MuOnline database. Older versions (S1-S4) rely almost entirely on .txt and .bmd files.Step by Step: Configuration via SQL Server Database
Step 1 — Identify the Monster's DropGroup
Connect to the MuOnline database via SQL Server Management Studio (SSMS) and run:
SELECT MonsterIndex, MonsterName, DropGroup
FROM T_MonsterSetBase
WHERE MonsterName LIKE '%Hydra%'
Note the DropGroup value. This number links the monster to its drop group.
Step 2 — Query the Items in the Drop Group
SELECT *
FROM T_ItemDropGroup
WHERE DropGroup = 12
ORDER BY ItemIndex
This lists all items that the monster with DropGroup = 12 can drop.
Step 3 — Insert a New Item into the Drop Group
To add, for example, a Darkangel Armor +0 with a 0.5% chance:
INSERT INTO T_ItemDropGroup
(DropGroup, ItemIndex, ItemType, ItemLevel, DropChance, MinExcOpt, MaxExcOpt, MinLuck, MaxLuck, MinSkill, MaxSkill, MinDur, MaxDur, MinOpt, MaxOpt)
VALUES
(12, 27, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0)
45000 represents approximately 0.5% chance. To calculate: 45000 / 9000000 * 100 = 0.5%. Use this formula to adjust any desired probability.Step 4 — Change the Drop Chance of an Existing Drop
To increase the drop chance of an item already in the group:
UPDATE T_ItemDropGroup
SET DropChance = 90000
WHERE DropGroup = 12
AND ItemIndex = 27
AND ItemType = 0
This raises the drop chance to 1%.
Step 5 — Remove an Item from a Drop Group
DELETE FROM T_ItemDropGroup
WHERE DropGroup = 12
AND ItemIndex = 27
AND ItemType = 0
SELECT to confirm the affected records before executing DELETE.Step by Step: Configuration via ItemBag.bmd File (Season 6)
For Season 6 servers, drops are also controlled by the binary file ItemBag.bmd, located at:
GameServer/Data/Item/ItemBag.bmd
Step 1 — Open the File with the Correct Editor
Use the ItemBagEditor (Season 6 specific tool) or MuHelper Item Editor. Do not edit the .bmd file with a text editor — it is binary and will be corrupted.
Step 2 — Locate the Drop Group
In the editor interface, locate the BagIndex corresponding to the desired monster. This index must match the DropGroup defined in Monster.txt or in the T_MonsterSetBase table.
Step 3 — Add or Edit Entries
Each entry in ItemBag.bmd contains:
| Field | Description |
|---|---|
| ItemType | Item category (0 = Armor, 4 = Weapon, etc.) |
| ItemIndex | Item ID within the category |
| ItemLevel | Item level |
| DropRate | Probability (0-9,000,000) |
| ExcellentOption | Number of excellent options |
Save and recompile the file if necessary (some editors generate the .bmd directly).
Step 4 — Replace the File on the Server
GameServer/Data/Item/ItemBag.bmd <- replace here
ItemBag.bmd before replacing it. A corrupted file will prevent the GameServer from starting.Configuring Drops with Excellent Options
To configure items that drop with excellent options, adjust the MinExcOpt and MaxExcOpt fields:
UPDATE T_ItemDropGroup
SET MinExcOpt = 1,
MaxExcOpt = 2,
DropChance = 9000
WHERE DropGroup = 15
AND ItemIndex = 35
This makes the item drop with 1 to 2 excellent options, at a 0.1% chance.
MaxExcOpt = 6 have all excellent options active. Use this sparingly — items with full exc options and a high drop rate will quickly unbalance the server economy.Creating a Brand New DropGroup
If you want an existing monster to have a completely custom drop group:
1. Choose a free DropGroup number (check existing ones to avoid conflicts):
SELECT DISTINCT DropGroup FROM T_ItemDropGroup ORDER BY DropGroup DESC
2. Insert items for the new group (e.g., DropGroup = 200):
INSERT INTO T_ItemDropGroup (DropGroup, ItemIndex, ItemType, ItemLevel, DropChance, MinExcOpt, MaxExcOpt, MinLuck, MaxLuck, MinSkill, MaxSkill, MinDur, MaxDur, MinOpt, MaxOpt)
VALUES
(200, 10, 4, 0, 180000, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0),
(200, 15, 4, 0, 90000, 0, 0, 0, 1, 0, 1, 255, 255, 0, 0),
(200, 27, 0, 0, 45000, 0, 2, 0, 0, 0, 0, 255, 255, 0, 0)
3. Associate the group with the monster:
UPDATE T_MonsterSetBase
SET DropGroup = 200
WHERE MonsterIndex = 47
4. Restart the GameServer to apply the changes.
Zen (Money) Drops
Zen drop is not controlled by T_ItemDropGroup. It is configured directly in the file:
GameServer/Data/Monster.txt
Each monster line contains columns for MoneyDropMin and MoneyDropMax. Edit the values directly:
// MonsterIndex Name ... MoneyMin MoneyMax DropGroup
47 Dark Knight 5000 15000 200
Verifying Drops in Production
After restarting the server, monitor drops with the following query to track the drop history (if your server has a drop log):
SELECT TOP 100 *
FROM T_DropLog
WHERE ItemIndex = 27
ORDER BY LogDate DESC
T_DropLog table. If it does not exist, verification must be done in-game by killing monsters and observing the dropped items.Troubleshooting
The item does not appear in drops:
- Confirm the monster's
DropGroupis correct inT_MonsterSetBase - Verify that
ItemIndexandItemTypecorrespond to an existing item inT_Item - Restart the GameServer — database changes are not read in real time
The server does not start after editing ItemBag.bmd:
- Restore the backup of the original file
- Check whether the editor used is compatible with your server's Season version
Items drop with incorrect options:
- Review the
MinExcOpt/MaxExcOptandMinSkill/MaxSkillfields in theT_ItemDropGrouptable
Perguntas frequentes
Which SQL table controls monster drops?
The main table is T_ItemDropGroup in the MuOnline database. Each row associates a drop group (DropGroup) with a specific item, including its probability and min/max level.
Does the ItemBag.bmd file control drops?
Yes, on Season 6 servers the file GameServer/Data/Item/ItemBag.bmd defines drop groups per monster. It is a compiled binary file and requires a specific tool (ItemBagEditor or MuHelper) to edit.
How do I calculate the drop probability correctly?
The chance is expressed as a value from 0 to 9,000,000 (representing 0% to 100%). For example, 9000 equals a 0.1% chance. Use the formula: Chance% = (value / 9000000) * 100.
Why is the item not dropping even after configuration?
Verify the server was restarted after the changes, that the monster's DropGroup is correctly mapped in T_MonsterSetBase or Monster.txt, and that the ItemIndex corresponds to the intended item.