Slash commands

/gm

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.

Source evidence

Dispatch: COMMAND_GM (handler 513).

  • WorldServer/Commands/Commands.cpp:4582 — COMMAND_GM.
  • WorldServer/Commands/Commands.cpp:10399 — Command_GM.
  • WorldServer/Commands/Commands.cpp:10714 — Command_GMMetrics.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

Original upstream Markdown · Archived original. The original text is historical evidence; the corrected contract above takes precedence.

/gm vision

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.

Source evidence

Dispatch: COMMAND_GM (handler 513).

  • WorldServer/Commands/Commands.cpp:4582 — COMMAND_GM.
  • WorldServer/Commands/Commands.cpp:10399 — Command_GM.
  • WorldServer/Commands/Commands.cpp:10714 — Command_GMMetrics.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

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.

Source evidence

Dispatch: COMMAND_GM (handler 513).

  • WorldServer/Commands/Commands.cpp:4582 — COMMAND_GM.
  • WorldServer/Commands/Commands.cpp:10399 — Command_GM.
  • WorldServer/Commands/Commands.cpp:10714 — Command_GMMetrics.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

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.

Source evidence

Dispatch: COMMAND_GM (handler 513).

  • WorldServer/Commands/Commands.cpp:4582 — COMMAND_GM.
  • WorldServer/Commands/Commands.cpp:10399 — Command_GM.
  • WorldServer/Commands/Commands.cpp:10714 — Command_GMMetrics.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

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.

Source evidence

Dispatch: COMMAND_GM (handler 513).

  • WorldServer/Commands/Commands.cpp:4582 — COMMAND_GM.
  • WorldServer/Commands/Commands.cpp:10399 — Command_GM.
  • WorldServer/Commands/Commands.cpp:10714 — Command_GMMetrics.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

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.

Source evidence

Dispatch: COMMAND_GM (handler 513).

  • WorldServer/Commands/Commands.cpp:4582 — COMMAND_GM.
  • WorldServer/Commands/Commands.cpp:10399 — Command_GM.
  • WorldServer/Commands/Commands.cpp:10714 — Command_GMMetrics.
  • WorldServer/Commands/GMMetricsReport.h:37 — report fields and unavailable values.
  • common/ProcessMetrics.h and common/CapacityMetrics.h — sampling and timing availability.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

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.

Source evidence

Dispatch: COMMAND_GM (handler 513).

  • WorldServer/Commands/Commands.cpp:4582 — COMMAND_GM.
  • WorldServer/Commands/Commands.cpp:10399 — Command_GM.
  • WorldServer/Commands/Commands.cpp:10714 — Command_GMMetrics.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

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.

Source evidence

Dispatch: COMMAND_GM (handler 513).

  • WorldServer/Commands/Commands.cpp:4582 — COMMAND_GM.
  • WorldServer/Commands/Commands.cpp:10399 — Command_GM.
  • WorldServer/Commands/Commands.cpp:10714 — Command_GMMetrics.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

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.

Source evidence

Dispatch: COMMAND_GM (handler 513).

  • WorldServer/Commands/Commands.cpp:4582 — COMMAND_GM.
  • WorldServer/Commands/Commands.cpp:10399 — Command_GM.
  • WorldServer/Commands/Commands.cpp:10714 — Command_GMMetrics.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

No upstream Markdown file exists for this registration in the retrieved revision.

/gm visualeffects

Manage persistent visual effects on the selected target.

Implementation: Implemented.

Syntax

/gm visualeffects add <visual_id> [level]
/gm visualeffects remove <visual_id>
/gm visualeffects clear
/gm visualeffects list

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 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.

Source evidence

Dispatch: COMMAND_GM (handler 513).

  • WorldServer/Commands/Commands.cpp:4582 — COMMAND_GM.
  • WorldServer/Commands/Commands.cpp:10399 — Command_GM.
  • WorldServer/Commands/Commands.cpp:10714 — Command_GMMetrics.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

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.