PennMUSH 1.7.7p23

Submitted by javelin on Fri, 2003-10-10 08:12

PennMUSH 1.7.7p23 has been releeased in the usual Download area. This patch contains a critical fix to a bug in the chat system that was introduced in p21 and causes chatdb corruption when admin add players to channels (but not when players add themselves). (If your chatdb is corrupted, and won't load on startup, contact Javelin for fix instructions - fortunately, it's pretty easy to fix by hand-editing chatdb).

The patch also contains other goodnesses, including the return of forking dumps under the chunk memory allocator and some new functions.

PennMUSH 1.7.7p22

Submitted by javelin on Wed, 2003-10-01 10:08

PennMUSH 1.7.7p22 is released, which is primarily a fix for a bug in attribute flag setting introduced in p21. No one should apply p21 without also applying p22.

M*U*S*H Architect-in-Residence program

Submitted by javelin on Sat, 2003-09-20 22:16

I'm starting a new competitive fellowship-style program for would-be MUSH gods. You provide an idea for developing a MUSH, and a series of six educational workshops about your MUSH's development over 12 months. Experienced MUSH Gods provide some mentorship. Mud hosting companies provide 12 months of free development hosting.

Full details at

Book review: Designing Virtual Worlds

Submitted by javelin on Mon, 2003-09-15 14:09

It's very simple. If you're planning to start a mud, read this book.

Richard Bartle's recent book Designing Virtual Worlds (published by New Riders Group press) is the comprehensive guide to the issues involved in the development of muds (mmporgs, virtual worlds, whatever). In one well-written compendium, you'll find incredibly thought-provoking insights about players, world design (including geography, combat, economics, politics, religion, story, and much more), community management, and social scientific research on what makes muds and their players tick.

Bartle, who together with Trubshaw developed MUD1, the first mud-as-such, has thought about these things for a long time. Although this book is geared primarily at commercial developers of graphical virtual worlds (think Ultima Online, Everquest, etc.) and is illustrated with several examples of design decisions from such worlds, the insights are very applicable to the design of MUSHes, especially RP MUSHes. Bartle does often use examples from textual virtual worlds - in fact, he largely argues that textual worlds are currently much more advanced than graphical ones in several areas.

The Chunk Memory Management System

Submitted by raevnos on Fri, 2003-09-05 11:56


The chunk memory management system has three goals: to reduce overall memory consumption, to improve locality of reference, and to allow less-used sections of memory to be paged out to disk. These three goals are accomplished by implementing an allocation management layer on top of malloc(), with significantly reduced overhead and the ability to rearrange allocations to actively control fragmentation and increase locality.

Basic operation:

What's SSL?

Submitted by javelin on Tue, 2003-09-02 09:29

Since the additional of SSL support in the PennMUSH server, I've had several people ask me "What's SSL?" Here's a short answer (for a long answer, visit and read up.) downtime

Submitted by javelin on Mon, 2003-08-25 22:59 (which is also and has been freezing up lately. Until I can work out or work around the problem, note that is on a different host, so if you can connect here, but not there, it's probably frozen. (When I notice it frozen, I can remotely reboot it, but I may not notice right away, of course).

Sorry for the inconvenience.

PennMUSH 1.7.7p17

Submitted by javelin on Mon, 2003-08-18 12:05

PennMUSH 1.7.7p17 is now available from the usual places. This is a large patch and this release introduces significant new features, including:

  • SSL support (see README.SSL)
  • Internal rewrites to lock keys
  • Integration of lock keys and @mail texts with the chunk memory allocator

This version includes a new minimal.db, and can no longer read dbs from versions before 1.7.5p0. If you have a 1.7.4 or earlier db, load it in 1.7.6, shut down, and then use the outdb with 1.7.7.