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