Inspect and control GM debugging, visibility and visual effects.
Implemented · Source comparison: October 6, 2026.
Reviewed October 6, 2026. This page covers the root, registered subcommands and documented internal actions.
Registration permissions
Registration
Handler
Required status (local DB, Oct 6)
Implementation
/gm
513
200
Implemented
Inspect and control GM debugging, visibility and visual effects.
Implementation: Implemented.
Syntax
/gm <action> [arguments]
Arguments
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
Position
Argument
Accepted value / type
Meaning
0
action
text
See actions below.
1
arguments
action dependent
Parameters depend on the selected action.
Behavior and restrictions
The active handler performs the operation described above after the registration permission check.
Persistence evidence in the active path: database.insertCharacterProperty. Each call is subject to its surrounding validation; not every branch saves.
Current argument/client/target checks (exact source excerpts; branch-dependent):
if (sep && sep->IsSet(0) && !stricmp(sep->arg[0], "metrics")) {
if (sep->IsSet(1)) {
if(cmdTarget && cmdTarget->IsEntity()) {
if (sep->arg[1][0] == '-' || !sep->GetUInt(1, quest_id) ||
if (sep->arg[2][0] == '-' || !sep->GetUInt(2, visual_id) ||
Handler failure/help feedback (sent to the player or logged; % fields are formatted at runtime):
Visual ID must be between 1 and 4294967294.
Visual level must be between 0 and 255.
Permissions
Local database snapshot, October 6, 2026: /gm requires status 200 (handler 513). Other worlds may configure different values.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
Enable restricted-spawn selection and reveal zone fog.
Implementation: Implemented.
Syntax
/gm vision <on|off>
Arguments
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
Position
Argument
Accepted value / type
Meaning
0
action
text
vision
1
enabled
text
Exact lowercase on enables; other values disable.
Behavior and restrictions
vision is stored as a character property.
Permissions
Internal action: inherits the /gm registration requirement of status 200. No separate database subcommand row exists for this action.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
No upstream Markdown file exists for this registration in the retrieved revision.
/gm regiondebug
Toggle region-debug feedback.
Implementation: Implemented.
Syntax
/gm regiondebug <on|off>
Arguments
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
Position
Argument
Accepted value / type
Meaning
0
action
text
regiondebug
1
enabled
text
Exact lowercase on enables; other values disable.
Behavior and restrictions
Uses the selected target where the action requires one.
Permissions
Internal action: inherits the /gm registration requirement of status 200. No separate database subcommand row exists for this action.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
No upstream Markdown file exists for this registration in the retrieved revision.
/gm sight
Toggle the selected target’s point-of-view sight.
Implementation: Implemented.
Syntax
/gm sight <on|off>
Arguments
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
Position
Argument
Accepted value / type
Meaning
0
action
text
sight
1
enabled
text
Exact lowercase on enables; other values disable.
Behavior and restrictions
Uses the selected target where the action requires one.
Permissions
Internal action: inherits the /gm registration requirement of status 200. No separate database subcommand row exists for this action.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
No upstream Markdown file exists for this registration in the retrieved revision.
/gm luadebug
Toggle Lua-debug messages sent to this client.
Implementation: Implemented.
Syntax
/gm luadebug <on|off>
Arguments
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
Position
Argument
Accepted value / type
Meaning
0
action
text
luadebug
1
enabled
text
Exact lowercase on enables; other values disable.
Behavior and restrictions
Uses the selected target where the action requires one.
Permissions
Internal action: inherits the /gm registration requirement of status 200. No separate database subcommand row exists for this action.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
No upstream Markdown file exists for this registration in the retrieved revision.
/gm metrics
Report process and current-zone capacity metrics.
Implementation: Implemented.
Syntax
/gm metrics
Arguments
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
Position
Argument
Accepted value / type
Meaning
0
action
text
metrics
Behavior and restrictions
Read-only report. Extra arguments produce Usage: /gm metrics. The sampler does not wait or enable instrumentation.
The report includes logical CPUs, uptime, resident/peak/private/virtual memory, system RAM and lifetime/interval CPU use; unavailable platform values are N/A. The first interval sample is unavailable; later calls sample since the previous report across all callers.
Zone timing snapshots require WorldServer to have started with EQ2_CAPACITY_METRICS=1. Timings are cumulative since zone startup; p99 is a histogram upper bound. No completed samples or no current zone is reported explicitly.
Permissions
Internal action: inherits the /gm registration requirement of status 200. No separate database subcommand row exists for this action.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
No upstream Markdown file exists for this registration in the retrieved revision.
/gm controleffects
List control effects on the selected target.
Implementation: Implemented.
Syntax
/gm controleffects
Arguments
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
Position
Argument
Accepted value / type
Meaning
0
action
text
controleffects
Behavior and restrictions
The active handler performs the operation described above after the registration permission check.
Permissions
Internal action: inherits the /gm registration requirement of status 200. No separate database subcommand row exists for this action.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
No upstream Markdown file exists for this registration in the retrieved revision.
/gm offerquest
Offer an existing quest to the selected player.
Implementation: Implemented.
Syntax
/gm offerquest <quest_id>
Arguments
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
Position
Argument
Accepted value / type
Meaning
0
action
text
offerquest
1
quest_id
unsigned integer
Positive quest ID.
Behavior and restrictions
The active handler performs the operation described above after the registration permission check.
Permissions
Internal action: inherits the /gm registration requirement of status 200. No separate database subcommand row exists for this action.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
No upstream Markdown file exists for this registration in the retrieved revision.
/gm tag
Display or clear GM visual tags.
Implementation: Implemented.
Syntax
/gm tag <faction|spawngroup|race|groundspawn> <value> <icon>
/gm tag clear
Arguments
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
Position
Argument
Accepted value / type
Meaning
0
action
text
tag
1
type
text
Tag category or clear.
2
value
integer
Faction/race ID or group membership selector.
3
icon
integer
Visual icon ID.
Behavior and restrictions
The current race comparison uses a zero-length comparison; non-faction/non-spawngroup values can enter the race branch. Do not treat the old groundspawn description as reliable behavior.
Visual tags depend on support in the client protocol.
Permissions
Internal action: inherits the /gm registration requirement of status 200. No separate database subcommand row exists for this action.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
Position
Argument
Accepted value / type
Meaning
0
action
text
visualeffects
1
operation
text
add/remove/clear/list; AddPersistentSpellVisual and RemovePersistentSpellVisual are also accepted.
2
visual_id
unsigned integer
1–4294967294 for add/remove.
3
level
integer
Optional 0–255; defaults to current adventure level.
Behavior and restrictions
The active handler performs the operation described above after the registration permission check.
Permissions
Internal action: inherits the /gm registration requirement of status 200. No separate database subcommand row exists for this action.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
No upstream Markdown file exists for this registration in the retrieved revision.
Permissions are from a read-only snapshot of the configured local world database on October 6, 2026; deployed worlds may differ. Argument and behavior evidence comes from the reviewed WorldServer checkout. Examples were checked against source and were not executed in a live world.