Archive for the ‘Code’ Category

Maintenance Release

Sunday, October 7th, 2007

I just fixed a handful of typographical errors in data and embedded text strings… nothing major. I’m still working separately through some of the more significant, architectural updates to the engine and data model, but I won’t be releasing that branch of the code until I have something which actually runs.

Work on Expansion Macros

Wednesday, September 19th, 2007

Today I added a new $(inc:<filename>) expansion macro, which allows injection of file contents into text output. It is a little dangerous at the moment, and could probably stand to be locked to read-only data (but the same goes for the existing eval-based facets as well, so I’ve added this to the to do list).

While I was testing, I exposed and fixed an infinite recursion bug in the macro expansion routine, not to mention noticing a major speed-up by moving a bunch of static assignments out of the search loop (oops!).

Text Wrapping Fixes

Sunday, August 12th, 2007

The text wrapping routines saw some needed fixes today. The first was for a bug wherein Telnet IAC sequences were counted toward line length (most noticeable following the password prompt at login, when the next block of output gets an echo on sequence prepended). The second corrected an implementation oversight where the CR in a Telnet CR+LF line terminator was counted toward the line length, leading to wrapping one character early if a preterminated line happened to be just as long as the configured wrap width.

Disconnect Idle Users

Monday, July 23rd, 2007

I know this should have been implemented sooner, but a check_idle method has been added to the User class to warn and eventually disconnect long-idle sessions. The default wait can be set in the config, and even overridden on a per state basis (active, entering_account_name, et cetera). Without this, the engine essentially exhibits a very slow file descriptor leak, eventually leading to a fatal exception.

Demo Data Loader

Tuesday, April 24th, 2007

After hand-converting the format of the basic configuration/data files from the last mudpy snapshot, a first pass at a rudimentary data loader can be seen here. It doesn’t contain any real error checking or data validation routines yet, and the save routine to go with it still needs to be written, but this is at least a start at some progress…