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 |
|---|---|---|---|
/invulnerable |
93 | 10 | Implemented |
Set persistent character invulnerability.
Implementation: Implemented.
Syntax
/invulnerable <0|1>
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 | enabled |
integer | 1 enables; other numeric values disable. |
Behavior and restrictions
- Stored as CHAR_PROPERTY_INVUL and restored with the character property. Missing/non-numeric input prints usage.
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->arg[0] && sep->IsNumber(0)){
Permissions
Local database snapshot, October 6, 2026: /invulnerable requires status 10 (handler 93). 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
/invulnerable 1
/invulnerable 0
Source-checked forms; not executed against a live world.
Source evidence
Dispatch: COMMAND_INVULNERABLE (handler 93).
WorldServer/Commands/Commands.cpp:4657—COMMAND_INVULNERABLE.
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.