Built-in Commands
Operator ships a set of commands you can opt into by name. There is no all-or-nothing switch. You take the packs you want and nothing else appears.
Operator.Start({ DefaultCommands = { "debug", "moderation" } })Or directly, if you are assembling the pieces yourself:
local Packs = require(game:GetService("ServerStorage").Operator).Packs
Packs.load(registry, { "debug", "moderation" }, {
registry = registry,
canRun = function(player, command)
return roles:canRun(player, command)
end,
})canRun is only needed by help, so it can list just the commands that player is allowed to run. Naming a pack that does not exist is a loud error listing the ones that do, and nothing is registered. Loading the same pack twice collides on the registry exactly like any other duplicate command.
debug
| Command | What it does |
|---|---|
help [command] | list the commands you can run, or show one command's signature |
ping | check the console reaches the server |
jobid | this server's job id, for cross-referencing logs |
players | who is in the server, with user ids |
moderation
| Command | What it does |
|---|---|
kick <target> [reason] | remove a player from the server |
ban <target> [duration] [reason] | ban through Players:BanAsync; omit the duration for permanent |
unban <userId> | lift a ban |
logs [count] | open the log panel; also prints recent commands, with --player= and --failed |
bring <targets> | teleport players to you |
goto <target> | teleport yourself to a player |
fun
| Command | What it does |
|---|---|
speed <targets> <speed> | set walk speed |
jump <targets> <height> | set jump strength, writing whichever of JumpPower or JumpHeight is active |
heal <targets> | restore players to full health |
gravity [value] | set world gravity, or omit the value to restore the default |
What is marked destructive
ban, unban and gravity carry :destructive(), so they need a confirmation round-trip before they run. With no confirm handler installed they are cancelled rather than executed.
kick is not destructive and runs without a confirmation.
Writing your own instead
The packs are ordinary commands using the same public API you would use, including the :: Builder<Args> cast, so they double as worked examples. Nothing in them is privileged. If you want a different kick, do not enable the moderation pack and register your own.