-=============
- about mudpy
-=============
+=======
+ mudpy
+=======
-:Copyright: (c) 2004-2016 Jeremy Stanley <fungi@yuggoth.org>. Permission
- to use, copy, modify, and distribute this software is
- granted under terms provided in the LICENSE file distributed
- with this software.
+.. Copyright (c) 2004-2019 mudpy authors. Permission to use, copy,
+ modify, and distribute this software is granted under terms
+ provided in the LICENSE file distributed with this software.
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 (currently compatible with
-3.3 and later versions) and has only pure Python dependencies. All
-configuration and data are stored in consistently-formatted plain text
-(YAML) 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.
+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.
-Please review the other documentation files distributed with this
-software, or visit http://mudpy.org/res/src/mudpy/doc/ for additional
-information.
+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