[MUD-Dev] Bug tracking

Ammon Lauritzen ammon at simud.org
Fri Jun 7 17:07:10 New Zealand Standard Time 2002

On Thu, 6 Jun 2002, Sanvean wrote:

> Does anyone have a system for bug tracking that they use on their
> mud?

At the SIMud project, we have a fairly involved system for bug

First, there is our todo list, which is basically just a board
system for the wizards that they can access from anywhere. The todo
list is good for tracking our development as it goes along, adding,
changing, and removing items from the list as the problems present
themselves, change, and are resolved.

Players have access to the standard bug, typo, and idea
commands. When they use one of these, the information is recorded in
two places. First, an instant message (part of our mudmail system,
similar to icq) is sent to all wizards on a notify list so they see
the idea as soon as possible (no waiting until somebody remembers to
go over logs...).

The same message is posted to our web forums (phpBB), where people
(including those not on the in-mud notify list) are able to discuss
things and see if we have made any progress. We leave topics on the
forums for at least a week after they are resolved.

In addition to those three commands, we also have a newsoul command
where people can propose ideas for new social commands (this has a
different notify list). We also track failed requests for help on
the forums (but without the im's), so if a person typed 'help magic'
and we did not have a topic on magic, a note of this would be posted
to the appropriate board.

In addition to all of this, we have two special lines on the chat
system that wizards are able to turn on or off (as spam directs) for
debugging purposes. These are the debug and error channels. We have
written a simple sefun, debug(), that allows you to broadcast
debugging messages over the appropriate line from anywhere in the

Any compiletime or runtime errors are broadcast over error. This
allows for instant notification of bugs, whether you are present for
the failure or not. It also allows for team solutions to problems.

An example of debug in action usually looks something like this:

  foreach( item : list ) {
     debug("item = "+(string)item);

Anyone listening to debug will see the message, regardless of
location.  Of course, people have the option of turning debug
off. Good example of everyone turning debug off was when I was
porting the old Amylaar implementation of Intermud-3 to our lib and
was issuing notification of all packets received... and dumping
their contents to the screen.  Connection to the metaserver usually
resulted in about 3000 lines of spam before things slowed
down. Needless to say, as I was the only one interested in those
messages at the time, everyone else who was sane turned the line

As things progress, we might add additional debug channels so people
can use the sefun without disrupting the universe. If something like
this were in place when I was still debugging I3, I would have
redirrected the packet dumps to another line so people could have
shut that particular line off and still get all normal debug
messages for whatever they were working on at the time.

Ammon Lauritzen

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list