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

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.

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

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.

Nota: This guide assumes you have access to SQL Server Management Studio (SSMS) and the server installation directory, typically 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:

ColumnTypeDescription
memb___idvarchar(10)Account login name
AccountLeveltinyintAccess level (0 = player, 1–3 = GM)
AccountExpireDatedatetimeAccount expiration
bloc_codechar(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';
Atenção: Accounts with 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
Dica: Refer to 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';
Atenção: Many servers store passwords as plain text in the 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;
Dica: Set up a SQL Server Agent Job to export this report daily into a separate audit table. This helps detect permission abuse by staff members early.

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;
Atenção: Never run UPDATE or DELETE commands without a WHERE clause on the MuOnline database. A command without a filter can corrupt every record in the table simultaneously.

Troubleshooting

Problem: GM command does not work in-game

  1. Check AccountLevel in MEMB_INFO via SQL
  2. Confirm GMCommand=1 in GameServer.ini
  3. Have the player log out and log back in
  4. Check logs at GameServer/Logs/GMCommand.log

Problem: /additem returns the wrong item

  • Consult the ItemList table in the database or GameServer/Data/Item/ItemList.ini
  • Syntax may vary: some builds use /item [type] [index] [level]

Problem: SQL ban is not working

  • Confirm bloc_code was saved as 'Y' (uppercase)
  • Force-disconnect the player via /kick before banning
  • Check whether your web panel overwrites the bloc_code field 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.

VI

ViciadosMU Team

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

Keep reading

Related articles