Checklists

TinTin++ checklist for MUDs

This checklist ensures that a TinTin++ script configuration is stable, secure, and optimized for high-level MUD gameplay and automation. Follow these steps to transition from a basic script file to a production-ready environment.

TinTin++ checklist for MUDs illustration
Placeholder illustration shown while custom artwork is being produced.
Progress0 / 30 complete (0%)

Core Session Management

0/5
  • Automated Connection Logic

    critical

    Verify that the startup script uses #SESSION and #CONNECT to automatically reach the target host without manual input.

  • Session Naming Convention

    recommended

    Ensure every session is assigned a unique, descriptive name to prevent command collisions in multi-session environments.

  • Auto-Reconnect Implementation

    recommended

    Implement a #EVENT {SESSION DISCONNECTED} trigger that attempts to reconnect after a staggered delay (e.g., 5, 10, 30 seconds).

  • Startup Event Handlers

    critical

    Confirm that #EVENT {SESSION CONNECTED} triggers the loading of character-specific scripts and initial status requests.

  • Graceful Shutdown Sequences

    recommended

    Test that a 'quit' command or session kill triggers a #WRITE command to save persistent variables before the session closes.

Script Architecture and Modularity

0/5
  • Class-Based Scoping

    critical

    Wrap all feature-specific scripts (mapping, combat, inventory) in #CLASS blocks to allow for clean loading and killing without restarting the client.

  • Relative Pathing

    critical

    Replace absolute file paths with paths relative to the main script directory to ensure portability across different machines.

  • Variable Initialization

    recommended

    Define default values for all essential variables at the top of the script to prevent errors when logic checks undefined variables.

  • Configuration File Separation

    critical

    Separate user-specific settings (passwords, character names) into a 'config.tin' file that is excluded from version control.

  • Alias Namespace Management

    recommended

    Prefix all internal script aliases with a unique identifier (e.g., .map_move) to avoid overwriting standard MUD commands.

Trigger Safety and Performance

0/5
  • Priority Assignment

    critical

    Explicitly set numeric priorities for all #ACTION and #PROMPT commands to ensure critical triggers fire before generic ones.

  • Infinite Loop Prevention

    critical

    Review all triggers that send commands back to the MUD to ensure they cannot trigger themselves or other scripts in a loop.

  • Prompt Detection Efficiency

    recommended

    Use the #PROMPT command or specific anchor characters (^ or $) in regex to minimize CPU usage on high-traffic sessions.

  • Gagging and Filtering

    optional

    Implement #GAG for frequent, non-essential messages (e.g., weather, ambient room noise) to reduce terminal scroll-back bloat.

  • Multi-line Trigger Anchoring

    recommended

    Ensure multi-line triggers use state variables or line counters to prevent partial matches on fragmented network packets.

Terminal UI and Display

0/5
  • Split Screen Configuration

    critical

    Enable #SPLIT and verify that the input line is separated from the scroll-back buffer to prevent input corruption by incoming text.

  • Status Bar Updates

    recommended

    Configure the #PROMPT or #SHOWME to populate the split-screen status line with health, mana, and experience data.

  • UTF-8 Encoding Support

    recommended

    Verify that #CONFIG {CHARSET} is set to UTF-8 if the MUD or terminal uses non-ASCII characters or map symbols.

  • Color Variable Usage

    optional

    Use TinTin++ color codes (<088>, <118>, etc.) instead of raw ANSI sequences to maintain script readability.

  • Scrolling Buffer Limits

    recommended

    Set #CONFIG {SCROLL LOCK} and buffer size limits to prevent memory exhaustion during long play sessions.

Logging and Debugging

0/5
  • Automated Session Logging

    recommended

    Implement #LOG {APPEND} {filename} on session start, using timestamps in the filename for easy retrieval.

  • Sensitive Data Scrubbing

    critical

    Ensure passwords sent via #SEND or #CONNECT are not echoed to the screen or written to plain-text log files.

  • Debug Mode Toggle

    recommended

    Create an alias to toggle #DEBUG and #MESSAGES on/off for troubleshooting complex trigger logic.

  • Log Format Selection

    optional

    Choose between RAW (includes ANSI) or PLAIN (text only) logging based on whether the logs will be parsed by external tools.

  • State Persistence Verification

    recommended

    Verify that character variables (e.g., gold, inventory counts) are successfully written to a .tin file using #READ and #WRITE.

Network and Protocol Support

0/5
  • Keep-Alive Pings

    recommended

    Set up a #TICKER that sends a null character or 'look' command every 60 seconds to prevent idle timeouts from firewalls.

  • SSL/TLS Verification

    critical

    If the MUD supports it, use #SSL CONNECT to encrypt the session traffic and protect credentials.

  • MCCP Compression

    recommended

    Verify that Mud Client Compression Protocol (MCCP) is enabled in #CONFIG to reduce bandwidth usage and latency.

  • Telnet Option Negotiation

    critical

    Ensure #CONFIG {TELNET} is set to ON to correctly handle server-side requests like window size (NAWS) or terminal type.

  • Input Packet Patching

    recommended

    Enable #CONFIG {PACKET PATCH} to handle fragmented packets from the server that might otherwise break triggers.