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

How to Configure Master Level per Class on MU Online Server

Complete technical guide to configure Master Level individually per class on a MU Online private server, covering SQL queries, .ini files, and error troubleshooting.

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

Master Level (ML) is one of the most valued progression systems in MU Online private servers. Configuring it per class — rather than applying a single global value — allows you to create balanced gameplay experiences where Fairy Elfs and Dark Wizards can have different ML caps than Dark Lords or Rage Fighters. This guide covers the complete process for MuServer Season 6 (the most popular in private servers), with notes for Season 9+ throughout the text.


Prerequisites

Before starting, make sure you have:

  • Access to SQL Server Management Studio (SSMS) connected to the MuOnline database
  • Read/write permission on the GameServer/Data/ and GameServer/Setup/ folders
  • The server shut down during edits to critical tables or class .ini files
  • A database backup (see the backup tutorial before proceeding)
Atenção: Never edit Master Level tables while the GameServer is running with players connected. Mid-session changes can corrupt active characters' ML progress.

Step 1: Identify Your MuServer Version

The configuration method differs between versions. Run this query to check:

USE MuOnline
GO
SELECT name FROM sys.tables WHERE name LIKE '%Master%' OR name LIKE '%ML%'
GO

Interpret the results:

  • Tables like T_ML_CLASS_INFO, T_ML_SKILL_LISTSeason 6 with database
  • Table MasterLevelSkillTreeSeason 9 to 13
  • No ML tables found → configuration via .ini file (skip to Step 3)

Step 2: Configure Master Level per Class via SQL (Season 6)

2.1 Check the Class Table Structure

USE MuOnline
GO
SELECT * FROM T_ML_CLASS_INFO
GO

The table normally contains columns such as:

ColumnDescription
ClassCodeNumeric class code (see below)
MaxMasterLevelMaximum allowed ML level
MLPointsPerLevelML points earned per level
MLExpMultiplierML experience multiplier

Class code reference table:

CodeClassEvolution
0Dark WizardSoul Master / Grand Master
1Dark KnightBlade Knight / Blade Master
2Fairy ElfMuse Elf / High Elf
3Magic GladiatorDuel Master
4Dark LordLord Emperor
5SummonerDimension Master
6Rage FighterFist Master

2.2 Change the ML Cap per Class

Example: set ML 200 for Dark Wizard, ML 150 for Rage Fighter, and ML 300 for Dark Knight:

USE MuOnline
GO

-- Dark Wizard (ClassCode 0): max ML 200
UPDATE T_ML_CLASS_INFO
SET MaxMasterLevel = 200, MLPointsPerLevel = 1, MLExpMultiplier = 100
WHERE ClassCode = 0

-- Dark Knight (ClassCode 1): max ML 300
UPDATE T_ML_CLASS_INFO
SET MaxMasterLevel = 300, MLPointsPerLevel = 1, MLExpMultiplier = 90
WHERE ClassCode = 1

-- Fairy Elf (ClassCode 2): max ML 200
UPDATE T_ML_CLASS_INFO
SET MaxMasterLevel = 200, MLPointsPerLevel = 1, MLExpMultiplier = 100
WHERE ClassCode = 2

-- Magic Gladiator (ClassCode 3): max ML 200
UPDATE T_ML_CLASS_INFO
SET MaxMasterLevel = 200, MLPointsPerLevel = 1, MLExpMultiplier = 100
WHERE ClassCode = 3

-- Dark Lord (ClassCode 4): max ML 200
UPDATE T_ML_CLASS_INFO
SET MaxMasterLevel = 200, MLPointsPerLevel = 1, MLExpMultiplier = 100
WHERE ClassCode = 4

-- Summoner (ClassCode 5): max ML 200
UPDATE T_ML_CLASS_INFO
SET MaxMasterLevel = 200, MLPointsPerLevel = 1, MLExpMultiplier = 100
WHERE ClassCode = 5

-- Rage Fighter (ClassCode 6): max ML 150 (balance adjustment)
UPDATE T_ML_CLASS_INFO
SET MaxMasterLevel = 150, MLPointsPerLevel = 1, MLExpMultiplier = 120
WHERE ClassCode = 6

GO

2.3 Set the Minimum Level Required to Activate Master Level

ML only becomes available when the character reaches the maximum normal level. Verify and adjust:

USE MuOnline
GO

-- Check current minimum level setting for ML activation
SELECT * FROM T_ML_CONFIG
GO

-- Set level 400 as the minimum requirement for all classes to activate ML
UPDATE T_ML_CONFIG
SET MinLevelToActivateML = 400
WHERE ConfigKey = 'GLOBAL_MIN_LEVEL'
GO
Nota: In some MuServer S6 builds, the minimum level field is in the GameServerInfo table or the GameServerInfo.ini file, not in T_ML_CONFIG. If the query returns an error, proceed to Step 3.

Step 3: Configure via MasterLevelSetting.ini

If your server uses .ini files for ML control, locate the file at:

GameServer/Data/MasterLevelSetting.ini

or in some versions:

GameServer/Setup/MasterLevelConfig.ini

3.1 Typical File Structure

Open with Notepad++ and look for per-class blocks:

[MasterLevel_DarkWizard]
Enable = 1
MaxMasterLevel = 200
PointsPerLevel = 1
ExpMultiplier = 100
MinLevelRequired = 400

[MasterLevel_DarkKnight]
Enable = 1
MaxMasterLevel = 300
PointsPerLevel = 1
ExpMultiplier = 90
MinLevelRequired = 400

[MasterLevel_FairyElf]
Enable = 1
MaxMasterLevel = 200
PointsPerLevel = 1
ExpMultiplier = 100
MinLevelRequired = 400

[MasterLevel_MagicGladiator]
Enable = 1
MaxMasterLevel = 200
PointsPerLevel = 1
ExpMultiplier = 100
MinLevelRequired = 400

[MasterLevel_DarkLord]
Enable = 1
MaxMasterLevel = 200
PointsPerLevel = 1
ExpMultiplier = 100
MinLevelRequired = 400

[MasterLevel_Summoner]
Enable = 1
MaxMasterLevel = 200
PointsPerLevel = 1
ExpMultiplier = 100
MinLevelRequired = 400

[MasterLevel_RageFighter]
Enable = 1
MaxMasterLevel = 150
PointsPerLevel = 1
ExpMultiplier = 120
MinLevelRequired = 400
Dica: Use Enable = 0 to completely disable Master Level for a specific class. This is useful for themed servers where certain classes should not have access to the ML system.

3.2 Configure the ML Skill Tree per Class

Beyond the caps, each class has its own ML skill tree. Skill files are located at:

GameServer/Data/MasterSkillTree_[ClassName].bmd

or in the database:

USE MuOnline
GO

-- Check ML skills available for Dark Wizard
SELECT SkillID, SkillName, ClassCode, MLPointCost, MaxRank
FROM T_ML_SKILL_LIST
WHERE ClassCode = 0
ORDER BY SkillID
GO

To change the ML point cost of a specific skill:

USE MuOnline
GO

-- Increase point cost of a critical Dark Wizard ML skill (SkillID 350)
UPDATE T_ML_SKILL_LIST
SET MLPointCost = 3, MaxRank = 10
WHERE SkillID = 350 AND ClassCode = 0
GO

Step 4: Adjust ML Experience Rate in GameServer.ini

The global ML experience rate (applied before the per-class multiplier) is set in:

GameServer/GameServer.ini

Find and adjust the section:

[MasterLevel]
MasterExpRate = 100
; 100 = default rate (1x)
; 200 = double ML experience
; 50  = half ML experience
Dica: The final ML experience a player receives is calculated as: MasterExpRate (ini) × MLExpMultiplier (per class) / 100. For example, with MasterExpRate = 200 and MLExpMultiplier = 90 for DK, the Dark Knight receives 200 × 90 / 100 = 180% of base ML EXP.

Step 5: Verify and Test the Configuration

5.1 Confirm the Saved Data in the Database

USE MuOnline
GO

-- Check final ML settings per class
SELECT
    ClassCode,
    MaxMasterLevel,
    MLPointsPerLevel,
    MLExpMultiplier
FROM T_ML_CLASS_INFO
ORDER BY ClassCode
GO

5.2 Check a Specific Character

USE MuOnline
GO

-- View a character's ML data
SELECT
    Name,
    Class,
    cLevel,
    MasterLevel,
    MasterPoint
FROM Character
WHERE Name = 'CharacterName'
GO

5.3 Fix Incorrect ML on a Character

If a character ended up with a higher ML than the newly configured cap:

USE MuOnline
GO

-- Reset ML to the new maximum (e.g., 200 for Dark Wizard)
UPDATE Character
SET MasterLevel = 200, MasterPoint = 0
WHERE Name = 'CharacterName' AND Class IN (0, 1, 16, 17, 32, 33)
-- Class 0,1 = base DW; 16,17 = Soul Master; 32,33 = Grand Master
GO
Atenção: The Class column in the database stores the current evolution, not the base class. Dark Wizard base = 0, Soul Master = 16, Grand Master = 32. Make sure to include all evolution codes when running an UPDATE by class.

Step 6: Configuration for Season 9 to 13+

In newer versions, per-class ML configuration moved to the file:

GameServer/Data/MasterSkillTreeData.xml

or the MasterLevelSkillTree table in the database. The XML structure follows:

<MasterLevelConfig>
  <Class id="0" name="DarkWizard" maxML="200" pointsPerLevel="1" expMult="100" minLevel="400"/>
  <Class id="1" name="DarkKnight" maxML="300" pointsPerLevel="1" expMult="90" minLevel="400"/>
  <Class id="2" name="FairyElf" maxML="200" pointsPerLevel="1" expMult="100" minLevel="400"/>
  <Class id="3" name="MagicGladiator" maxML="200" pointsPerLevel="1" expMult="100" minLevel="400"/>
  <Class id="4" name="DarkLord" maxML="200" pointsPerLevel="1" expMult="100" minLevel="400"/>
  <Class id="5" name="Summoner" maxML="200" pointsPerLevel="1" expMult="100" minLevel="400"/>
  <Class id="6" name="RageFighter" maxML="150" pointsPerLevel="1" expMult="120" minLevel="400"/>
</MasterLevelConfig>

Troubleshooting

Problem: Character reached the maximum level but cannot activate ML

→ Verify that MinLevelRequired matches the MaxLevel configured on the server → Confirm that Enable = 1 for the character's class → Check if the client is updated to support the server's ML version

Problem: ML points disappear after restarting the server

→ The T_ML_CHAR_INFO table may not be persisting data correctly → Run: SELECT * FROM T_ML_CHAR_INFO WHERE CharName = 'CharacterName' → If empty, the ML persistence system may be disabled in GameServer.ini

Problem: ML skills do not appear in the skill tree even with ML active

→ Confirm that MasterSkillTree_*.bmd files match the client version → Verify that the T_ML_SKILL_LIST table has entries for the correct ClassCode → Re-export the .bmd files using a BMD editor if necessary

Nota: After any changes to ML tables or .ini files, do a full restart of the GameServer. A simple /reloadconfig command does not always reload Master Level settings, depending on the server build.

Perguntas frequentes

Which SQL table stores the Master Level limits per class?

It depends on the server version. In Season 6 (MuServer S6), the main table is MuOnline.dbo.T_ML_CLASS_INFO for per-class limits and MuOnline.dbo.T_ML_SKILL_LIST for skill trees. Some builds use .ini files instead of database tables.

Can I set ML 400 for one class and ML 200 for another?

Yes. You configure the MaxMasterLevel field separately per class code (0=DW, 1=DK, 2=Elf, 3=MG, 4=DL, 5=Summoner, 6=RF). Update each row individually in the table or in the configuration file's corresponding section.

The server does not load Master Level changes even after restarting. What should I check?

Verify that you edited the correct file (some servers cache .ini files). Confirm that GameServer.exe was fully restarted, not just reloaded with /reloadconfig. Also check for duplicate MasterLevelSetting.ini files in season-specific subfolders.

How do I disable Master Level only for Elfs on the server?

Set MaxMasterLevel = 0 for the Elf class (code 2) in the T_ML_CLASS_INFO table or in the corresponding block of MasterLevelSetting.ini. With a value of 0, characters of that class will not be able to activate ML.

VI

ViciadosMU Team

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

Keep reading

Related articles