ICE

The ifMUD Client Engine


Simple Overview

"ICE" is a class implementing an exhaustive interface to the ifMUD in Perl. It provides wrappers for a large subset of the MUD's commands as well as an extensive parser for lines output from the MUD.

The ifMUD is a Perlmud-based multi-user dimension which was created for the discussion of interactive fiction. It has close ties to the USENET newsgroups rec.games.int-fiction and rec.arts.int-fiction. The MUD itself runs at ifmud.port4000.com port 4000 and is open to the public.

All transfers to and from the ifMUD are plaintext, as it is intended to be able to be used via a low-bandwidth telnet connection, if needed. However, MUD clients make using the ifMUD simpler and more elegant. The primary goal in creating ICE was to simplify the creation of an ifMUD-specific client in the future.

Documentation

ICE has POD documentation within its code, accessible via the perldoc command. This POD documentation is also available online in HTML format. The downloadable package also has the POD documentation in ASCII text format.

I have made a table of all the various 'Type' strings that can be returned as part of the hash from the parse_line() function, along with examples of strings that match each type, and a list of the other keys in the hash when that type is matched. You can view the table here.

Reporting Bugs

ICE is still very much a work in progress. If you find any bugs, omissions, errors, or if you have any questions or suggestions, please feel free to email me and let me know. When reporting bugs/problems please be as specific and include as much information about your script and setup as possible. Including a small sample script that reproduces the errant behaviour will help expediate a timely and accurate solution to the problem.

To Do

Tyson Boucher has reported that either the Windows Perl implementation or Windows sockets themselves seem to time out rather often with no notice, so he's come up with a buffered-read version of ICE that handles this nicely. I'm considering releasing two versions of the module, one with his modifications and one without.

Download

The ICE tarball contains the following files:

The latest version is available here: ice16Sep2001.tar.gz


Copyright © 2001 Ryan N. Freebern.