Chat commands
A / line typed in the chat is dispatched in this order: the server’s own account and fight commands, then the game mode
(OnPlayerCommandText in Lua, OnPlayerCommand in C#; true = handled), then
the built-ins below, then Unknown command: /x. A mode overrides any built-in by handling its name; a mode’s /help that
prints a line and returns false is followed by the server’s own list. Commands are never echoed to the chat.
[commands] in server.toml switches the built-ins: builtin = false turns them all off, disabled
turns some off by name, public names the ones anyone may use - every other built-in answers admins only (“Admins only.”
to everyone else). Admins are the logged-in owners of [accounts] admins or players the mode promoted
(SetPlayerAdmin).
The server’s own
Section titled “The server’s own”Always answered, before the mode sees the line, whatever [commands] says.
| Command | |
|---|---|
/register <password> |
claims the caller’s name: from then on it needs the password (at least [accounts] min_password_length characters, no spaces). Off when [accounts] registration = false |
/login <password> |
proves a registered name; three wrong tries kick. A registered name not logged in within [accounts] login_grace_seconds is kicked |
/fight <player> |
starts a fight with that player - both may lock on to each other. Refused when pvp is off |
/peace |
ends every fight of the caller |
Public by default
Section titled “Public by default”[commands] public = ["help", "pos", "players", "items", "uptime"].
| Command | |
|---|---|
/help |
the commands the caller may use - the mode’s line first when it prints one, then this list |
/pos |
the server’s record of the caller: position, yaw, reports received, ping |
/players |
who is online |
/items <part of a name> |
the first eight items whose name, English name or category holds the words, with their ids (items) |
/uptime |
how long the caller has been on, and the server tick |
Admins only by default
Section titled “Admins only by default”| Command | |
|---|---|
/give <item> [count] |
puts items in the caller’s inventory - the item by name, id, GUID or English name (several words allowed; a trailing number is the count): /give duelling longsword 2 |
/item <item> |
places one of the item as a pickup in front of the caller, in their virtual world |
/tp x y z | /tp <player> |
teleports the caller to a point (z below 0 = on the terrain) or next to a player, following them into their virtual world |
/goto <player> |
the same as /tp <player> |
/horse [soul] |
the horse next to the caller, or theirs called over, or a new one; with a soul named (horses, by name, id or GUID) always a new horse of that breed, mounted |
/horses <part of a name> |
the first eight horse breeds whose name holds the words |
/dog [soul] |
a dog at the caller’s heel (dogs), on the game’s own companion AI; /dog again sends it away |
/dog stay, /dog follow, /dog free |
the dog waits where it is, comes along again, or roams (SetDogMode) |
/prop <mesh> [scale] [rigid] |
places a static mesh 2.5 m ahead (meshes by id, file name or path): /prop barrel_a, /prop 441 1.5 rigid |
/props <part of a path> |
searches the meshes |
/time [hh:mm] |
the world clock: shows it, or sets it for everyone |
/rain [0-1 | off] |
the rain override: shows it, forces an amount, or hands the rain back to the weather |
/weather [preset | profile] [blend seconds] |
alone lists the presets; with one, changes the sky for everyone (weather) |
/heal [player] |
full health and stamina, injuries, bleeding, alcohol and buffs gone - the caller’s or the named player’s |
/kick <player> [reason] |
disconnects the player |
/kickban <player> [minutes] |
kicks and bans the name and the address; without minutes, for good |
/unban <name | address> |
lifts a ban |
/reload |
reloads the game mode without a restart |
The example modes add their own: freeroam.lua has /tag, /colour, /team, /actor (its heal arm heals the demo character, hostile [player] sets it on you or on the player named), /hurt [player] [amount] (takes health off a player without a blow), /kill [player] (the server’s death without a blow), /fx [effect] and /sfx [trigger], and for a server with world data /actor come (the demo character walks to you along the navigation mesh), /los [name] (whether the line to that player is clear, or what stands 30 m ahead) and /ground (the floor under you against the terrain’s height); duel_arena.lua has /duel,
/leave, /score, /queue, /arena. A mode’s commands are whatever its OnPlayerCommandText answers; the
getting-started guide shows one with typed arguments
(sscanf: a player, a number, the rest of the line, in one call).
