← MegaMOO Guide

Command Reference

Every staff command, grouped by what it is for.

The 75 commands below are attached to #3, so every character inherits them. What you may actually use depends on your level — the middle column. Without it, a command answers Do what?, exactly as if it did not exist.

Where a short form is given in brackets, that is the fewest letters that will match: @art reaches @article, and anything longer works too.

Looking at things

CommandLevelDoes
+showgm1A quick summary of an object: its number, name, parent and location.
@examine (@ex)gm3Everything about an object — properties, verbs, tags, flags.
+props (+prop)gm3List an object's properties.
+verbsgm3List the commands attached to an object.
+decompile (+dec)gm3Print a verb's code exactly as stored — the ground truth for what is running.
@listgm3List objects in a range of numbers.
+prongm2Show the substitution tokens for messages (&S, &d and the rest).
@find <text>gm2Find objects anywhere in the database by name. in <room> and isa <parent> narrow the search; /exact and /count change what comes back.
@audit [player]gm2Everything a player owns, grouped by location. /rooms, /nowhere to find orphans, /count for totals.
@kids <object>gm2What inherits from an object, each with a count of its own children. /all draws the whole descendant tree.

Rooms and exits

CommandLevelDoes
@diggm2Create a room. @dig/types lists the types, @dig/tel puts you in it.
@vopengm2A compass exit with no object behind it. The usual choice.
@opengm2A compass exit as a real object, which can carry behaviour.
@gopengm2A named exit you walk through — a gate, an arch.
@dopengm2A door: it opens, closes and locks.
@copengm2A climbable exit — stairs, a ladder.
@jopengm2A jumpable exit — a gap or chasm.
@rmexit (@rme)gm2Remove an exit.
@virtualize (@virt)gm2Turn an exit object into a virtual one, keeping its messages.

Making and moving objects

CommandLevelDoes
@makegm3Create an object from a prototype: @make $item = sword.
@delete (@del)gm2Recycle an object.
@movegm2Move an object somewhere else.
@parent (@par)gm3Change what an object is built from.
@renumbergm5Give an object a different number.
@copy <object>gm3Duplicate an object's own properties. Verbs and contents are deliberately not copied — behaviour belongs on the parent.

Naming and describing

CommandLevelDoes
@namegm2Set the noun.
@article (@art)gm2Set the article — a, an or the.
@adjective (@adj)gm2Set up to three adjectives. Give no value to clear them.
@trailer (@trai)gm2Set the text that follows the noun.
@titlegm2Rebuild the display name from its parts.
@descgm2Set what players read when they look at it.

Action messages

CommandLevelDoes
@success (@succ)gm2What the person doing it sees.
@osuccess (@osucc)gm2What everyone else in the room sees.
@odropgm2What the destination room sees on arrival.
@failure (@fail)gm2What the person sees when it does not work.
@ofailure (@ofail)gm2What everyone else sees when it does not work.
@dropgm2What the person sees on dropping it.

Properties and tags

CommandLevelDoes
@adprop (@adp)gm3Add a property that does not exist yet.
@set (@s)gm3Change a property that already exists. Also @val.
@unset (@u)gm3Clear a property's value.
@rmprop (@rmp)gm3Remove a property.
@rempropgm3Remove an override, falling back to what is inherited.
@cleargm3Clear a property or a verb's body.
@adtaggm3Add a tag: @adtag room = zone/haven.
@rmtaggm3Remove a tag.

Commands

CommandLevelDoes
@adverb (@adv)gm3Create a command. /hidden makes it unreachable by typing.
@program (@pro)gm3Open the editor for a command's code. Also @prog, @code.
@rmverb (@rmv)gm3Delete a command.
@reload (@rel)gm3Load a command from its file on disk.
@mingm3Set how few letters will match the name.
@verbauth (@verba)gm3Set or read the level a command requires.
@hideverb (@hidev)gm3Hide a command so nobody can type it.
@unhideverb (@unhidev)gm3Reverse that.
@grep <text>gm3Search verb code across the database.

Object numbers

CommandLevelDoes
@fongm3Release your reserved block, or with /set, /list, /clear manage it. Also @freeon.
@foffgm3Reserve the unused numbers in your block. Also @freeoff.
@reserve (@res)gm5Reserve a block outright; /free and /list too.

People and access

CommandLevelDoes
@authgm5Grant or remove a staff level.
@initchargm3Give a character the full set of properties the game expects.
@delplayergm4Remove a player account.
@telgm1Teleport. Also @telq.
hold (hol)gm1Hold an object in a specific hand.
unhold (unh)gm1Stop holding it.
@colorgm1Show the colour palette.
@wearpos (@wearp)gm2Show the wearable positions.
@checkpointgm4Take a database snapshot now. /list shows the ones you have. Worth running before you copy the database file — SQLite keeps recent writes in a sidecar until a checkpoint folds them in, so a copy taken without one can be short of the last few minutes.
@port <object>.<verb>gm3Paste LambdaMOO source and have it translated into Python for review before it is saved. Needs the separate mooport package; without it the command says so and does nothing.
@quota [player]gm2How much of the database someone has built, split into rooms, exits and everything else. Reports only — MegaMOO does not enforce a quota.

Running the server

CommandLevelDoes
evalgm3Run Python against the live world. Also /.
@restartgm5Restart in place.
@shutdowngm5Stop the server.
@psgm3List running and queued tasks.
@kill <task>gm3Stop a running task.
@dump <object>gm3Write an object out as text into dumps/. /verbs includes its code, /screen prints it.
@load <file>gm3Build a new object from a dump. /dry reports without building, /list shows what is available.
Getting help on any of them

Typing help <command> in the game prints that command's own documentation, which is the same text its author wrote — see The Help System. This page is the map; the game itself has the detail.