The TinyMUSH/Mac Project

Introduction

TinyMUSH is a descendant of TinyMUD, both multi-user servers for text-based, interactive worlds, traditionally deployed on a unix system. The TinyMUSH/Mac project is a continuing effort to bring this to the Macintosh. TinyMUSH/Mac itself is currently shipping.

TinyMUSH/Mac is now built with A-line. Because Metrowerks' IDE plugin compilers are no longer used, compiling PowerPC on 68K is no longer a problem. Of course, I have a Power Mac now so it's a moot issue anyway.

Although I will continue releasing new versions of TinyMUSH/Mac as I update the libraries it uses, I have no plans to work on the MUSH codebase or port another one. But if someone else is interested in working on this I'd be delighted to guide you and include your changes.

Netmush has switched back to GDBM for the DBM layer, and the source is distributed under the GNU GPL. I haven't released new 'binaries' yet, though.

If you're running a public MUSH using TinyMUSH/Mac, why don't you have it listed on this site? Send me mail with the MUSH's name, address and port, registration address (if any), and a paragraph of description.

Required software

The latest release is version 0.6.0b1. The latest pre-release of Netmush is 0.7.0d7, which must be installed over the TinyMUSH/Mac distribution.

Requirements

Macintosh Plus or later. Really.

(Mac OS) System 7.0 at least.

MacTCP, or Open Transport with MacTCP emulation.

Remaining issues

Help and news topics must be typed out in full. (The status quo was an exponential explosion of leaked memory.) Concerns: player convenience. Remedy: modify topic lookup. Priority: medium. Projection: whenever someone asks for it.

Passwords are stored unencrypted. Anyone with access to the gdbm files and knowledge of the storage mechanism (which is unchanged from the unix version) can determine the password of say, object #1. On the other hand, only an understanding of crypt() and knowledge of the key (which is in the source code) is additionally needed to do the same with the unix version. But this makes the passwords non-portable. Concerns: security, database compatibility. Severity: low. Workaround: manually reset passwords when changing to or from TinyMUSH/Mac. Remedy: implement password encryption; Priority: low; Projection: not planned.

Some GUSI TCP calls may freeze the system for a few seconds. This is because GUSI makes synchronous device control calls to the MacTCP driver. The delay is minimal when using MacTCP, but more pronounced with Open Transport. Until these calls are replaced, the delays will continue to occur. Concerns: time-critical applications on the same machine. Severity: low. Remedy: reimplement networking core or sockets library; Priority: low; Projection: one of these years.