to do

This page is really just for brainstorming update ideas and keeping track of bugs or typos which need to be addressed…

currently working on:

  • regular expressions should use the U (UNICODE) flag, so that matches will be dependent on the Unicode character properties database
  • write a Getting Started guide
  • update the configuration and data model documentation
  • adjust coding style guide to match (or at least note deviations from) the Style Guide for Python Code and Documenting Guide
  • add a descriptive blurb at the top of the main project page, so the summary on search engines isn’t churning for each blog update
  • convert documentation pages here to ReST so they can be included directly in upcoming releases, and redirect the old Wordpress documentation links in Apache accordingly
  • set up a managed mailing list for general mudpy development and use discussions, and use it as the project’s E-mail contact
  • add setup.py script for server installation following Python’s packaging guide
  • add a sample System V initscript (link)
  • add py2exe build script and begin distributing a mudpy.exe in the zip version
  • split lib/mudpy/misc.py up into multiple modules
  • clean up code, switching methods to standalone functions so reloading can be more seamless
  • stamp out magic numbers and embedded string constants
  • integrate new data loader/writer routines and data format
  • switch from ! to @ for metarecords in the new data model

planned but not yet implemented:

  • support for multiple simultaneous (ipv4, ipv6) listening sockets
  • a alternative socket type which allows an intermediate proxy application to pass along headers such as client ip address
  • optionally compress data file backups
  • ssh server support option using paramiko
  • generate code documentation via Sphinx
  • implement support for python-cracklib
  • create example routines for “social” emote commands
  • package for Debian and derivatives
  • add a control to lock interpretation of dangerous dynamic data to immutable/read-only containers
  • add a change password routine
  • prompt for confirmation on avatar deletion
  • log account deletion
  • add .mudpy.proc.user and .mudpy.proc.group knobs for privilege separation (if run as root, open sockets, then drop to the specified user/group)
  • replace password hashing algorithm with something more secure (blowfish?), maybe: salt+hash(xor(salt,key)) where salt is long and effectively random
  • make sure password hash uses an arbitrary salt instead of the username
  • document expansion macros
  • admin logins should have an option in the lobby to spawn an avatar-less mudpy command shell
  • use select on the socket list instead of trying to read them all on every pass
  • implement timeit objects to track timing for various loops
  • move socket idle warnings/disconnects into scheduled events
  • move log mark and save timers into scheduled events
  • add remaining increments until next log mark and save in show time
  • add system time and timezone to show time
  • review/scrap/reimplement all event-related element methods
  • write a data converter for DIKU/Circle format files