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.

Connectivity and Protocol Standards
0/5Standard Telnet Port Verification
criticalEnsure 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
recommendedDeploy a TLS wrapper (such as Stunnel or Nginx) to provide secure connections for modern clients that require encryption.
MCCP Support Validation
recommendedVerify 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
recommendedConfigure 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
optionalIf 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/5License Compliance Audit
criticalVerify 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
criticalAudit 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
criticalInitialize a Git repository for the codebase to track preservation changes, patches, and historical area modifications.
Dockerization of Build Environment
recommendedCreate a Dockerfile that encapsulates the specific legacy compiler versions and libraries needed to build the binary from source.
Hard-coded Path Cleanup
recommendedIdentify and remove hard-coded file paths in the source code, replacing them with relative paths or configuration variables.
Data Preservation and Backups
0/5Area File Syntax Validation
criticalRun a dry-load of all .are or .wld files to ensure no corruption exists in room, mobile, or object definitions.
Player File (PFile) Scrubbing
recommendedExecute 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
criticalConfigure 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
criticalPerform a test restoration of the MUD on a fresh server instance using only the backup archives to verify data completeness.
Historical Log Archiving
optionalSet up a system to archive system logs and public channel logs for historical preservation and community reference.
Stability and Monitoring
0/5Watchdog Script Implementation
criticalDeploy a shell script or systemd service that monitors the MUD process and automatically restarts it in the event of a crash.
Memory Leak Detection
recommendedRun the binary through Valgrind or a similar profiler to identify and patch memory leaks that could cause long-term instability.
Copyover/Hot-reboot Testing
criticalVerify that the 'copyover' or 'hot-reboot' command functions correctly without dropping active socket connections or losing player data.
Resource Limit Configuration
recommendedSet appropriate ulimits for the MUD user to prevent a single process from exhausting system file descriptors or memory.
Global Logging Levels
recommendedConfigure the server to log critical errors, player commands, and administrative actions to separate files for easier auditing.
Community and Documentation
0/5Historical Credits and Attribution
recommendedCreate a dedicated 'history' or 'credits' help file that lists the original developers, previous hosts, and significant contributors.
New Player Onboarding Guide
recommendedUpdate the 'help greeting' and 'help rules' to include modern contact info and instructions for modern Telnet clients.
External Bug Tracking Setup
recommendedEstablish a public-facing bug tracker (e.g., GitHub Issues) where players can report world bugs or code issues.
Discord/Matrix Bridge
optionalOptionally implement a bridge between an in-game chat channel and a Discord/Matrix server to keep the community connected offline.
Donation Transparency Page
optionalIf accepting donations for preservation, provide a clear breakdown of hosting costs and how surplus funds are managed.