5 .. Copyright (c) 2004-2019 mudpy authors. Permission to use, copy,
6 modify, and distribute this software is granted under terms
7 provided in the LICENSE file distributed with this software.
9 The mudpy project aims to create a simple, generic, cross-platform,
10 freely-redistributable MUD core engine which can be easily understood
11 and extended. It is written in pure Python 3 and has only pure Python
12 dependencies. All configuration and data are stored in
13 consistently-formatted plain text (YAML 1.1) files for ease of
14 administration. The core engine is unicode-clean internally and supports
15 UTF-8 encoding for input and output of extended text characters.
17 The mudpy program and sample content are released under a free and open
18 license, and any bug reports, criticisms, ideas, patches, content
19 submissions or other offers of collaboration are wholeheartedly welcome.
24 This project is still very much a work in progress, and is unlikely to
25 be suitable for anyone who isn't willing to put in a bunch of work (help
26 implementing features upstream is welcome, of course!). Here's a
27 non-comprehensive list of missing things most folks are likely to expect
30 * interactive objects/props
31 * inventory/equipment management
32 * non-player characters
33 * a default combat system
34 * sample races/classes and spells/skills
35 * example implementation of character stats/progression
36 * closeable/lockable portals
37 * ability to change randomly-generated avatar names
38 * pagination of the output stream
43 The fundamentals of a multi-user service are in place, and foundations
44 are laid on which the missing features above can be built. Here are some
45 highlights of what's been implemented so far:
47 * the beginnings of a MUD framework
49 - account creation, authentication and lobby menus
50 - movement between rooms/locations with inferred portals
51 - in-room communication between users
52 - setting and viewing user preferences
53 - an integrated command help system
54 - world creation and introspection commands for admins
55 - live reloading of configuration and source code
57 * a full-featured Telnet service with a focus on IETF RFC compliance
59 - RFC 854 Telnet protocol
61 - RFC 857 echo control
62 - RFC 858 go-ahead suppression
63 - RFC 885 end-of-record transmission
64 - RFC 1091 terminal type
65 - RFC 1073 window size negotiation
66 - RFC 1184 line-at-a-time input mode
67 - RFC 1143 "Q method" negotiation state engine
69 * mature development practices
71 - traditional Python distutils/setuptools/pip packaging
72 - comprehensive regression and style testing
73 - minimal runtime dependencies
75 - flexible, generalized data model
76 - in-repository documentation