External Publication
Visit Post

Evennia cheat sheet

twinbfield June 2, 2026
Source

I'm creating a MUD using Evennia, a Python framework that is super powerful and extendable. I couldn't find a great cheat sheet online, so here's some notes from their tutorial series. I will update this as I go, and I may end up typesetting this into a PDF.

Evennia commands

These commands are done through the Evennia shell (i.e., through a MUD client). Typically, items can include me for oneself, here for the current location, or a database reference number like #8.

Basic interaction

Operation Code
Get help
help [item]

Look around |

look [item]

Get detailed information |

examine [item]

Pick up item |

get [item]

See inventory |

inventory

Use a named exit |

<exit>

Move to a location |

teleport <location>

Global search for something |

find <item/location/exit...>

Creating items

Operation Code
Create an item (and drop it)
create[/drop] <item>[:<typeclass]

Add synonyms |

name <item> = <alias>[;<alias>...]

Add descriptions |

desc <item> = <details>

Move item to a location |

teleport <item> = <location>

Delete item |

destroy <item>

Set attribute |

set/<attribute> = <name>

Creating locations

Operation Code
Add a named location from here
dig <location> = <exitname>[;<alias>...]

Add a cardinal direction |

tunnel <n[orth]/s/e/w/nw/.../in/out/up/down> = <name>[;<alias>...]

Open from here to a previous location |

open <exitname>[;<alias>...] = <location>

Administration

Operation Code
Temporarily decrease/restore permissions
quell/unquell

Add help entry |

sethelp <entryname> = <details>

Reload world and code |

reload

Locks and permissions

Lockfuncs can be defined in server/conf/lockfuncs.py. See Evennia's list of access_types.

Operation Code
Add/remove lock
lock[/del] <object> = <lockstring>

Lockstring format |

<accesstype>: [NOT] lockfunc() [[AND/OR] [NOT] lockfunc() ...]

Add/remove account permissions |

perm/account[/del] <user> = <permission>

Account levels | Guest, Player, Helper, Builder, Admin, Developer Add/remove object permissions |

perm[/del] <object> = <permission>

Python commands

These commands can be used in the interactive Python shell (py within a MUD client) or through a Python script.

Creating things

Operation Code
Create a character, room, exit, or object
evennia.create_object('<typeclass>', key='<database_key>', [location=...,] [permissions=...,] [locks=...,] [attributes=...,])

Store persistent object values |

<object>.db.<key> = ...

Creating an account, channel, or script |

evennia.create_<account/channel/script>(...)

Object location |

<object>.location

Object contents |

<object>.contents

Exit destination |

<exit>.destination

Add tags |

<object>.tags.add("<tag>"[, category="<category>"])

Creating commands

Operation Code
Name of command
<Command>.key

Command function |

<Command>.func()

Argument string provided to command |

<Command>.args

Help function for command | Defined in docstring of

<Command>

Message command caller |

<Command>.msg("<msg>")

Add command to a commandset |

self.add(Command)

in

<CmdSet>.at_cmdset_creation()

Remove command from a commandset |

self.remove(Command)

in

<CmdSet>.at_cmdset_creation()

Searching

See the Evennia docs on Django queries for an explanation on how powerful and flexible Django queries can be.

Operation Code
Global search for an object
evennia.search_object("<name>")[0]

Search for an object relative to caller |

<object>.search("<name>")

Search by tag |

evennia.search_tag("<tag>")

Search by location |

evennia.search_object("<name>", candidate=<location>.contents)

Search by attribute |

evennia.search_object("<name>", attribute_name="<attribute>")

Search by typeclass |

evennia.search_object("<name>", typeclass="<typeclass>")

Search by Django query |

<Typeclass>.objects.<all/filter/get/exclude(db_key="<name>")>

Search by Django query (incl. subclasses) |

<Typeclass>.objects.<all_family/filter_family/get_family/exclude_family(db_key="<name>")>

Directories

Directory Description
commands/

| Commands and command sets

server/

| Server files, see settings at server/conf/settings.py

typeclasses/

| Templates for accounts, characters, scripts, rooms, etc.

web/

| Website and webclient files

world/

| Misc. files, useful for user-defined build scripts and modules

Discussion in the ATmosphere

Loading comments...