The Python MU* Development Library
Evennia is an open-source Python-based framework, codebase and server for creating text-based multiplayer online games (a MUD/MU* etc) using modern technologies and tools.
https://demo.evennia.com sports an almost vanilla install of a default Evennia server. It has the tutorial world and a few extra thing to experience and try out. Use it to get a taste for what's possible. You can also ask questions in our support channel directly from inside the demo!
evennia --init mygame
cd mygame
evennia start
localhost, port 4000.
Evennia aims to take care of all the gritty networking, database-handling and other boring details that all MU*s games need. The idea is to allow you, the game developer, to concentrate solely on designing the game systems. We try to get out of your way as much as possible.
Evennia is game-agnostic. So we have no opinions on what style of play or genre of game you should make. We don't prescribe any skills, classes, races or other things that will be specific for your game anyway. Indeed, people have used Evennia for non-MU*s as well - it's very suitable for wild experimenting and fast prototyping!
Some game concepts and systems are more common than others though. For these we offer a growing library of optional code-snippets and bigger game systems you can build from, copy or be inspired by. These are mostly contributed by our very friendly developer community.
Finally, we have tried to make Evennia's code as readable and well-documented as possible, should you need to dive in. We have also spent a lot of time on our extensive documentation, all in order to to help you get productive in Evennia with less fuss.
Whereas your Evennia game starts out with no game-specific content, it's not empty! Out of the box you get a 'talker'-style game: You can create rooms and items, pick up stuff, talk to people, walk around, do light roleplay with emotes ... all the base things you expect.
Here are some of the default resources and tools available out of the box:
contrib/ folder with optional full systems and shorter snippets
Coding in Evennia is primarily done by normal Python modules, making the codebase extremely flexible - you don't tweak the library itself, you just override the defaults and tell Evennia where to find your changes.
You use Python classes to represent your objects, scripts and players. The database layer is mostly abstracted away but if you want you can also leverage the full power of Django's mature ORM.
If this piqued your interest, there is a lengthier introduction to Evennia to read.
To learn how to get your hands on the code base, the Getting Started page is the way to go. Otherwise you could browse the Documentation or why not come join the Evennia Community. Welcome!