DikuMUD checklist for MUDs
This checklist provides a technical and design audit for DikuMUD-derivative servers (ROM, Circle, Merc) to ensure stability, balance, and security before public launch or major version releases.

Core Engine Stability
0/5Modern GCC Compatibility
criticalCompile the source using GCC 10+ with -Wall flags and ensure all 'type-punned pointer' and 'format-security' warnings are resolved to prevent crashes on modern Linux distros.
Signal Handler Recovery
criticalVerify that SIGBUS and SIGSEGV signals are trapped to trigger a global player save (do_auto_save) before the process terminates.
Crypt Library Migration
criticalEnsure the codebase uses SHA-512 or Blowfish via libcrypt instead of the deprecated DES crypt() to maintain compatibility with modern glibc versions.
Descriptor Leak Test
recommendedRun the MUD for 24 hours and monitor file descriptor counts to ensure sockets are properly closed when players drop or lose connection.
Copyover/Hotboot Verification
recommendedExecute a copyover command with 10+ active connections to ensure descriptors are passed correctly and no player state is lost.
World and VNUM Integrity
0/5Dangling Exit Audit
criticalRun a script to scan all room files for exits leading to VNUMs that do not exist in the current area files.
Zone Reset Validation
criticalVerify that every mob and object assigned to a reset command (M, O, G, E) exists in the VNUM database.
Area Load Order Check
recommendedEnsure area.lst is sequenced so that base areas load before areas that depend on their VNUM ranges or specific object templates.
MobProg/ObjProg Syntax Scan
recommendedTrigger every scripted mob/object to verify that the interpreted script engine does not encounter runtime errors or infinite loops.
Limbo Area Cleanup
optionalCheck VNUM 2 (Limbo) to ensure it is not accumulating 'lost' objects that should be purged by the daily cleanup routine.
Combat and Class Balance
0/5THAC0 and AC Scaling Test
criticalSimulate combat between level 50 players and mobs to ensure Armor Class does not 'wrap' or become useless against high hitroll values.
Healing vs DPS Ratio
recommendedVerify that a dedicated healer's mana-per-second recovery cannot outpace the maximum possible DPS of an equivalent level mob or player.
Saving Throw Effectiveness
recommendedEnsure that 100% spell resistance is mathematically impossible through gear stacking to prevent 'invincible' player builds.
Flee and Movement Mechanics
criticalConfirm that the 'flee' command cannot move a player into a room locked by a key or flagged as private/no-mob.
Class Skill Cap Audit
optionalReview the skill table to ensure every class has a unique 'primary' utility that cannot be replicated by other classes via items.
Economy and Itemization
0/5Shop Gold Loop Prevention
criticalCheck that shop buy/sell ratios (usually 100% buy / 50% sell) prevent players from profiting by buying and immediately reselling the same item.
Item Limit Enforcement
recommendedVerify that 'Unique' or 'Limited' flags on high-end gear correctly prevent more than the specified number of items from existing in the game world.
Rent/Persistence Costing
recommendedFor CircleMUD-based games, verify that rent costs for high-level items scale with the average gold-per-hour of that level range.
Corpse Decay Timers
optionalConfirm that player and mob corpses decay and purge within 30 minutes to prevent object bloat in high-traffic zones.
Container Weight Nesting
criticalTest that putting a container inside a container does not allow players to bypass total carry weight limits (the 'bag-in-bag' bug).
Security and Permissions
0/5Implementor (IMP) Command Audit
criticalVerify that commands like 'shutdown', 'reboot', and 'set' are restricted to Level 60 (or max level) only.
Wiznet Logging Verification
criticalEnsure all administrative actions (mset, oset, transfer) are logged to the 'wiznet' channel and the system log file.
Multi-playing Detection
recommendedCheck that the IP-tracking code correctly flags or blocks multiple connections from the same source address if the policy forbids multi-playing.
Pfile Sanitization
criticalRun a script to ensure player files (pfiles) do not contain illegal characters or over-length strings that could cause buffer overflows on load.
Automated Backup Routine
criticalConfigure a cron job to rsync the 'player/', 'area/', and 'lib/' directories to a remote off-site location every 6 hours.