descriptionThe mudpy MUD server engine.
ownerJeremy Stanley <>
last changeWed, 8 Jan 2020 23:35:00 +0000 (23:35 +0000)

The mudpy project aims to create a simple, generic, cross-platform, freely-redistributable MUD core engine which can be easily understood and extended. It is written in pure Python 3 and has only pure Python dependencies. All configuration and data are stored in consistently-formatted plain text (YAML 1.1) files for ease of administration. The core engine is unicode-clean internally and supports UTF-8 encoding for input and output of extended text characters.

The mudpy program and sample content are released under a free and open license, and any bug reports, criticisms, ideas, patches, content submissions or other offers of collaboration are wholeheartedly welcome.

what's missing

This project is still very much a work in progress, and is unlikely to be suitable for anyone who isn't willing to put in a bunch of work (help implementing features upstream is welcome, of course!). Here's a non-comprehensive list of missing things most folks are likely to expect in a MUD:

what's included

The fundamentals of a multi-user service are in place, and foundations are laid on which the missing features above can be built. Here are some highlights of what's been implemented so far:

2020-01-08 Jeremy StanleyCollapse redundant exceptions master
2020-01-08 Jeremy StanleyIndicate support for Python 3.9
2020-01-08 Jeremy StanleyLink the ChangeLog from package metadata
2020-01-08 Jeremy StanleyDrop section numbering from documentation builds
2019-12-30 Jeremy StanleyMake sure all command functions return True 0.1.1
2019-12-30 Jeremy StanleyIncrease timer resolution in test config 0.1.0
2019-12-30 Jeremy StanleyUse call_hook_function() in handler_active()
2019-12-30 Jeremy StanleyPreserve loglines on reload
2019-12-30 Jeremy StanleySet bandit to error on risks of any severity
2019-12-30 Jeremy StanleyWhitelist uses of stdlib random module for bandit
2019-12-30 Jeremy StanleyClean up function names in menu definitions
2019-12-30 Jeremy StanleyRatchet bandit checking down to medium severity
2019-12-30 Jeremy StanleyReplace eval() and exec() use for menu functions
2019-12-30 Jeremy StanleyRelocate main_utility menu functions
2019-12-30 Jeremy StanleyRelocate delete_avatar menu functions
2019-12-30 Jeremy StanleyRelocate delete_account menu function
7 months ago 0.1.1 Release version 0.1.1
7 months ago 0.1.0 Release version 0.1.0
10 months ago 0.0.2 Release version 0.0.2
13 months ago 0.0.1 Start tagging versions for package...
7 months ago master