Advanced Use of GM Tools on MU Online Server
Learn to use advanced GM commands, manage players via SQL, and configure staff permissions on your MU Online private server.
Introduction
Game Master (GM) tools are the backbone of private MU Online server administration. Using them correctly is the difference between a stable server and a compromised player experience. This guide covers the most important commands, the permission structure in the database, and operational best practices for administrators running MuServer Season 6.
C:\MuServer\ or D:\GameServer\.1. GM Permission Structure
1.1 The MEMB_INFO Table
GM permissions are controlled directly in the MuOnline database, in the MEMB_INFO table. The relevant columns are:
| Column | Type | Description |
|---|---|---|
memb___id | varchar(10) | Account login name |
AccountLevel | tinyint | Access level (0 = player, 1–3 = GM) |
AccountExpireDate | datetime | Account expiration |
bloc_code | char(1) | 'Y' = banned, 'N' = active |
To promote a player to GM Level 3 (full access):
USE MuOnline;
UPDATE MEMB_INFO
SET AccountLevel = 3
WHERE memb___id = 'account_name';
To demote a GM back to a regular player:
USE MuOnline;
UPDATE MEMB_INFO
SET AccountLevel = 0
WHERE memb___id = 'account_name';
AccountLevel = 3 have unrestricted access to the server. Only assign this level to fully trusted individuals. Use Level 1 or 2 for moderators.1.2 Configuration in GameServer.ini
Confirm that GM commands are enabled in GameServer/GameServer.ini:
[GameServer]
GMCommand=1
GMServerCommand=1
MaxGMCommand=3
After editing this file, restart the GameServer.exe process for the changes to take effect.
2. Essential GM Commands
2.1 Navigation and Communication Commands
These commands are available from Level 1:
/move [map]— Teleports the GM to the specified map. Example:/move lorencia/move [map] [x] [y]— Teleports to specific coordinates. Example:/move lorencia 130 135/post [message]— Sends an orange-colored message to all online players/notice [message]— Displays a notice at the top of every player's screen
2.2 Player Management Commands
Available from Level 2:
/kick [character]— Disconnects the character from the server/ban [character]— Bans the account associated with the character/setstat [stat] [value]— Alters the target character's attributes/goto [character]— Teleports the GM to the character's location/call [character]— Teleports the character to the GM's location
2.3 Item and Character Commands (Level 3)
/additem [item_code] [level] [options] [luck] [skill]
/resetchar [character]
/setlevel [character] [level]
/addzen [value]
/addpoint [stat] [value]
Example to add a Lame of Lightning +13 with Full Options and Skill:
/additem 0 4 13 15 1 1
GameServer/Data/Item/ItemList.ini or the ItemAddOption table in the database to get the correct codes for each item. Codes vary between MuServer versions.3. Management via SQL Server
3.1 Query Currently Online Players
To see who is connected at any given moment:
USE MuOnline;
SELECT
a.AccountID,
a.Name AS Character,
a.Class,
a.cLevel AS Level,
a.MapNumber AS Map,
a.MapPosX AS X,
a.MapPosY AS Y
FROM Character a
INNER JOIN MEMB_STAT b ON a.AccountID = b.memb___id
WHERE b.ConnectStat = 1
ORDER BY a.cLevel DESC;
3.2 Banning and Unbanning Accounts
Temporary ban (until a specific date):
USE MuOnline;
UPDATE MEMB_INFO
SET bloc_code = 'Y',
todt_bl_dt = '2026-12-31 23:59:59'
WHERE memb___id = 'target_account';
Permanent ban:
USE MuOnline;
UPDATE MEMB_INFO
SET bloc_code = 'Y',
todt_bl_dt = NULL
WHERE memb___id = 'target_account';
Unban an account:
USE MuOnline;
UPDATE MEMB_INFO
SET bloc_code = 'N',
todt_bl_dt = NULL
WHERE memb___id = 'target_account';
3.3 Reset Account Password
USE MuOnline;
UPDATE MEMB_INFO
SET memb__pwd = 'new_password_in_plain_text'
WHERE memb___id = 'target_account';
memb__pwd column. Others apply MD5 or SHA1 hashing. Check the hashing method used by your web panel before updating directly via SQL to avoid login mismatches.4. Monitoring GM Logs
4.1 The GMCommand_Log Table
MuServer Season 6 records all commands executed by GMs in the GMCommand_Log table:
USE MuOnline;
SELECT TOP 100
GM_Account,
GM_Character,
Command,
Target_Character,
CommandTime
FROM GMCommand_Log
ORDER BY CommandTime DESC;
4.2 Filtering Suspicious Commands
To audit /additem or /addzen usage in the last 24 hours:
USE MuOnline;
SELECT *
FROM GMCommand_Log
WHERE CommandTime >= DATEADD(HOUR, -24, GETDATE())
AND (Command LIKE '%additem%' OR Command LIKE '%addzen%')
ORDER BY CommandTime DESC;
5. Configuring Custom Commands
5.1 The GMCommands.ini File
On some MuServer builds, the commands available per level are defined in GameServer/Data/GMCommands.ini:
[Level1]
/move=1
/post=1
/notice=1
/mapinfo=1
[Level2]
/kick=1
/ban=1
/goto=1
/call=1
/setstat=1
[Level3]
/additem=1
/resetchar=1
/setlevel=1
/addzen=1
/addpoint=1
/serverinfo=1
Add or remove entries according to your administration policy. Restart GameServer.exe after any changes.
5.2 The /serverinfo Command
Use /serverinfo to display server diagnostics directly in-game:
/serverinfo
Returns: server version, number of online players, uptime, and current map. Available by default at Level 3.
6. Administration Best Practices
6.1 Role Segmentation → Do not give Level 3 to all staff members. Use Level 1 for chat moderators, Level 2 for in-game moderators, and Level 3 only for administrators.
6.2 Dedicated GM Account → Each staff member must have their own dedicated GM account. Never share the primary administrator account.
6.3 Password Rotation → Change GM account passwords monthly and whenever a staff member leaves the team:
USE MuOnline;
UPDATE MEMB_INFO
SET memb__pwd = 'new_password'
WHERE AccountLevel > 0;
6.4 Backup Before Interventions → Before any manual SQL change, back up the affected table:
SELECT * INTO MEMB_INFO_backup_20260703 FROM MEMB_INFO;
Troubleshooting
Problem: GM command does not work in-game
- Check
AccountLevelinMEMB_INFOvia SQL - Confirm
GMCommand=1inGameServer.ini - Have the player log out and log back in
- Check logs at
GameServer/Logs/GMCommand.log
Problem: /additem returns the wrong item
- Consult the
ItemListtable in the database orGameServer/Data/Item/ItemList.ini - Syntax may vary: some builds use
/item [type] [index] [level]
Problem: SQL ban is not working
- Confirm
bloc_codewas saved as'Y'(uppercase) - Force-disconnect the player via
/kickbefore banning - Check whether your web panel overwrites the
bloc_codefield when syncing sessions
Perguntas frequentes
What is the difference between GM Level 1, 2, and 3 in MuServer?
In MuServer Season 6, Level 1 allows basic commands like /move and /post. Level 2 adds /kick, /ban, and /setstat. Level 3 (full access) unlocks /additem, /resetchar, and direct attribute manipulation. Levels are defined in the AccountLevel column of the MEMB_INFO table in the MuOnline database.
How do I change a player's GM level via SQL?
Run: UPDATE MuOnline..MEMB_INFO SET AccountLevel = 3 WHERE memb___id = 'your_account'; — replace the AccountLevel value with the desired level (1, 2, or 3) and have the player log out and back in for the change to take effect.
The /additem command does not work on my server, why?
Check that AccountLevel is correct in MEMB_INFO, that the server has GMCommand = 1 set in GameServer.ini, and that your MuServer build supports the command. On some builds the equivalent command is /item followed by the item code.
How do I ban a player for a specific time period instead of permanently?
Use the MEMB_INFO table: UPDATE MuOnline..MEMB_INFO SET bloc_code = 'Y', todt_bl_dt = '2026-12-31 23:59:59' WHERE memb___id = 'target_account'; — the todt_bl_dt field sets the ban expiration date. Set it to NULL for a permanent ban.