Checklists

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.

DikuMUD checklist for MUDs hero illustration
Progress0 / 25 complete (0%)

Core Engine Stability

0/5
  • Modern GCC Compatibility

    critical

    Compile 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

    critical

    Verify that SIGBUS and SIGSEGV signals are trapped to trigger a global player save (do_auto_save) before the process terminates.

  • Crypt Library Migration

    critical

    Ensure 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

    recommended

    Run 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

    recommended

    Execute a copyover command with 10+ active connections to ensure descriptors are passed correctly and no player state is lost.

World and VNUM Integrity

0/5
  • Dangling Exit Audit

    critical

    Run a script to scan all room files for exits leading to VNUMs that do not exist in the current area files.

  • Zone Reset Validation

    critical

    Verify that every mob and object assigned to a reset command (M, O, G, E) exists in the VNUM database.

  • Area Load Order Check

    recommended

    Ensure 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

    recommended

    Trigger every scripted mob/object to verify that the interpreted script engine does not encounter runtime errors or infinite loops.

  • Limbo Area Cleanup

    optional

    Check 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/5
  • THAC0 and AC Scaling Test

    critical

    Simulate 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

    recommended

    Verify 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

    recommended

    Ensure that 100% spell resistance is mathematically impossible through gear stacking to prevent 'invincible' player builds.

  • Flee and Movement Mechanics

    critical

    Confirm 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

    optional

    Review 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/5
  • Shop Gold Loop Prevention

    critical

    Check 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

    recommended

    Verify 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

    recommended

    For 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

    optional

    Confirm that player and mob corpses decay and purge within 30 minutes to prevent object bloat in high-traffic zones.

  • Container Weight Nesting

    critical

    Test 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/5
  • Implementor (IMP) Command Audit

    critical

    Verify that commands like 'shutdown', 'reboot', and 'set' are restricted to Level 60 (or max level) only.

  • Wiznet Logging Verification

    critical

    Ensure all administrative actions (mset, oset, transfer) are logged to the 'wiznet' channel and the system log file.

  • Multi-playing Detection

    recommended

    Check that the IP-tracking code correctly flags or blocks multiple connections from the same source address if the policy forbids multi-playing.

  • Pfile Sanitization

    critical

    Run 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

    critical

    Configure a cron job to rsync the 'player/', 'area/', and 'lib/' directories to a remote off-site location every 6 hours.