Running a Lineage 2 private server means you need full control over your game world, and that control comes through Lineage 2 GM commands. Whether you are managing players, spawning items, teleporting stuck characters, or running server events, GM commands are the backbone of L2J server administration. Yet many new server owners struggle with the setup process, especially when it comes to database configuration and access level settings.
I have spent years working with L2J-based servers across multiple forks, from L2jMobius to aCis to L2jFrozen. The same questions come up over and over on forums like MaxCheaters and RageZone: “Why are my GM commands not working?” or “How do I set the access level?” The answer almost always comes down to one thing: the characters table in your database.
This guide covers everything from enabling GM access through database configuration to a full command reference with syntax examples. You will learn the difference between the // and . command prefixes, how major L2J forks handle commands differently, and security practices that keep your server safe. By the end, you will have a complete working knowledge of Lineage 2 server commands.
Table of Contents
What Is a GM in Lineage 2?
A GM, or Game Master, is an administrative role in Lineage 2 that grants access to special commands for managing the server, players, NPCs, and game events. On L2J servers, GM status is controlled by an access level number assigned to a character in the database. The standard GM access level is 8888, which unlocks the full range of admin commands including //admin, //spawn, and //shutdown.
Below the GM level sits the Monitor role at access level 4444. Monitors can observe the server, answer player questions, and perform limited moderation tasks, but they cannot spawn items or modify characters. Regular players sit at access level 0 and have no access to GM commands at all.
The distinction matters because many server owners accidentally assign Monitor level (4444) when they actually need full GM level (8888). If your commands are not working, this is one of the first things to check. I have seen this trip up dozens of new administrators who followed outdated guides that mixed up the two numbers.
GM status is character-specific, not account-wide. That means if you have three characters on one account, only the character with access level 8888 in the characters table gets GM powers. This is a common source of confusion and a point I will return to in the troubleshooting section.
How to Enable GM Access on Your Lineage 2 Server
Enabling GM access requires modifying your server database directly. There is no in-game toggle for the initial setup. You need access to your MySQL database through a tool like Navicat, phpMyAdmin, or the MySQL command line. Here is the step-by-step process that works on virtually every L2J fork.
Step 1: Open Your Database Tool
Connect to your MySQL database using Navicat, phpMyAdmin, or your preferred database manager. You need credentials for the l2jgs or gameserver database. If you are running a local development server, this is typically localhost with the username root and whatever password you set during installation.
Step 2: Locate the Characters Table
Navigate to your gameserver database (commonly named l2jgs or similar) and find the characters table. This table stores every character on your server along with their access levels. Do not confuse this with the accounts table, which handles login credentials only. Setting the access level in the accounts table will not give you GM commands in-game.
Step 3: Update the AccessLevel Column
Find the row for the character you want to make a GM and change the accesslevel column value to 8888. You can do this through Navicat’s table editor by double-clicking the cell, or you can run a direct SQL query:
UPDATE characters SET accesslevel = 8888 WHERE char_name = 'YourCharacterName';
Replace YourCharacterName with the exact name of your character. The query runs instantly, but you must restart the gameserver or log out and back in for the change to take effect.
Step 4: Verify the GMCODE in Your Config
Open your server configuration files, typically found in gameserver/config/. Look for altsettings.properties or General.properties depending on your fork. Find the GMCODE or GMAdminCommandEquals setting. This value defines what prefix triggers GM commands. The default is usually //, but some forks allow you to change it to . or a custom prefix.
Step 5: Log In and Test
Launch your client and log in with the GM character. Type //admin in the chat window. If the admin menu panel opens, your GM access is working correctly. If nothing happens, double-check the access level value in your database and confirm you edited the characters table, not the accounts table.
GM Access Level Configuration Explained
Access levels in L2J are stored as integers in the accesslevel column of the characters table. The system uses a tiered approach where higher numbers unlock more commands. The three standard tiers cover every administrative role you need on a typical server.
Access Level 0 (Player): No GM commands available. This is the default for every newly created character. Players at this level can only use normal chat commands and game mechanics.
Access Level 4444 (Monitor): Limited administrative access. Monitors can use read-only commands like //gmliston and basic player support tools, but cannot spawn items, modify stats, or shut down the server. This level works well for community moderators who need to help players without having destructive power.
Access Level 8888 (GM): Full administrative access. Every GM command becomes available, including //admin, //spawn, //shutdown, and //changelvl. This is the level you want for yourself as the server owner.
Some forks support additional custom access levels. L2jMobius, for example, allows you to define intermediate levels through configuration files, giving you fine-grained control over which commands each staff tier can use. If you are running a large server with multiple staff members, investing time in custom access levels prevents accidental damage from junior moderators.
The critical detail to remember is that access level is set per character in the characters table, not per account. I cannot count how many times I have seen forum posts from frustrated admins who set the level on the wrong character or the wrong table entirely. Always verify you are editing the correct row before saving changes.
Lineage 2 GM Command Prefixes: // vs .
One of the most confusing aspects for new GMs is the command prefix. L2J servers support two main prefixes, and they serve different purposes. Understanding the difference solves a huge number of “my commands are not working” problems.
The // prefix is the standard GM command prefix on most L2J forks. Commands like //admin, //gm, //spawn, and //kick all use this prefix. When you type // followed by a command in chat, the server checks your access level before executing it. If your access level is below the required threshold, the command silently fails.
The . prefix is used for player commands and admin commands on some forks. Commands like .info, .repair, or .dressme are player-facing features that do not require GM access. However, certain forks like aCis and some L2jMobius builds route admin commands through the . prefix as well, which can cause serious confusion if you are used to the // standard.
The GMCODE setting in your server configuration determines which prefix activates GM commands. If your commands are not firing, try switching from // to . or vice versa. This single tip resolves more troubleshooting cases than any other fix I know of.
Here is a quick rule of thumb: if you are on a stock L2J server or L2jFrozen, use //. If you are on aCis or a heavily customized L2jMobius build, check your config files first. The prefix setting is usually documented in the configuration comments.
The //admin Command: Your GM Control Panel
The //admin command is the single most important command in your toolkit. Typing it opens a graphical admin menu directly in your game window. This menu provides button-based access to character editing, server management, spawn controls, event tools, and configuration panels without needing to memorize individual command syntax.
I recommend using //admin as your starting point whenever you are unsure of a specific command. The menu organizes functions into categories, so you can browse to what you need rather than guessing command names. Many experienced GMs use the admin menu for complex tasks like character editing and rely on direct commands for quick actions like teleporting or kicking players.
The admin menu also includes safety features that raw commands lack. When you spawn items through the menu, for example, it shows you a preview before confirming. When you edit character stats, it displays current values so you can verify changes before applying them. For new GMs especially, //admin is the safest way to learn what your server can do.
Essential Lineage 2 GM Commands List with Examples
Here is the core reference of Lineage 2 GM commands that every server administrator should know. These are the commands you will use daily, organized by frequency of use. Each entry includes the command, what it does, and a usage example.
//gm – Toggles your GM status on or off. When GM status is on, your name appears in the GM list and players can see you are online. When off, you become invisible to the GM list. Example: type //gm to toggle. This is useful for going undercover to monitor player behavior.
//gmliston – Adds your character to the visible GM list so players know a GM is available. Use this when you are actively helping players and want them to reach out.
//gmlistoff – Removes you from the GM list. Players will not see you as online staff. Pair this with //gm toggle for full stealth mode.
//changelvl – Changes the access level of any character on the server. Example: //changelvl PlayerName 8888 makes that player a GM. This command is powerful and dangerous, so use it carefully.
//silence – Toggles whether you receive private messages from players. Use this when you need to focus on administrative tasks without interruptions.
//gmchat – Sends a message visible only to other GMs. Example: //gmchat Need help with a stuck player in Giran. This is your internal communication channel.
//announce or //say – Broadcasts a server-wide announcement that appears on every player’s screen. Example: //announce Server restart in 10 minutes.
//hide – Makes your character invisible to players while keeping it visible to other GMs. Essential for monitoring events or catching rule-breakers.
Character and Player Management Commands
Managing players is the core responsibility of any GM. These commands let you handle problem players, rescue stuck characters, and modify stats when needed. Use them carefully because many of these actions cannot be undone.
//kick – Disconnects a player from the server. Example: //kick PlayerName. The player is returned to the login screen but is not banned. Use this for AFK players clogging slots or minor rule violations.
//ban – Bans a character or account from the server. Example: //ban PlayerName or //ban_acc AccountName depending on your fork. Always document the reason for bans in your staff logs.
//jail – Sends a player to the jail area where they cannot move, trade, or interact. Example: //jail PlayerName 60 jails the player for 60 minutes. This is a measured response for rule violations that do not warrant a full ban.
//unjail – Releases a player from jail early. Example: //unjail PlayerName.
//edit_character – Opens the character editing panel for any player. From here you can adjust stats, level, class, karma, PK count, and more. This is one of the most powerful commands on your server.
//recall – Teleports a player to your current location. Example: //recall PlayerName. Useful for bringing a stuck player to you or gathering participants for an event.
//sendhome – Teleports a player back to their home town. Example: //sendhome PlayerName. A quick fix for players who clip through the map into unreachable areas.
Teleportation and Movement Commands
Teleportation commands save enormous amounts of time when you are managing a server. Instead of walking across the map, GMs can instantly travel to any location or coordinate.
//tele or //teleport – Opens the teleport menu where you can select destinations from a categorized list of towns, hunting zones, and dungeons. This is the easiest way to navigate if you do not remember exact coordinates.
//goto – Teleports you to specific coordinates. Example: //goto 82400 149100 -3400. You need the X, Y, and Z coordinates. Z is altitude, which matters in multi-floor dungeons.
//gotoloc – Alternative coordinate teleport on some forks. Syntax is the same as //goto.
//moveto – Teleports you forward by a specified distance. Example: //moveto 500 moves you 500 units in the direction you are facing. Helpful for navigating around obstacles.
//walk and //explore – Some forks include commands that let you toggle walking speed or noclip through terrain. Availability depends on your specific L2J build.
When teleporting using coordinates, always double-check the Z value. Teleporting to a Z coordinate of 0 when the actual ground level is -3000 will drop you through the floor. I learned this the hard way during my first week as a GM and spent twenty minutes figuring out how to escape the void.
Spawning Items and NPCs
Spawning commands let you create items, summon NPCs, and populate your world. These are some of the most frequently used commands, but they are also the most dangerous. A mistyped spawn can crash your server or create thousands of duplicate items.
//item or //itemcreate – Opens the item creation menu. From here you can search for any item by ID or name, set the quantity, and spawn it directly into your inventory. Example: //item 57 1000000 spawns 1,000,000 Adena.
//give – Gives an item directly to another player. Example: //give PlayerName 57 50000 gives that player 50,000 Adena. Always verify the item ID before using this command on a live server.
//spawn – Spawns an NPC or monster at your current location. Example: //spawn 70000 spawns the NPC with ID 70000. The spawn appears immediately in front of your character.
//spawn_npcs or //mass_spawn – Spawns multiple NPCs in an area. Availability and syntax vary by fork. Never use mass spawn commands near player gathering areas without testing first.
//delete or //del – Deletes the targeted NPC or spawn point. Click on an NPC and type //delete to remove it. This is your cleanup tool for spawn mistakes.
//res – Resurrects a dead player or yourself. Example: //res PlayerName or just //res to resurrect yourself. GMs cannot be permanently killed, but //res saves time during events.
Warning: Always spawn items on a test character first if you are unsure of the item ID. Some items, particularly quest items or bugged entries, can corrupt character data or cause client crashes. The item creation menu shows descriptions, which helps you verify before spawning.
Server Management Commands
Server management commands handle the operational side of running your L2J server. These commands affect every player online, so use them with care and always announce planned shutdowns in advance.
//shutdown – Initiates a server shutdown with a countdown. Example: //shutdown 300 starts a 5-minute countdown before the server goes offline. Players see the countdown on their screens and have time to finish activities.
//restart – Restarts the server with a countdown. Example: //restart 120 restarts in 2 minutes. Use this for applying updates or clearing memory without a full manual restart.
//abort – Cancels a pending shutdown or restart. If you started a countdown by mistake or changed your mind, type //abort immediately to cancel it.
//reload – Reloads server configuration files without restarting. Example: //reload config reloads settings from your properties files. Specific reload targets vary by fork but commonly include skills, items, npcs, and multisell.
//serverstat or //serverinfo – Displays current server statistics including online player count, server uptime, and memory usage. Useful for monitoring server health during peak hours.
//olympiad – Opens the Olympiad management panel where you can start, stop, or reset the Olympiad season. Only relevant on servers with competitive PvP enabled.
I recommend creating a shutdown checklist for your staff. Announce the shutdown, give at least 5 minutes of countdown, and log the reason in your admin records. Players appreciate predictability, and a well-managed shutdown cycle builds trust in your server community.
L2J Fork Differences: aCis, L2jMobius, and L2jFrozen
Not all L2J servers handle commands the same way. The three most popular forks each have quirks that affect which commands work and how they are structured. If you switch between forks or follow a guide written for a different build, these differences will trip you up.
L2jMobius is the most actively maintained fork as of 2026. It closely follows the standard L2J command syntax with // prefixes and includes extensive configuration options through properties files. L2jMobius also adds modern commands for features like dressme, auto-farm zones, and custom vote reward systems. If you are starting a new server, L2jMobius gives you the best documentation and community support.
aCis is a lean, performance-focused fork popular among developers who want a clean codebase. aCis tends to use the . prefix for many commands that other forks route through //. The access level system in aCis is also more granular, allowing custom permission tiers through Java configuration rather than simple database values. If your commands are not working on aCis, the prefix is the first thing to check.
L2jFrozen is an older fork that still has a dedicated user base. It uses the standard // prefix and follows classic L2J conventions closely. L2jFrozen does not receive regular updates, so some newer commands from L2jMobius are not available. However, its stability and familiar command structure make it a solid choice for servers running older chronicles like High Five or Interlude.
When following tutorials or forum guides, always identify which fork the author is using. A command that works perfectly on L2jMobius might not exist on aCis, and the access level setup process can differ slightly between builds. The database method described earlier in this guide works universally, but individual command availability always depends on your specific fork.
Security Best Practices for GM Access
GM access is the most powerful tool on your server, and it is also the biggest security risk. A compromised GM account can destroy your server economy, delete player data, and crash your community overnight. No competitor guide covers this topic, which is why I consider it essential.
Use a separate GM account. Never combine your GM character with your regular play account. Create a dedicated account exclusively for administration. If your play account is compromised, your GM powers remain safe.
Limit GM access to trusted staff only. Every person with access level 8888 is a potential security vector. Only assign GM status to people you know personally or who have proven themselves over months of consistent, trustworthy behavior. I have seen servers destroyed by a single disgruntled moderator.
Use access level 4444 for support staff. Not every staff member needs full GM powers. Community moderators, event helpers, and player support agents can function with Monitor level access. Reserve 8888 for the core admin team.
Log all GM commands. Most L2J forks support command logging through configuration. Enable it so you have a record of every command run, who ran it, and when. If something goes wrong, the logs tell you exactly what happened and who was responsible.
Change your database password regularly. Your MySQL credentials are the keys to your entire server. Use a strong password with at least 16 characters, and change it every few months. Never use the same password across your database, forum, and control panel.
Never share GM commands publicly. Keep your command list, access levels, and database structure private. Posting screenshots of your admin panel or sharing your configuration files on public forums gives attackers a roadmap to exploit your server.
Common GM Command Issues and Troubleshooting
Even with correct setup, GM commands can fail for several reasons. Here are the most common issues reported on forums and their solutions. Work through this checklist before posting a help request.
Problem: Commands do nothing when typed. First, verify your access level in the characters table is set to 8888, not 0 or 4444. Second, check whether you need to use // or . based on your fork and GMCODE setting. Third, make sure you restarted the gameserver or relogged after changing the database.
Problem: Access level is correct but commands still fail. You may have edited the accounts table instead of the characters table. GM access is tied to the character, not the account. Open the characters table and verify the accesslevel value for your specific character row.
Problem: //admin opens but specific commands do not work. Your fork may not support that particular command, or the syntax may differ. Check your fork’s documentation or source code for the exact command name and parameters. Commands like //spawn sometimes require the NPC ID as a number, not a name.
Problem: Changes to access level revert after restart. Your server may be loading character data from a cached or backup source. Check that you are editing the live database and not a test or backup copy. If your server uses a custom character loading system, verify the configuration points to the correct database.
Problem: Other players can see GM chat. You may be using the wrong chat channel. GM commands should be typed in the normal chat box with the correct prefix. If you type a command in the shout or trade channel without the prefix, it broadcasts as regular text.
Problem: Spawned items disappear after relog. The item may be flagged as temporary or quest-only in your server’s item database. Check the item type in your itemdata or armor/weapons XML files. Some items are hard-coded to not persist in player inventories.
FAQs
How do I make a character a GM in Lineage 2?
To make a character a GM, open your L2J database in Navicat or phpMyAdmin, navigate to the characters table, find your character row, and change the accesslevel column to 8888. Restart the gameserver or log out and back in for the change to take effect. Then type //admin in chat to verify GM access is working.
How to enable GM access level in Lineage 2 database?
Connect to your gameserver database (usually named l2jgs), open the characters table, and set the accesslevel value to 8888 for your character. You can also run the SQL query: UPDATE characters SET accesslevel = 8888 WHERE char_name = ‘YourCharacterName’. The change requires a server restart or relog to apply.
What are the Lineage 2 GM commands?
Lineage 2 GM commands include //admin for the control panel, //gm to toggle GM status, //spawn to create NPCs, //item to spawn items, //tele for teleportation, //kick and //ban for player management, //shutdown and //restart for server control, and //announce for server-wide messages. The full list spans dozens of commands across categories like character editing, movement, and event management.
How to use //admin command in L2J?
Type //admin in the chat window while logged in as a character with access level 8888. A graphical admin menu opens in your game window, giving you button-based access to character editing, server management, spawn controls, and configuration panels. No additional parameters are needed.
What access level is needed for GM commands?
Access level 8888 is required for full GM commands on standard L2J servers. Access level 4444 provides Monitor-level access with limited commands for player support. Regular players have access level 0. Some forks like L2jMobius support custom intermediate levels through configuration files.
Conclusion
Mastering Lineage 2 GM commands transforms how you manage your private server. From the database setup that grants access level 8888 to the full command reference covering teleportation, spawning, and server management, every piece works together to give you total control over your game world.
Start with the database configuration steps, verify your access with //admin, and gradually expand your command knowledge through daily use. Remember the security practices, respect the power these commands give you, and always test unfamiliar commands on a development server first.
Your next step is to log in, open the admin menu, and explore what your server can do. Every experienced server administrator started exactly where you are now. The more you use these Lineage 2 GM commands, the more natural they become, and the better your server runs for your community.