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

Uploaded Source

Built Distribution

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.

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