How to configure Master Level items in MU Online
Advanced guide to creating, dropping and balancing Master Level items in MU Online, integrating them with the mastery tree and each class's exclusive options.
Configuring Master Level items is one of the steps that separates a generic MU Online server from a project with its own identity. While any server files already ship with Excellent, Ancient and Socket working, it is the Master Level layer — with its exclusive options, controlled drops and integrati
Configuring Master Level items is one of the steps that separates a generic MU Online server from a project with its own identity. While any server files already ship with Excellent, Ancient and Socket working, it is the Master Level layer — with its exclusive options, controlled drops and integration with the mastery tree — that defines how your server's endgame will behave. A poorly balanced ML item can turn a class into an untouchable force in PvP; a badly calibrated drop can empty out your events or, conversely, flood the economy. This guide covers the subject end to end: what a Master Level option is from a data standpoint, how to register it, how to make the item drop in the world, how to connect it to the mastery tree, and how to test everything without breaking existing characters.
Throughout the text I use file paths and table names as illustrative examples. The conceptual structure (item option, drop table, mastery level requirement) is common to virtually every MU emulator, but the exact names vary by emulator — always check your files' documentation before applying a command literally. If you have not built the server base yet, start with the how to create a MU Online server tutorial and come back here once the GameServer is already booting without errors.
Prerequisites
Before touching any Master Level configuration, make sure the environment is ready:
- Server with Master Level already active. ML items only make sense if the mastery system is enabled and tested. If ML does not boot yet, solve that first.
- Database access (SQL Server Management Studio or equivalent) with write permission on the game database, usually called
MuOnline. - Access to the GameServer data folders, typically
GameServer/Data/, where item lists, drops and mastery configurations live. - A robust text editor (Notepad++, VS Code) with support for the correct encoding so you do not corrupt
.txtand.inifiles. - A complete and recent backup of the database and the configuration folders. Reorganizing option indexes is an operation that can invalidate existing items; without a backup, one mistake becomes permanent damage.
- A test GM character with Master Level activated and enough mastery level to equip and feel the items' effects.
Step 1: Understand what a Master Level item is
From a data standpoint, a MU item has a handful of fields that define its behavior: group code, index, level, Excellent options (a bitmask), extra option, ancient, and — in the case that interests us — a Master Level option. This ML option usually occupies its own field or a slot within the item's option block.
The Master Level option is what gives the item its role in the endgame. Common examples of ML options that emulators expose:
| Option category | Typical effect | Recommended application |
|---|---|---|
| Skill damage limit increase | Raises the damage ceiling of ML skills | Weapons and sets for offensive classes |
| Received damage reduction | Reduces damage by percentage | Defensive sets, tanks |
| Maximum HP/SD increase | Expands the health or shield bar | Survivability builds |
| Automatic recovery | Regenerates HP/mana over intervals | Support items and long PvE |
| Excellent damage increase | Conditional bonus tied to ML | Balanced offensive endgame |
The crucial point: each option has a numeric index. It is this index that the server writes into the item and that the client translates into tooltip text. When we talk about "adding an ML option", technically we are associating an index with an effect and making sure both sides (server and client) agree on what that index means.
Step 2: Locate the ML options table or file
The first concrete task is to find where your emulator declares Master Level options. There are two dominant patterns:
- File-based — a
.txtor.xmlin the GameServer data folder, with one line per option. - Database-based — a dedicated table in the
MuOnlinedatabase.
For the database pattern, an exploratory query helps discover the real table name:
USE MuOnline
GO
SELECT name FROM sys.tables
WHERE name LIKE '%Master%' OR name LIKE '%ML%' OR name LIKE '%Option%'
GO
Read the result carefully. A table with a name resembling MasterItemOption or T_ML_ItemOption (the exact name varies by emulator) usually contains columns like:
| Column (example) | Description |
|---|---|
OptionIndex | Numeric index of the option — the key that links item, server and client |
OptionType | Category of the effect (damage, defense, HP, etc.) |
OptionValue | Base value of the effect |
OptionValuePerLevel | Increment per option level, if there is an upgrade |
AllowedItemKind | Which kind of item can receive the option (weapon, armor, wings) |
If your server is file-based, look for something like GameServer/Data/MasterItemOption.txt. The structure is usually tabular, tab-separated:
// OptionIndex Type Value ValuePerLevel AllowedKind
0 1 5 1 2
1 2 10 2 1
2 3 100 20 1
// Type: 1=skill damage, 2=defense%, 3=max HP (example; varies by emulator)
Step 3: Define the item's Master Level option
With the options table mapped out, you have two routes: use an existing option or create a new one.
3.1 Use an existing option
This is the safe route. You simply make sure the item, when generated, receives the desired OptionIndex. This usually happens in the drop definition (Step 4) or when creating the item manually via a GM command. No client edit is needed, because the index is already recognized.
3.2 Create a new option
If you need an unprecedented effect, insert a new line into the table or file. SQL example (illustrative names):
USE MuOnline
GO
-- New ML option: +maximum HP, index 20
INSERT INTO MasterItemOption
(OptionIndex, OptionType, OptionValue, OptionValuePerLevel, AllowedItemKind)
VALUES
(20, 3, 500, 50, 1);
GO
After inserting the option on the server, you must make sure the client recognizes index 20. This normally involves editing the client's item translation/description files so the tooltip shows the correct text. Without this step, the effect works in the calculation, but the player sees a blank line or generic text.
Step 4: Configure the Master Level item drop
An ML item with no source of acquisition is decorative. There are three classic distribution strategies, and the best economy usually combines all three:
- Monster/map drop — the item drops from bosses or in high-level spots.
- Event reward — handed out for winning Blood Castle, Chaos Castle, invasions or custom events.
- Premium or special-currency shop — purchasable with Ruud, WCoin or donation points.
For the monster drop, locate your emulator's drop list (for example GameServer/Data/Item/ItemDrop.txt or a drop table in the database — varies by emulator). The concept is always the same: associate an item, with its options, to a source, and define a percentage chance.
// MapNumber MonsterClass ItemGroup ItemIndex ItemLevel MLOptionIndex Chance(%)
8 45 12 36 2 20 1.5
// ML Wings (group 12, index 36), level 2, ML option 20, 1.5% on map 8
Drop calibration recommendations:
| Source | Suggested chance | Rationale |
|---|---|---|
| Dedicated endgame boss | 1% to 3% | Rare enough to be valued, common enough not to frustrate |
| High-level map spot | 0.05% to 0.3% | Constant, diluted flow for prolonged farming |
| Guaranteed event reward | 100% (fixed item) | Predictability that encourages participation |
Step 5: Integrate the item with the mastery tree
The most common mistake when introducing ML items is ignoring how they add up with the Master Skill Tree. The item option and the skills chosen by the player combine in the final calculation. If you created a "+skill damage limit" option and the class already has tree nodes that do the same thing, the result can explode.
Do the summation exercise for each critical class:
- Measure the damage/defense ceiling the mastery tree already grants when maxed out.
- Add what your item option contributes at the maximum level.
- Compare with the average HP/defense of the other classes at the same stage.
- Adjust
OptionValueandOptionValuePerLevelso the combined peak stays within a healthy range.
-- Check the combined effect of an option under test
USE MuOnline
GO
SELECT OptionIndex, OptionType, OptionValue,
OptionValue + (OptionValuePerLevel * 10) AS ValueLevel10
FROM MasterItemOption
WHERE OptionIndex = 20
GO
Step 6: Mastery level requirements for the options
Many emulators let you require the character to have a minimum Master Level for the item option to actually apply. This prevents an endgame item from being "carried" by a newly arrived character. Where it exists, the field is usually called something like RequiredMasterLevel in the options table, or a check in the attribute calculation.
-- Require ML 50 for option 20 to count (illustrative field; varies by emulator)
UPDATE MasterItemOption
SET RequiredMasterLevel = 50
WHERE OptionIndex = 20
GO
If your emulator does not support this requirement natively, you can simulate the effect by controlling the drop and the source — placing the item only in content that only advanced characters can reach.
Step 7: Create test items and validate
Before releasing to players, generate test items with the GM character. The exact item-creation command varies by emulator, but the flow is always: create the item with the desired ML option, equip it, observe the tooltip and measure the attributes on the character.
Mandatory checks during testing:
- The tooltip shows the correct ML option description.
- The character's attributes change by the expected value when equipping.
- The option disappears correctly when unequipping.
- The effect scales according to the option level, if applicable.
- The item persists after relogging (it is not deleted nor has its option zeroed when saving).
-- View the raw state of an item in a test character's inventory
USE MuOnline
GO
SELECT Name, Inventory
FROM Character
WHERE Name = 'YourGMChar'
GO
Step 8: Communicate and document the options
An ML item system is only good if players understand it. Document, on your site or forum, which options exist, their values per level and where they drop. This reduces support tickets, feeds the metagame and avoids the feeling that drops are random and unfair. Keep a public table mirroring exactly what is configured on the server — a divergence between what is advertised and what is real is one of the main causes of complaints on private servers.
Common errors and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| Option tooltip appears blank | Client does not recognize the new OptionIndex | Update the item description files in the client |
| Item drops but without the ML option | Drop configured without stating the option index | Include the ML option field in the drop line |
| Option does not change attributes | Master Level requirement not met by the character | Activate ML and reach the required minimum mastery level |
| Old items with the wrong effect | Index reorganization remapped existing options | Restore legacy indexes or migrate old items |
| Class became dominant in PvP | Option adds up with mastery tree nodes | Reduce OptionValue/OptionValuePerLevel and rebalance |
| Option disappears after relog | Item persistence does not save the ML field | Check whether the inventory save includes the option slot |
| Drop never happens | Chance set below the emulator's effective minimum | Raise the chance or review the supported granularity |
Launch checklist
- Complete backup of the database and data folders done and verified
- ML options table/file located and cataloged
- New options inserted on the server with conflict-free indexes
- Client updated to recognize the new option indexes
- Item drops configured in the chosen sources with calibrated chances
- Combined effect with the mastery tree tested per class
- Master Level requirement defined (or simulated via drop source)
- Test items generated, equipped and validated on the GM character
- Persistence confirmed after relog and GameServer restart
- Public documentation of the options published and synced with the server
- GameServer fully restarted after all changes
Frequently asked questions
Are Master Level items different from Excellent items?
Yes. Master Level items normally carry exclusive options tied to the mastery system (such as increased damage for ML skills) and usually have an extra option slot that is only read once the character has activated Master Level. An Excellent item can exist without any relation to the mastery tree, whereas the ML option set was designed to work together with it.
Do I need to edit the client to add Master Level options?
It depends on what you want. Enabling drops and adjusting rates is done only on the server side. But if you create a brand-new visual option (text that appears in the item tooltip) or an unprecedented effect, the client has to recognize that option's index. Without the client-side update the item still works, but the description may appear blank or incorrect.
How do I make a Master Level item drop only on a specific map?
You define the item in the drop list of the desired monster or map and keep the drop chance at zero everywhere else. The exact granularity (per monster, per map or per item group) varies by emulator, but the concept is always to restrict the drop source to a single controlled origin.
What is the difference between the item's Master Level option and the mastery tree skill?
The item option is a fixed attribute written into the item itself (for example, +skill damage limit). The tree skill is chosen by the player when spending mastery points. The two add up in the final calculation, so poor item balancing can massively inflate builds that have already invested heavily in the tree.
Do old Master Level items stop working if I change the options?
They can stop reflecting the new value. Items already stored in the database keep the option index they had at the moment they were created. If you remap option indexes, old items end up pointing to the wrong option. That is why, when reorganizing the option table, you should plan a migration or keep the legacy indexes intact.