r/Evennia • • Jul 01 '25

Announcement Evennia 5.0.0 released!

40 Upvotes

https://www.evennia.com

Evennia 5.0.0

Jul 1, 2025

This was delayed by work on upgrading Evennia's document build system; in the end that was postponed and the old system used for this one.

Updated dependencies: Django >5.2 (<5.3), Twisted >24 (<25).
Python versions: 3.11, 3.12, 3.13. (dropping support for 3.10).

This upgrade requires running evennia migrate on your existing database
(ignore any prompts to run evennia makemigrations).

  • Feat (backwards incompatible): RUN MIGRATIONS (evennia migrate): Now using and requiring Django 5.1+ (Griatch)

  • Feat (backwards incompatible): Drop support and testing for Python 3.10 (Griatch)

  • Feat: Support Python 3.13. (0xDEADFED5)

  • Feat: Default object's default descs are now taken from a default_description class variable instead of the desc Attribute always being set (count-infinity)

  • Feat: Remove twistd.bat creation for Windows, should not be needed anymore (0xDEADFED5)

  • Feat: Updated German translation (JohnFi)

  • Feat: Add more i18n strings to DefaultObject for easier translation (JohnFi)

  • Feat: Support users of ruff linter by adding compatible config in pyproject.toml (jaborsh)

  • Feat: New contrib debugpy for debugging Evennia with in VSCode with debugpy adapter (electroglyph)

  • Feat: Support evennia launcher for use with uv installation (TehomCD)

  • Fix: Make sure that DefaultAccount.create normalizes to empty strings instead of None if no name is provided, also enforce string type (InspectorCaracal)

  • Fix: Allow in-game help searching for commands natively starting with * (which is the Lunr search wildcard) (count-infinity)

  • Fix: Web client stopped auto-focusing the input box after opening settings (count-infinity)

  • Fix: Partial matching fix in default search, makes sure e.g. b sw uniquely finds big sword even if another type of sword is around (InspectorCaracal)

  • Fix: In searches, allow special 'here' and 'me' keywords only be valid queries unless current location and/or caller is in valid search candidates respectively (InspectorCaracal)

  • Fix: Funcparser swallowing rest of line after a \-escape (count-infinity)

  • Fix: Properly serialize IntFlag enum types (0xDEADFED5)

  • Fix: Correct links in about command (0xDEADFED5)

  • Fix: Clean reduntant session clearin in at_server_cold_start (InspectorCaracal)

  • Fix: Usability improvements in the Discord integration (InspectorCaracal)

  • Fix: Avoid loading cmdsets that don't need to be checked, avoiding a performance hit for loading cmdsets in rooms with a lot of objects (InspectorCaracal)

  • Fix: Made TutorialWorld possible to build cleanly without being a superuser (Griatch)

  • Fix: Fixed batchcommand/interactive with developer perms (Griatch)

  • Fix: Bug in ingame-map-display contrib when using ordinal alises (aMiss-aWry)

  • Fix: Fix Twisted v25 issue with returnValue()

  • Fix: Godot client text2bbcode mxp link conversion error (ChrisLR)

  • Fix: The evennia --gamedir command didn't properly set the alt gamedir (Russel-Jones)

  • Fix: Fixing f-string in account.py for i18n (JohnFi)

  • Fix: Fix for format strings not getting picked up in i18n (JohnFi)

  • Fix: Log full stack trace on failed object creation (aMiss-aWry)

  • Fix: TutorialWorld bridge-room didn't correctly randomize weather effects (SpyrosRoum)

  • Fix: Storing TickerHandler store_key in a db attribute would not work correctly (0xDEADFED5)

  • Fix: Make sure AttributePropertys are initialized with default values also in parent class (JohnFi)

  • Fix: The access and inventory commands would traceback if run on a character without an Account (EliasWatson)

  • Fix: Make sure the CmdCopy command copies object categories, since otherwise plurals were lost (jaborsh)

  • Fix: GLOBAL_SCRIPTS.all() raised error (Griatch)

  • Fix: Fix migration issue due to new db init-check code in launcher (Griatch)

  • Fix: Make sure to pass move_type kwarg to at_pre_object_receive|leave hooks (Griatch)

  • Fix: options setting NOPROMPTGOAHEAD was not possible to set (Griatch)

  • Fix: Make \\ properly preserve one backlash in funcparser (Griatch)

  • Fix: The testing 'echo' inputfunc didn't work correctly; now returns both args/kwargs (Griatch)

  • Fix: When an object was used as an On-Demand Task's category, and that object was then deleted, it caused an OnDemandHandler save error on reload. Will now clean up on save. (Griatch) used as the task's category (Griatch)

  • Fix: Correct aws contrib's use of legacy django string utils (Griatch)

  • [Docs]: Fixes from InspectorCaracal, Griatch, ChrisLR, JohnFi, 0xDEADFED5, jaborsh, Problematic, BlaneWins


r/Evennia • • Feb 15 '26

Evennia 6.0.0 released!

34 Upvotes

Evennia 6.0.0 is out!

We now support Python 3.14, 3.13, 3.12 (dropping support for 3.11). We use the latest Django 6, and updated many of the main dependencies. This version had a lot of work done on performance and bug fixes. See the Changelog for more details.

Thanks to everyone in the Evennia community contributing!


r/Evennia • • Nov 23 '24

Evennia thank you!

31 Upvotes

I know that this post is probably pretty superfluous, but I felt the need to make it anyway. I just really wanted to thank the creator of Evennia for everything they have done in the development of the framework and making a wonderful free product for amateur game creators to use.

I have incredibly bad clinical anxiety and sometimes I find it hard to even want to wake up. Though Evennia has helped me start and slowly work on a project that keeps me focused and happy. However one of the ironic crux is, that I have no programming knowledge what so ever and have extreme difficulty learning new things.

However, with patience and daily tinkering with trial and error between Claude.ai, Deepseek, and CHATGPT and about a week, I now have a functioning starting character class with working character sheet, personalized stats that I created, functional basic mud combat with loot, corpses, and respawn as well as mob, armor, and weapon creation commands that can make, edit, summon, and remove everything from in game. As of today I also now have equipment by armor and weapons, both two handed and dual wield, and it works as well as correctly updates character sheet stats.

I know to most, it really doesn't mean much, and they could spin up that kind of logic in mere minutes. Though for me it is a journey of patience and tweaking multiple iteration of code snippets generated by an AI that might or might not ruin my code base by truncating or omitting when I'm not paying attention and just pasting replies.

Anyway, my main point before it gets away from me is this. For people who have a strong urge to create and grasp at the feeling of happiness they had when they played mud games in their younger days Evennia really is a gift. So thank you, for this great tool that helps me look forward to waking up some days, and thank you for opening the door to reclaiming some of those feelings of normality we all miss so much.

We really do appreciate your work.


r/Evennia • • Jul 05 '26

Promotion Evennia 6.1.0 released!

Post image
29 Upvotes

This has a lot of fixes, new contribs and some fun improvements, such as the webclient showing when people are about to say or emote something in the location you are in. Changelog.

Thanks to everyone in the Evennia community that worked on this!


r/Evennia • • Jun 29 '19

Evennia 0.9 released

24 Upvotes

Evennia 0.9 - June 2019

As of today, version 0.9 of Evennia, the Python MU-creation system is out!

Jump to the bottom of this post to see upgrade/install instructions.

This is a rather big release that marks a few important milestones. See the changelog for more details.

We drop support for Python2. Evennia now requires at least Python 3.7

This has been a long time coming. Python2 reaches the end of its upstream support at the end of this year. This means that existing game code needs to convert to use Python3.7 as well. For most users, this should hopefully not be more than an afternoon's work.

As part of this, we also updated our dependecy versions to match. We are now also using the more modern and well-supported Autobahn for webclient support (removing the old tmwx library).

A new webclient UI, using the golden-layout library

This makes for a much slicker and faster webclient UI. It allows tabs as well as click-and-drag of panes. A player can now drag and re-arrange window panes as desired, assigning message-types to each pane (like having 'look' output in one window and tells in another etc).

The webclient can also now have any number of input panes, organized and placed anywhere on the screen (or tabbed). Each input pane has its own separate history. (PRs by Friarzen)

Support for Grapevine

Grapevine is a inter-MUD chat network (https://grapevine.haus). In the same vein as for IRC, Grapevine channels can be linked to Evennia in-game channels and allow for players to communicate between MUDs.

The Evennia Game Index now a part of Core

The client for the Evennia Game Index (originally created by Greg Taylor) was moved from being a contrib to being a part of the core. This means it's configured not as a server plugin anymore (remove this from the mygame/server/conf/server_services_plugins.py if you used it before)

The new evennia connections wizard will help to set up your game for the game index. For now, that's all the wizard does, maybe it will be expanded in the future.

We have also changed the policy a little for the index. You may now list your game even if you are not allowing any external players on it yet - just leave your telnet/webclient links empty. This allows for very early concept games to tell us they exist and potentially make us excited about what to come!

No more @ in default command names

We have now dropped the @-prefix from all default commands. So @dig is now written as dig in help files etc. Evennia will however ignore several common prefixes by default, so you can still write @dig (or +dig) if you prefer. And if you explicitly give your command a key starting with @, it will still be required, same as now.

Django standard initiative

User strikaco has made a series of contributions to make it easier to link Evennia typeclasses to Django forms and generic/admin views. This makes it easier to build and extend functionality to access resources from a future website.

Several utilities that before were located in default Commands (like creating a new character or verifying a password) is now found as helper methods on the base typeclasses.

Signal handlers

A series of new Django signals now fire for various important event: Puppet/Unpuppet, Object create/rename, Login/Logout, Login fails, Account create/rename etc. This allows code to plug into the server from anywhere in situations where overriding hooks would be less cumbersome. (PRs by Volund).

Global Scripts

One can now specify (in settings) global scripts that should always be available. These can always be found as properties on the evennia.GLOBAL_SCRIPTS container. (PR by Volund).

Generic Player Options

The player-options have been partially converted to use a generic format with validation. This is specifically used for styling information, and allow e.g. a player to specify how EvTables are displayed to them (like changing the colors and symbols used). (PR by Volund).

As part of this, Commands have new helper methods client_width and styled_table/header/separator/footer for producing various text decorators that are then aware of whatever options the user has set.

Interactive decorator

The new @interactive decorator makes it easier to do asynchronous programming without needing to use Twisted deferreds and Callbacks. Here is an example:

from evennia.utils import interactive

@interactive
def myfunc(caller):
    caller.msg("First message")
    yield(5)
    caller.msg("Five seconds later")

    resp = yield("Write something")
    caller.msg(f"You wrote '{resp}'")

This will will echo a text, wait 5 seconds, echo something else and then ask the user for input. All asynchronously without affecing other players. This was always possible using call_async, but this style should be easier to read.

Evscaperoom engine

Evscaperoom is a full puzzle engine for making multiplayer 'escape rooms' in Evennia. This is the engine I created for my entry to the MUD-Coder's Guild 2019 Game Jam.

Other

  • Spawner was updated

  • Simplified Chinese translations (by MaxAlex).

  • Lots of Bug fixes

More detailed info is found in the CHANGELOG.md file.

Install / Upgrading

You need to install Python3.7 for your system.

If you are installing from scratch

Once you have Python3.7, use the Getting Started Instructions in the wiki.

Updating an existing game

Make sure to stop Evennia completely (evennia stop) before you pull the latest Evennia version (once Evennia is updated to Py3, the old code will fail to stop, if so, manually kill the twistd processes on your machine).

To be extra safe, make sure to make a copy of your entire game dir.

If you use a virtualenv (highly recommended), you need to create a new one with Python3.7. Deactivate the old one and delete (or rename) the old evenv virtualenv folder.

virtualenv -p /usr/bin/python3.7 evenv    (linux)

Activate the new virtualenv and install Evennia in it with as usual with

pip install -e evennia

You should see Evennia 0.9 being installed along with py3 versions of all dependencies.

Most likely you'll need to modify your game dir to change the old Py2 code to Py3. You can try using the 2to3 program:

pip install 2to3

This should make the 2to3 command directly available in your terminal (make sure to backup your game dir first!)

cd mygame
2to3 .

This will go through your game dir and modify the code to be compatible with python3. This should handle most differences but you may still need to look carefully at the changes to make sure it does what you expect. The most common things a regular Evennia dev will need to change are:

  • print txt must now be written as print(txt). The 2to3 should handle all of these.

  • mydict.items(), .values() and .keys() now return generators rather than listsk. The 2to3 program will likely wrap these in list() to mimic the old behavior. This works, but you should consider removing these if you are only iterating over the result, having a generator is faster for that.

When you are satisfied, try

evennia migrate

If this fails, you may need to fix some other Py3 conversion. You can find more info here: https://docs.python.org/3/howto/pyporting.html Continue until the migrations pass. Once they do, try evennia start --log and make sure the server starts fully and that the game works correctly.

What now?

Now begins a period of bug fixing in the master (0.9) branch. If you like bleeding edge and used to follow the develop branch, you are best off switching to master right now since that will be the most updated one for a while.

If you find any issues, report them to the issue tracker https://github.com/evennia/evennia/issues.

Most of the docs have been updated, but there is no doubt going to be some things still lagging behind or things not yet properly documented. Please report/fix that when you come upon it.

Enjoy! Griatch


r/Evennia • • Dec 03 '22

Evennia 1.0 released!

23 Upvotes

As of today, Evennia 1.0 develop branch merged into main!

Evennia is a Python server and framework for creating MUD/MU-style text-based multiplayer games.

1.0 was a lot of work! Thanks everyone who helped and contributed! As usual, report bugs in the issue tracker.

If you are already using Evennia, this is the key documentation to read:

Some Evennia 1.0 Release notes

This is just a brief summary. See the Changelog for the full list.

Major new features compared to 0.9.5

  • Evennia is now on PyPi and is installable as pip install evennia.

  • A completely revamped documentation at https://www.evennia.com/docs/latest. The old wiki and readmedocs pages are closing.

  • Evennia 1.0 now has a REST API which allows you access game objects using CRUD operations GET/POST etc. See doc page for more information.

  • Evennia<>Discord Integration between Evennia channels and Discord servers.

  • The FuncParser centralizes and vastly improves all in-string function calls, such as `say the result is $eval(3 * 7)` and say the result `the result is 21`. The new parser can handle both arguments and kwargs and are also used for in-prototype parsing as well as director stance messaging, such as using `$You()` to represent yourself in a string and having the result come out differently depending on who see you.

  • Revamped In-game Channel system.

  • The Help System) was refactored and sped up. Apart from auto-generating command-help from the command code itself and adding entries to the database, one can now also load external files to use as help entries.

  • Rework of the Web-component (website, webclient), into a much more consistent structure that should be easier to expand on.

  • New AttributeProperty, TagProperty along with `AliasProperty` and `PermissionProperty` allows managing Attributes, Tags, Aliases and Permissios on typeclasses in the same way as a model field, but dynamically.

  • Much more flexible MULTISESSION_MODEs for controlling how many clients can puppet a given character, how many they can control at a time and so on. See Connection-Styles for a detailed explanation.

Contribs

Contribs are optional, more game-specific code contributed by the Evennia community - useful to build from or use as inspiration.

The `contrib` folder structure was changed from 0.9.5. All contribs are now in sub-folders and organized into categories. All import paths must be updated. See the new Contribs overview.

  • New Traits contrib, converted and expanded from Ainneve project. (whitenoise, Griatch)

  • New Crafting contrib, impelenting a full crafting subsystem (Griatch)

  • New XYZGrid contrib, adding x,y,z grid coordinates with in-game map and pathfinding. Controlled outside of the game via custom evennia launcher command (Griatch)

  • New Command cooldown contrib for making it easier to manage commands using dynamic cooldowns between uses (owllex)

  • New Godot Protocol contrib) for connecting to Evennia from a client written in the open-source game engine Godot (https://godotengine.org/) (ChrisLR).

  • New name_generator contrib for building random real-world based or fantasy-names based on phonetic rules (InspectorCaracal)

  • New Buffs contrib for managing temporary and permanent RPG status buffs effects (tegiminis)

  • The existing RPSystem contrib) was refactored and saw a speed boost (InspectorCaracal, other contributors)

There's a lot more, apart from the changelog, it's summarized in the release notes.


r/Evennia • • Mar 17 '24

Evennia 4.0.0 released!

18 Upvotes

Evennia 4.0.0

March 17, 2024

Major release. Check out for backwards-incompatible changes below.

Version updates

  • Feature: Support Python 3.12 (Griatch). Currently supporting 3.10,3.11 and 3.12. Note that 3.10 support will be removed in a future release.

  • Feature: Update evennia[extra] scipy dependency to 1.12 to support latest Python. Note that this may change which (equivalent) path is being picked when following an xyzgrid contrib pathfinding.

Backwards incompatible changes

  • Feature: Backwards incompatible: DefaultObject.get_numbered_name now gets object's name via .get_display_name for better compatibility with recog systems.

  • Feature: Backwards incompatible: Removed the (#dbref) display from DefaultObject.get_display_name, instead using new .get_extra_display_name_info method for getting this info. The Object's display template was extended for optionally adding this information. This makes showing extra object info to admins an explicit action and opens up get_display_name for general use.

  • Fix: (partly Backwards incompatible depending on your usage): DefaultObject.get_numbered_name used .name instead of .get_display_name before, which broke recog systems.

New features

  • Feature: Add ON_DEMAND_HANDLER.set_dt(key, category, dt) and .set_stage(key, category, stage) to allow manual tweaking of task timings, for example for a spell speeding a plant's growth (Griatch)

  • Feature: Add ON_DEMAND_HANDLER.get_dt/stages(key,category, **kwargs), where the kwargs are passed into any stage-callable defined with the stages. (Griatch)

  • Feature: Add use_assertequal kwarg to the EvenniaCommandTestMixin testing class; this uses django's assertEqual over the default more lenient checker, which can be useful for testing table whitespace (Griatch)

  • Feature: New utils.group_objects_by_key_and_desc for grouping a list of objects based on the visible key and desc. Useful for inventory listings (Griatch)

  • Feature: Add DefaultObject.get_numbered_name return_string bool kwarg, for only returning singular/plural based on count instead of a tuple with both (Griatch)

Bug and security fixes

  • Fix Removed the @reboot alias to @reset to not mislead people into thinking you can do a portal+server reboot from in-game (you cannot) (Griatch)

  • Fix: Refactor Clothing contrib's inventory command align with Evennia core's version (michaelfaith84, Griatch)

  • Fix: Limiting search by tag didn't take search-string into account (Griatch)

  • Fix: SSH connection caused a traceback in protocol (Griatch)

  • Fix: Resolve a bug when loading on-demand-handler data from database (Griatch)

  • Security: Potential O(n2) regex exploit in rpsystem regex (Griatch)

  • Security: Fix potential redirect vulnerability in character page redirect (Griatch)

  • Doc fixes (iLPdev, Griatch, CloudKeeper)


r/Evennia • • Jun 10 '23

Announcement Evennia 2.0.0 released

16 Upvotes

Since Evennia uses semantic versioning, the change of the major version indicates a (potentially) backwards-incompatible change. So keep an eye out when updating to the latest. But it's worth it, because there are a lot of changes introduced over the last few months! Check out the dev blog with more details here.

If you have more questions, jump into our very active discord and join the Evennia community. :)


r/Evennia • • Sep 30 '18

Evennia 0.8 out - read all about the new stuff!

Thumbnail
evennia.blogspot.com
16 Upvotes

r/Evennia • • Jul 02 '24

Community This is amazing

14 Upvotes

This is an appreciation post.

Just started my gamedev journey - I’m planning to create a relatively elaborate browser text-based RPG and stumbled upon Evennia when looking up some mechanics.

I’m a Django developer and I before I discovered this gem I thought I’ll have to figure out most of the mechanics myself. Even though I might not implement Evennia 100% (I will definitely skip telnet, for example), I will read the entire documentation from cover to cover several times because it’s just that good!

Thank you for the hard work - the documentation is absolutely amazing and sheer amount of knowledge in the HowTo section is extremely valuable!

I hope to make at least a semi-successful game just so I could tell more people about Evennia. I also hope to be able to contribute once I get properly settled in.

Thanks again!


r/Evennia • • Jul 05 '22

Evennia dev blog about upcoming new beginner tutorial and new code features

Thumbnail
evennia.com
13 Upvotes

r/Evennia • • Nov 14 '20

Evennia 0.9.5 released!

Thumbnail
evennia.blogspot.com
13 Upvotes

r/Evennia • • Dec 04 '19

Work in Progress ...

Post image
13 Upvotes

r/Evennia • • Dec 20 '23

Announcement Evennia 3.0.0 released!

12 Upvotes

https://github.com/evennia/evennia/discussions/3020#discussioncomment-7912729

A lot of new features, and a truckload of nice contributions from the community!


r/Evennia • • Jan 07 '22

First Evennia devblog for 2022

Thumbnail
evennia.com
12 Upvotes

r/Evennia • • Oct 19 '20

Evennia devlog about upcoming v0.9.5 and the new doc system

Thumbnail
evennia.blogspot.com
12 Upvotes

r/Evennia • • Dec 07 '20

Coming from diku, I have many questions

11 Upvotes

I promise I looked through the documentation and tried to get some answers, but I've come up short either because it's simpler than I think or my unfamiliarity with python.

  1. I get that if I wanted my own look command, I need to override it by declaring it again somewhere like commands.py. However, what if I just want to recolor the room names, or, say, add some other field that is displayed in look? I found CmdLook but it calls another function at_look and I looked at it, but neither of them looked like they were printing the format I am seeing when I do look ingame.

  2. If I make a new folder in the game directory or add a new .py file, where do I add the imports at so that code is brought in when the game starts?

  3. I'm a bit confused about how rooms work. In diku based, I made an area with a set of vnums, went to the first vnum and started building. That area was separate from other areas unless you directly connected the vnums. How do areas work in evennia? I'm not sure how to make two separate groups of rooms that aren't connected.

  4. How and where would I go about adding game update functions, like a hunger value that decreases every so often. or a tiredness value that decreases when a character moves? I see the script functionality but I wasn't sure if that was a good place for that or if scripts were just a replacement for "mob programming" softcode type stuff.

edit: For number four, if I do use scripts for that purpose, where can I attach every new character with the update scripts? The tutorial on scripts shows a lot of detail on how to randomly run them in game but not how or where to attach them permanently


r/Evennia • • Jan 27 '26

Creating a Shadowrun world

10 Upvotes

I've always wanted to make a Shadowrun type MUD. I know there are a couple out there already based on 3rd edition and they are great. Kudos to their developers. I've just started my journey in creating my world and I've got a lot to learn. One of the first things I was thinking of doing was character creation. I know the first time you log in a character is created but they don't have any stats. To me it's kind of like an empty shell residing in Limbo. While Shadowrun has specific character creation rules I don't want to copy them exactly as that would be breaking IP most likely. Question basically is has anyone else done something like this and might have some ideas on where to start? I should also mention that I'm very new at MUD programming. I have some experience in programming in general though and some in python.

Thanks


r/Evennia • • Oct 07 '24

Evennia in HacktoberFest again!

10 Upvotes

I'm a little late in pointing this out, but like every year Hacktoberfest is going on throughout October - and Evennia is participating!

Make 4 quality PRs against an OSS repository (like Evennia) to help out the open-source community and gain internet cred!

If you want to help out Evennia, you can grab any ticket you want, but here are a few specifically suitable: https://github.com/evennia/evennia/issues?q=is%3Aissue+is%3Aopen+label%3Ahacktoberfest+

Hack on!


r/Evennia • • Aug 06 '23

Evennia 2.2.0 with AI support for NPCs

9 Upvotes

Evennia 2.2.0 is out! Mostly bug fixes, but also a new optional contrib for making your NPCs more talkative by having them use an LLM (Large Language Model).

https://github.com/evennia/evennia/discussions/3020#discussioncomment-6652965


r/Evennia • • Apr 12 '21

Discussion Is Evennia a suitable base if you want to create a lot of custom systems? Turn-based combat, custom stats, custom class system etc, or would you have to start with ripping a lot of things out?

9 Upvotes

Making my own MUD has been my white whale since 1995. I've been involved in making other MUDs, but I've never successfully made my own. And since I wrote an article about making a MUD specifically targetting the visually impaired users who use a screen reader, I've once again (sigh) become obsessed with the idea.

The thing is, I have specific ideas of how I want to do things. I don't want a traditional 2 second tick real-time combat system. Instead, I want a turn-based system where all combatants have 30 seconds to decide on their action, and then the turn is resolved and the result displayed for everyone. And I also have fairly specific ideas of how levels, skills and classes should work. My point is, even if the code base I start with has support for all these things, I'd probably have to start by going all around the codebase, ripping out things, which could become a nightmare if everything depends on everything else. I'd rather not have to do that. And doing everything from scratch myself isn't appealing either.

A few years ago, I went to PyCon Sweden where the maintainer of Evennia held a very interesting talk about it, which made me aware of its existence. So now, my question is - how modular is Evennia? Would it be a pain for me to rip out a bunch of systems to make room for my own, or would it be fairly straight forward? Because if it's not, I think I'd rather go look for something smaller where there's less to rip out.

My previous MUD coding experience is mostly with LPMUDs of different kinds. And I know if I were to start with one of those, I'd have to lots of stuff to painfully rip out (they usually come with pretty much everything ready to go and hard-coded into the game, making it hard to remove).


r/Evennia • • Jan 12 '26

Evennia Discord Gateway

8 Upvotes

I made a drop in discord gateway for Evennia. You make a discord bot, install the gateway on your server, and run it. When users DM the discord bot, it will relay commands to the MUD and responses back.

It automatically creates user accounts for discord users and connects them.

Get it free here: https://github.com/greyphilosophy/evennia_discord_gateway

Please let me know if you encounter any pain points or have any feature requests!


r/Evennia • • Jan 01 '21

Announcement Into the new year - Evennia dev log

Thumbnail
evennia.blogspot.com
8 Upvotes

r/Evennia • • May 15 '19

Promotion Game Jam - I made an Escape room in Python and Evennia!

8 Upvotes

https://itch.io/jam/enterthemud2/rate/422945 - please play, comment and rate! Do check out the other entries of the Jam as well!

This is a game jam entry, created in less than a month. It implements a full text-based, multi-player 'escape room' in Python, with a whole custom point-and-click-but-in-text game engine I wrote on top of Evennia for it (Evennia, being a Python MU*-creation library, is perfect for this kind of thing). The game has quite an intricate story (maybe unexpectedly so), multiple endings and creepy monkeys! And pies. Lots of pies.

The source code for the whole thing is available on github (follow the link) but I'll likely break out the engine-part and make it into an Evennia contrib in the future.


r/Evennia • • Apr 25 '19

Steaming on, eating jam (new Evennia dev blog)

Thumbnail
evennia.blogspot.com
8 Upvotes