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

How to Create GM Account and Configure Permissions on MU Server

Learn to create GM accounts, configure permission levels, and manage administrative access on your MU Online server using SQL and .ini configuration files.

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

Full control over your MU Online server starts with properly creating and configuring GM (Game Master) accounts. In this tutorial you will learn how to create a GM account via SQL Server, define permission levels, configure available commands per level, and secure administrative access.

What is a GM Account in MU Online

A GM account is a player account with elevated privileges within the server. The GM level is stored in the database and read by the GameServer at login. Depending on the assigned level, the character gains access to commands such as teleportation, item spawning, player banning, and real-time server monitoring.

Nota: On Season 6 servers (MuServer S6EP3), the GM system is controlled primarily by the MEMB_INFO table in the MuOnline database and by the GameServer/Data/GameServerInfo.ini file. Season 9+ versions may use additional tables such as T_GmInfo.

Prerequisites

  • Access to SQL Server Management Studio (SSMS) connected to the server database
  • Access to the GameServer installation folder (e.g., C:/MuServer/GameServer/)
  • Server stopped or ability to restart it after making changes
  • A player account already created (via website or SQL)

Step 1 — Identify the Correct Database

Open SSMS and connect to the SQL server. The most common databases on MU servers are:

-- List all available databases
SELECT name FROM sys.databases WHERE name LIKE '%Mu%' OR name LIKE '%mu%';

Default database names are:

  • MuOnline — account, character, and inventory data
  • MuOnline_ME or MeOnline — used in some Season 6 distributions
  • Account — on servers with a separate authentication database
Dica: If you are not sure of the exact database name, open ConnectServer/ConnectServer.ini and look for the DBName= line — it indicates the account database being used.

Step 2 — Check the MEMB_INFO Table Structure

Before changing any values, verify the available fields:

USE MuOnline;
GO

-- View the accounts table structure
SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'MEMB_INFO';

Essential fields for GM configuration:

FieldTypeDescription
memb___idvarchar(10)Account login
m_LeveltinyintGM level (0=player, 1-3=GM)
memb__pwdvarchar(10)Account password
mail_addrvarchar(50)Registration e-mail

Step 3 — Create the GM Account via SQL

If the account does not yet exist, create it directly in the database:

USE MuOnline;
GO

INSERT INTO MEMB_INFO (
    memb___id,
    memb__pwd,
    memb_name,
    sno__numb,
    bloc_code,
    mail_addr,
    mail_chek,
    bloc_memo,
    ctl1_code,
    m_Level,
    m_MLevelOK
)
VALUES (
    'gmadmin',          -- account login (max 10 characters)
    'senha123',         -- password (max 10 characters, no hash in S6)
    'GM Admin',         -- display name
    '000-000-000-00',   -- placeholder ID number (required in some versions)
    0,                  -- 0 = active account, 1 = blocked
    '[email protected]',
    1,                  -- e-mail verified
    '',
    0,
    3,                  -- m_Level = 3 (maximum GM)
    1
);
Atenção: The field memb___id has three underscores (memb___id), not two. This is a common mistake that causes a silent INSERT failure. Always verify the exact structure using the command from Step 2.

Step 4 — Promote an Existing Account to GM

If the account already exists and you want to elevate it:

USE MuOnline;
GO

-- Check account before making changes
SELECT memb___id, memb_name, m_Level, bloc_code
FROM MEMB_INFO
WHERE memb___id = 'accountname';

-- Set as GM Level 3 (administrator)
UPDATE MEMB_INFO
SET m_Level = 3
WHERE memb___id = 'accountname';

GM Level Reference Table

m_LevelTypeTypical Access
0Regular PlayerNo GM commands
1Junior GM/move, /post, /notice
2Moderator GM/kick, /mute, /warp
3Administrator GMAll commands
Nota: The commands available per level vary based on the configuration in GameServer/Data/GameServerInfo.ini. The database defines the level; the .ini file defines what each level can do.

Step 5 — Configure Permissions in GameServerInfo.ini

Open the file GameServer/Data/GameServerInfo.ini (or GameServer/GameServerInfo.ini depending on the version) and locate the GM section:

[GameServer]
; Hide GM from the map for other players
HideGM = 1

; Minimum level for basic commands (/move, /post)
CommandMinLevel = 1

; Minimum level for moderation commands (/kick, /ban)
CommandModerateLevel = 2

; Minimum level for admin commands (/additem, /reset)
CommandAdminLevel = 3

; Can GMs spawn items?
GMAddItemEnable = 1

; Does GM appear in rankings?
GMRankingVisible = 0
Dica: In Season 9 and later versions, per-command permissions may be stored in the T_GmCommandInfo table in the database. Use SELECT * FROM MuOnline.dbo.T_GmCommandInfo; to inspect the structure.

Step 6 — Configure GM Commands per Level (Season 6)

On Season 6 servers with the file GameServer/Data/GmCommand.ini, configure as follows:

[GmCommand]
; Format: CommandName = MinimumGMLevel

/move = 1
/post = 1
/notice = 1
/warp = 1
/kick = 2
/mute = 2
/unmute = 2
/ban = 3
/unban = 3
/additem = 3
/setlevel = 3
/reset = 3
/addzen = 3
/dc = 3
/hide = 1
/unhide = 1

Step 7 — Create a GM Character (if Needed)

In some distributions, the GM character must be created separately from the account. Via SQL:

USE MuOnline;
GO

-- Check if a character already exists on the account
SELECT Name, Class, cLevel, Strength, Dexterity, Vitality, Energy
FROM Character
WHERE AccountID = 'gmadmin';

-- If not, insert a base character (example: Dark Knight)
INSERT INTO Character (
    AccountID, Name, Class, cLevel,
    Strength, Dexterity, Vitality, Energy, Leadership,
    MapNumber, MapPosX, MapPosY,
    Money, Experience, LevelUpPoint,
    CtlCode
)
VALUES (
    'gmadmin',
    'GMAdmin',   -- in-game visible name (max 10 chars)
    16,          -- 16 = Dark Knight (see class table below)
    400,         -- starting level
    400, 400, 400, 400, 0,
    0,           -- starting map (Lorencia = 0)
    125, 125,    -- X, Y coordinates in Lorencia
    999999999,   -- starting zen
    0,
    0,
    3            -- CtlCode = 3 for GM
);

Class Reference Table (Field Class)

ValueClass
0Dark Wizard
16Dark Knight
32Elf
48Magic Gladiator
64Dark Lord
80Summoner
96Rage Fighter
Atenção: The CtlCode field in the Character table also influences GM behavior in some versions. Set it to 3 for full access or 1 for view-only without commands.

Step 8 — Restart the GameServer and Test

After all changes are made:

  1. Stop the GameServer (GameServer/GameServer.exe → close the process)
  2. Restart the GameServer
  3. Log in with the GM account you created
  4. In-game, test the command /post MU Online Server Online!
  5. If the command works, the GM account is correctly configured
Dica: To test without restarting the entire server, some MuServer versions support the /reload gm command via the GameServer console. This reloads the GM list without disconnecting active players.

Troubleshooting Common Issues

GM account cannot use commands

-- Check current account values
SELECT memb___id, m_Level, bloc_code, ctl1_code
FROM MuOnline.dbo.MEMB_INFO
WHERE memb___id = 'gmadmin';

If bloc_code = 1, the account is blocked. Fix it with:

UPDATE MuOnline.dbo.MEMB_INFO
SET bloc_code = 0
WHERE memb___id = 'gmadmin';

Character does not recognize GM level after login

Check that the character's CtlCode is correct:

SELECT Name, CtlCode FROM MuOnline.dbo.Character WHERE AccountID = 'gmadmin';

-- Fix CtlCode if needed
UPDATE MuOnline.dbo.Character
SET CtlCode = 3
WHERE AccountID = 'gmadmin';

GM commands work but players can see the GM on the map

Confirm that HideGM=1 is set in GameServerInfo.ini and that the server was restarted after the edit. Changes to .ini files only take effect after a full GameServer restart.


Security Best Practices

  • Never use the same GM login for regular gameplay — keep accounts separate
  • Change the GM password regularly via SQL: UPDATE MEMB_INFO SET memb__pwd = 'newPassword' WHERE memb___id = 'gmadmin';
  • Review all GM actions in the GameServer logs (folder GameServer/Log/)
  • Revoke permissions from former team members immediately: UPDATE MEMB_INFO SET m_Level = 0 WHERE memb___id = 'exgm';
  • Consider creating accounts with m_Level = 1 for junior GMs — limit access to the minimum required

Perguntas frequentes

What is the difference between GM Level 1 and GM Level 3?

GM Level 1 (value 1 in the database) grants access to basic commands such as /move and /post. GM Level 3 (value 3) is the maximum level, enabling critical commands like /additem, /kick, /ban, and /reset. Use Level 3 only for fully trusted administrators.

Why does my GM character not appear invisible to other players?

This depends on the HideGM setting in GameServer/Data/GameServerInfo.ini. Make sure HideGM=1 is active and that the character has GM Level >= 1 in the MEMB_INFO table of the database.

Can I have more than one GM account on the same server?

Yes, there is no limit. Each account needs the m_Level field configured individually in the MEMB_INFO table. It is recommended to create a separate GM account for each administrator — never share credentials.

How do I remove GM permissions from an account without deleting it?

Run UPDATE MuOnline.dbo.MEMB_INFO SET m_Level = 0 WHERE memb___id = 'accountname'; — this demotes the account to a regular player without affecting the character or its items.

VI

ViciadosMU Team

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

Keep reading

Related articles