Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

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.

Files for mudpy, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size mudpy-0.3.0-py3-none-any.whl (46.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size mudpy-0.3.0.tar.gz (72.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page