Checklists

Classic MUDs checklist for MUDs

This checklist provides a technical and historical framework for launching or preserving a classic MUD, ensuring the server meets modern connectivity standards while maintaining historical integrity and codebase stability.

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

Connectivity and Protocol Standards

0/5
  • Standard Telnet Port Verification

    critical

    Ensure the server is accessible via standard ports (23, 4000, or 2323) and that firewall rules allow ingress traffic for these ports.

  • TLS/SSL Encryption Wrapper

    recommended

    Deploy a TLS wrapper (such as Stunnel or Nginx) to provide secure connections for modern clients that require encryption.

  • MCCP Support Validation

    recommended

    Verify that the Mud Client Compression Protocol (MCCP v2) is active to reduce bandwidth usage and improve latency for users on limited connections.

  • Web-Based Client Integration

    recommended

    Configure a web-based telnet client (e.g., Grapevine, Mudlet-web, or a custom websocket proxy) to allow access via modern browsers without external software.

  • BBS Door Compatibility

    optional

    If the MUD is intended for BBS integration, verify terminal emulation (ANSI/Avatar) and handshaking protocols with the host BBS software.

Codebase Integrity and Portability

0/5
  • License Compliance Audit

    critical

    Verify the presence of original license files (e.g., DikuMUD, Merc, or ROM) and ensure the 'credits' command accurately reflects the original authors.

  • 64-Bit Architecture Compatibility

    critical

    Audit the C/C++ source code for pointer-to-integer casts and other legacy code patterns that fail on modern 64-bit Linux distributions.

  • Version Control Initialization

    critical

    Initialize a Git repository for the codebase to track preservation changes, patches, and historical area modifications.

  • Dockerization of Build Environment

    recommended

    Create a Dockerfile that encapsulates the specific legacy compiler versions and libraries needed to build the binary from source.

  • Hard-coded Path Cleanup

    recommended

    Identify and remove hard-coded file paths in the source code, replacing them with relative paths or configuration variables.

Data Preservation and Backups

0/5
  • Area File Syntax Validation

    critical

    Run a dry-load of all .are or .wld files to ensure no corruption exists in room, mobile, or object definitions.

  • Player File (PFile) Scrubbing

    recommended

    Execute a script to identify and repair corrupt player files or remove illegal items that may cause crashes during the loading process.

  • Automated Off-site Backups

    critical

    Configure a cron job to sync the lib/ and src/ directories to an off-site location (e.g., S3 or a secondary server) every 24 hours.

  • Cold-Start Recovery Drill

    critical

    Perform a test restoration of the MUD on a fresh server instance using only the backup archives to verify data completeness.

  • Historical Log Archiving

    optional

    Set up a system to archive system logs and public channel logs for historical preservation and community reference.

Stability and Monitoring

0/5
  • Watchdog Script Implementation

    critical

    Deploy a shell script or systemd service that monitors the MUD process and automatically restarts it in the event of a crash.

  • Memory Leak Detection

    recommended

    Run the binary through Valgrind or a similar profiler to identify and patch memory leaks that could cause long-term instability.

  • Copyover/Hot-reboot Testing

    critical

    Verify that the 'copyover' or 'hot-reboot' command functions correctly without dropping active socket connections or losing player data.

  • Resource Limit Configuration

    recommended

    Set appropriate ulimits for the MUD user to prevent a single process from exhausting system file descriptors or memory.

  • Global Logging Levels

    recommended

    Configure the server to log critical errors, player commands, and administrative actions to separate files for easier auditing.

Community and Documentation

0/5
  • Historical Credits and Attribution

    recommended

    Create a dedicated 'history' or 'credits' help file that lists the original developers, previous hosts, and significant contributors.

  • New Player Onboarding Guide

    recommended

    Update the 'help greeting' and 'help rules' to include modern contact info and instructions for modern Telnet clients.

  • External Bug Tracking Setup

    recommended

    Establish a public-facing bug tracker (e.g., GitHub Issues) where players can report world bugs or code issues.

  • Discord/Matrix Bridge

    optional

    Optionally implement a bridge between an in-game chat channel and a Discord/Matrix server to keep the community connected offline.

  • Donation Transparency Page

    optional

    If accepting donations for preservation, provide a clear breakdown of hosting costs and how surplus funds are managed.