Skip to main content

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:

  • interactive objects/props

  • inventory/equipment management

  • non-player characters

  • a default combat system

  • sample races/classes and spells/skills

  • example implementation of character stats/progression

  • closeable/lockable portals

  • ability to change randomly-generated avatar names

  • pagination of the output stream

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:

  • the beginnings of a MUD framework

    • account creation, authentication and lobby menus

    • movement between rooms/locations with inferred portals

    • in-room communication between users

    • setting and viewing user preferences

    • an integrated command help system

    • world creation and introspection commands for admins

    • live reloading of configuration and source code

  • a full-featured Telnet service with a focus on IETF RFC compliance

    • RFC 854 Telnet protocol

    • RFC 856 binary mode

    • RFC 857 echo control

    • RFC 858 go-ahead suppression

    • RFC 885 end-of-record transmission

    • RFC 1091 terminal type

    • RFC 1073 window size negotiation

    • RFC 1184 line-at-a-time input mode

    • RFC 1143 “Q method” negotiation state engine

  • mature development practices

    • traditional Python distutils/setuptools/pip packaging

    • comprehensive regression and style testing

    • minimal runtime dependencies

    • extensive logging

    • flexible, generalized data model

    • in-repository documentation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mudpy-0.5.1.tar.gz (74.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mudpy-0.5.1-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

File details

Details for the file mudpy-0.5.1.tar.gz.

File metadata

  • Download URL: mudpy-0.5.1.tar.gz
  • Upload date:
  • Size: 74.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for mudpy-0.5.1.tar.gz
Algorithm Hash digest
SHA256 825483731987d6bb4fbbe2abf596c892fb11b44138ea34e159ab9fea6afa5dc8
MD5 b3ef22e6554f6a4e52208ec80cd48e0c
BLAKE2b-256 29d786fcb606de44d44e4c595f2fb9a2d2948b3f727f38c7b0565b87227d0bbf

See more details on using hashes here.

File details

Details for the file mudpy-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: mudpy-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 46.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for mudpy-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 77dcf38de5b6018ccbdceae45e1e2cb3245199299d44124d38e8cb943a0c7d61
MD5 ef5e6dbc591a075a3a4ac8800947770b
BLAKE2b-256 cbd4ce732f330995a294649ff5fc4e4082e4f756ed2e9fc1308a08b7d578c3e5

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

0.0.2

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page