Skip to main content

The mudpy MUD server engine.

Project description

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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page