evennia is a free, open source gaming project written in Python and released under BSD-3-Clause. It has 2,119 GitHub stars, 776 forks and 129 open issues, and was last pushed 2 days ago. On this registry it ranks #62 of 80 tracked projects in Gaming, with 5 head-to-head comparisons available.

What is evennia?

Evennia is a BSD-licensed Python library for building online multiplayer text games — MUDs, MUSHes, MUXes, MUCKs and MOOs — aimed at game creators who want to design their own world and mechanics rather than adopt a prebuilt game.

What it is

Evennia is a development system and framework, written in pure Python, for creating online multiplayer text games. It supplies the networking layer and the basic infrastructure that every such game needs, and leaves the design of the game itself — its style, genre and mechanics — entirely to the creator. Game logic is written as ordinary Python modules that are imported into the running server at runtime, so the codebase a developer works in is conventional Python rather than a proprietary scripting dialect.

The concrete problem it solves is the repetitive plumbing that otherwise has to be written from scratch before a text game can exist: accepting and managing player connections, running a persistent server process, and serving a web presence alongside the game. Evennia replaces that hand-rolled groundwork with a Django-based framework, a project scaffold, and a set of management commands, so that effort goes into the game rather than into sockets and process management. It lives in the Python ecosystem and is distributed through PyPI.

Key capabilities

  • Game code is written as normal Python modules imported into the server at runtime, with no bespoke scripting language to learn.
  • evennia --init mygame scaffolds a new game project, and evennia migrate sets up its database before first run.
  • Server lifecycle is handled by the evennia start, evennia stop and evennia reload commands.
  • Players connect through traditional third-party MUD clients on port 4000, or through a browser on port 4001.
  • A game website is created automatically, giving the project a web presence and a browser-based client without separate work.
  • The framework is genre-agnostic: it does not impose a particular style, genre or game mechanic on the design.
  • The project ships extensive documentation, a test suite with continuous-integration and coverage reporting, discussion forums and a Discord server for support.

Who uses it and how

  • Individual creators building a MUD, MUSH, MUX, MUCK or MOO who want freedom over world design and mechanics rather than an off-the-shelf game.
  • Python developers, since all customization is done in Python modules loaded into the running server.
  • Small teams that need a shared codebase and a documented framework, supported by forums and a Discord community.
  • Self-hosters running the server on their own machine or host, with the game reachable both by MUD client and by browser.
  • Projects that want a website and a playable web client generated alongside the game server rather than assembled separately.

Getting started

Install with pip install evennia (Windows users run py -m evennia once), then run evennia --init mygame, cd mygame, evennia migrate and evennia start. The new, empty game is then reachable at http://localhost:4001 in a browser or via a third-party MUD client on localhost port 4000.

How it compares

No comparable products are named in the facts provided, so Evennia stands alone in this registry as the text-game creation system listed here. Its distinguishing characteristics are the BSD-3-Clause licence, self-hosted operation and a framework-only scope that leaves game design to the developer.

When to use it — and when not to

Choose Evennia if you are prepared to run and maintain a Python service yourself: a Django-backed database that must be migrated, a server process that must be started, stopped and reloaded, and a web endpoint alongside the game port. It is a poor fit for anyone who wants a finished game out of the box, or who does not want to write Python, since the framework deliberately provides no genre, mechanics or content of its own. The repository's README is a short entry point that defers to external documentation, and the project carries a substantial backlog of 129 open issues, so prospective users should expect to lean on the linked docs and community channels.

project readme (upstream, from github) — read inline

Evennia MUD/MU* Creation System

unittestciimg Coverage Status Pypi Version

Evennia is a modern library for creating online multiplayer text games (MUD, MUSH, MUX, MUCK, MOO etc) in pure Python. It allows game creators to design and flesh out their ideas with great freedom.

Evennia does not impose a particular style, genre or game mechanic. Instead it solves the boring networking and basic stuff all online games need. It provides a framework and tools for you to build the game you want. Coding in Evennia is done using normal Python modules imported into the server at runtime.

Evennia has extensive documentation. It also has a very active community with discussion forums and a discord server to help and support you!

Installation

pip install evennia
    (windows users once: py -m evennia)
    (note: Windows users with multiple Python versions should prefer `py -3.11` instead of `python` when creating virtual environments)
evennia --init mygame
cd mygame
evennia migrate
evennia start / stop / reload

See the full installation instructions for more help.

Next, browse to http://localhost:4001 or use your third-party mud client to connect to localhost, port 4000 to see your working (if empty) game!

screenshot A game website is created automatically. Connect to your Evennia game from your web browser as well as using traditional third-party clients.

Where to go next

If this piqued your interest, there is a lengthier introduction to read. You can also read our Evennia in pictures overview. After that, why not check out the Evennia Beginner tutorial.

Welcome!

Frequently asked questions

Is evennia free to use?

evennia is open source under the BSD-3-Clause licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does evennia do?

Python MUD/MUX/MUSH/MU* development system

What is evennia written in?

evennia is primarily written in Python. Its source is publicly available at https://github.com/evennia/evennia, and it has 2,119 GitHub stars.