Immortal Guide
This manual is for the game's immortal staff (Builders, Immortals, Gods, and Admins). It describes their roles, commands, safety mechanics, and logging/auditing requirements.
Permission Tiers
The engine organizes staff into five hierarchical access levels. Commands are gated, and each tier inherits all commands of the levels below it.
| Access Level | Role | Scope & Authority |
|---|---|---|
Player |
Player | Standard gameplay commands. |
Builder |
Builder | World-building, area maintenance, and template adjustments. |
Immortal |
Moderator | Player moderation, teleportation, diagnostic inspection, and chat channels. |
God |
Administrator | Character manipulation, item loading, purging, banning, and freezing. |
Admin |
System Owner | Server control, configuration overrides, shutdowns, and system diagnostics. |
connection.access_level() >= command.access. If a staff member attempts to run a command above their access level, the system rejects it.
Command Registry
Status note: Most staff-specific OLC and moderation commands are planned. Currently only
@awardis implemented (builder level). See the Builder Manual for planned OLC command reference.
Builder Commands
@award <xp>— Grants XP to yourself (for testing). Currently the only implemented staff command.- (Planned:
@area,@dig,@link,@set,@desc,@portal,@mob,@item,@load,@validate— see Builder Manual)
Immortal Commands (planned)
goto <room_id / player>— Teleports the immortal instantly to the specified room or player.at <room_id / player> <command>— Executes a command at the location of the specified target without moving the immortal.force <player> <command>— Forces a player to execute a command.stat <target / item / room>— Inspects the raw ECS components, attributes, and variables of an entity.owhere/olocate <item_id>— Locates all instances of a specific item template in the world.gecho <text>— Broadcasts a message to the entire server.gtell <text>— Sends a message on the private Immortal-only chat channel.wizwho— Lists all online staff and their current access level/visibility status.wizin— Toggles Incognito mode (hides your presence from players).holylight— Toggles Holy Light mode (lets you see hidden exits, invisible targets, and incognito staff).@teleport <entity> <room_id>— Teleports the specified entity to another room.switch <mob_id>— Possesses an NPC, taking control of its actions.return— Releases control of a possessed NPC, returning to the immortal character.
God Commands (planned)
@purge [target]— Deletes transient entities (e.g. mobs, items, corpses) from the current room.@slay <player / mob>— Instantly reduces a target's health to 0, killing them.@restore <player>— Fully restores a player's health, mana, stamina, and resource pools.@clone <entity>— Spawns an exact copy of the specified entity in the current room.ban <account / IP>/unban <account / IP>— Restricts or restores connection access for accounts or IPs.freeze <player>/unfreeze <player>— Locks a player's account to prevent them from executing any commands.load <item_id / mob_id>— Loads a new instance of an item or mobile into the current room.
Admin Commands (planned)
shutdown— Initiates a graceful shutdown of the server.restart— Gracefully restarts the server.wizlock— Locks the server, permitting only staff withBuilderaccess or higher to connect.
Core Staff Mechanics
Incognito Mode (wizin)
When an immortal toggles wizin, they are hidden from standard gameplay systems:
- They are omitted from the public
wholist. - Normal players looking at a room containing an incognito immortal will only see
"You sense a presence here."rather than the immortal's name and description. - Staff members with
Godaccess or higher who haveholylightenabled can see through incognito mode.
Holy Light (holylight)
Holy Light allows staff members to bypass standard visibility checks:
- See hidden exits and invisible characters.
- Detect incognito staff.
- Bypass zone darkness restrictions.
Safety Invariants
To prevent accidental disruption of gameplay or abuse of staff commands, the command dispatcher enforces the following invariants:
- Combat Immunity: Game systems skip damage calculations on entities containing the
Immortalcomponent. Immortals cannot be attacked or take damage from environmental hazards. - Force Command Level Gate: The
forcecommand checks the access level of both the executor and the target. A staff member cannot force an entity whose access level is equal to or higher than their own. - Switch Command Target Restraints: The
switchcommand refuses player targets. Staff can only possess NPC entities. - Purge Command Safeguards: The
@purgecommand rejects entities containingImmortalorPlayercomponents. It only operates on items, corpses, and NPCs.
Auditing and Tracing
All administrative and destructive actions are logged for security and auditing purposes:
- Destructive commands (e.g.,
slay,purge,ban,freeze) emit high-priority trace logs via thetracing::warn!macro with a"audit"target. - Logs include the administrator's account ID, the target name/ID, and the exact command executed.
- These events are written to the server's rotating log files and can be queried using the console's
auditcommand.