Erwin's home page - MUD Snippets

None of the files are very large, so you might be better off just getting easnip0009.tar.gz - the whole thing and reading the documentation inside. (Last updated: Sep 00). Remember to use your web browser's Download command to download those files.

If you've found any of these resources useful, I'd appreciate if you also put a link to my homepage (top level, or the MUD page, there in some appropriate credits or links section). A list of pages linking to this page can be found here - if you are not on that list and want to be, mail me.

September 2000: I consider all of the code owned by me offered on this page to be public domain. This overrides any license written by me that is contained inside the files. I would still like that you do not redistribute the files on your own site, but rather link to this page.


This is set of server patches for a MUD and a Windows/UNIX client that makes it possible to edit text files (e.g. room descriptions, notes, mobprogs) of your MUD using a text editor on your remote machine.
Version 2.1, August 98.

Object lister (MERC)

This utility command writes all the items reset on the MUD into a comma-delimetered file, perfect for importing into Excel or another spreadsheet. All the stats on items are written, including level. It is then easy to sort the list, and find out what level equipment is lacking, which weapon has the highest damage roll etc. A ROM 2.4b2 version is also available, get this.
Both are version 1, last update: November 95.

Various Immortal utilities

This package includes: exlist which lists all the areas having exits to or from the current area, vlist, which shows which areas occupy which series of VNUMs, for - an extended AT which allows a command to be executed on/at every player, and finally rename, which allow safe renaming of players on-line.
Version 3, last update: January 96.

Multi-board note system

This is a board system, much resembling the one of Mystic Adventure. It allows the implementor to create a number of board for messages, like "General", "Ideas", "Bugs" etc. for easier overview.

Each board can have a minimum level for reading as well as writing, so you can have Immortal-Only boards. There is also an expire system, where notes are automatically moved to another file when old.

A new editor is included which lets you write your note more directly, prompting you for each item (much like mail editors do) instead of using NOTE +, NOTE TO etc. New in version 3 is a patch for ROM 2.4 provided by Yago Diaz.
Version 3, last update: Feb 98.

Room-based reset editting package

This package includes a number of Immortal commands for easier reset editting. It is not an OLC in itself, so you need one to save the areas editted. Basically, the concept is to view resets on room basis; You use the RLOOK command to see what resets in the current room, then you can e.g. insert E or G resets by referring to a mob's keyword instead of vnum (like RGIVE sword 2.guard - give the first sword of this area to the 2nd guard in this room). Recently updated to be compatible with ILAB OLC where there is a reset list for each room.
Version 4, last update: October 96.

Command disabling utility

This handy immortal command allows you to tempoarily disable certain commands online. If a new command has just been implemented, but shows buggy, just DISABLE it! Or if you feel your players CHAT too much, disable that! :) Status of disabled commands saves over reboots.
Version 1, last update: January 96.

Online social editor

Online social editor - instead of hardcoding the socials, edit them online and let your immortals and dozens of new ones at players' request! Now contains ROM support, courtesy of Brian Castle.
Version 6, last update: July 97.

Copyover - hot reboot

Reboot your MUD without players losing link. This command spawns a new copy of the MUD via exec, thus inheriting descriptors. Players' names are written to a file and players are reloaded later and hooked up to the right descriptors, meaning only that there is some temporary lag while the MUD reloads. Now with a ROM 2.4 patch, one for Smaug as well (courtesy of Walter Goodwin, updated again for 1.4) and also one for Circle.
If you are using NiMUD, here is a contributed NiMUD copyover installation guide by Niksa.
This first version of this feature appeared in Melvin "Fusion" Smith's MUD++ codebase, and this code was inspired by it.
Version 7, last update: September 2000 -- this fixes a security problem in Smaug patch!.

Online skill/spell level editting

This snippet makes it possible to online edit the level a class gains a skill/spell. This makes adding new classes much easier, if you have many skills.
Version 2, last update: December 96.

Dynamic, crashproof buffer

A dynamic, crashproof string buffer which expands as needed. No more crashes because you added a area, and the static size buffer in do_areas() overflowed.
Version 1, last update: October 96.

Various, small snippets

This package includes: using signals to prevent deadlock, using signals to save last command that occurred before crash, using stdarg.h to make your life easier.
Version 3, last update: January 99.

Generic Linked List Loader

Using this package, you can define the disk structure of your linked list, and let the package load/save it for you. Using a set of macros you specify for each field to be saved if it is a string, an integer: GDL does the rest of the work. The data files use keywords so that the structure can be effortlessly expanded.
Version 2, last update: January 99.

Sample event system implementation

This is how we implemented events on AR. There is no code that can be readily used in your MUD here, this is just something for people who intend to implement events to look at.

Unsupported code

I will not answer questions about any of the pieces of code below. 99% of the questions I do get about the code are questions that could be answered with some knowledge of C and abililty to look through the other code that a typical MERC derivative consists of for similar things. If you are unable to do that, you should go back and learn easier programming rather than try to code for a MUD.

Automated auction system

This is a classic command, used on many MUDs, but probably most influenced by the Mystic Adventure one. It changes the auction channel into an automated one, giving the buyers the ability to see the stats of an item and bid on it. One item is auctioned at a time. Version 3 contains no new features, just an answer to a question I've been asked about 50 times now.
Version 3, last update: November 97.

Buying multiple objects

After having played the Sneezy MUD, I very much liked the idea of buying all of your bread at once. This modified do_buy allows that, so you now can type buy 20 bread and avoid getting spammed!
Version 1, last update: October 95.

The classic scan command

My version of the classic scan command. It is not very advanced, but it works :)
Version 1, last update: August 95.

Wielding two weapons (MERC)

A relatively small snippet of code I forgot to move to here from Basically, it's an example of a dual wield command implementation.
Version 1, last updaute: January 96.

If you did not find what you were looking for, you will most likely find it if you use the below webring, which should link to just about all web pages that contain code for MERC and derivative MUDs.

"MERC/Derivative Programmers" webring [Next] [Index] [Prev] [Joining]
What's new
Nov 16 A few user contributions to LeakTracer
Sep 19 The wonderful world of CSS
Feb 13 New XEmacs elisp -- C/C++ utilities

Site navigation