LambdaMOO vs ToastStunt vs MOO programming language
MOO (MUD Object-Oriented) servers provide foundational infrastructure for persistent text-based virtual worlds. This comparison evaluates three C-based implementations: the original LambdaMOO codebase, the minimal Stunt fork, and the feature-extended ToastStunt project. Administrators must assess database architecture, networking capabilities, and migration complexity when selecting platforms for new deployments or legacy system upgrades.

LambdaMOO
Reference implementation maintaining 1990s compatibility
Best for: Legacy installations requiring exact database format preservation
ToastStunt
Modern fork with SQLite and WebSocket support
Best for: Production environments requiring modern database and networking features
Stunt
Minimalist LambdaMOO fork with IPv6 support
Best for: Low-resource deployments needing minimal build dependencies
github.com/toddsundsted/stunt ↗| Criterion | LambdaMOO | ToastStunt | Stunt | Winner |
|---|---|---|---|---|
Build System Requirements Compilation toolchain and dependency complexity for server deployment | Requires BSD make, yacc/bison, and specific C compiler versions; configure script with platform-specific patches | CMake-based build with automatic dependency resolution; supports modern GCC and Clang | Standard Makefile with minimal dependencies; compiles with base C compiler only | Stunt |
Database Architecture Storage engine capabilities and persistence mechanisms | Proprietary flat-file format (db.c/db.h); textdump-based persistence with no relational query support | Native SQLite integration with relational query support; hybrid flat-file and SQL storage options | Optional SQLite support via compile-time flags; maintains backward-compatible flat-file format | |
Network Protocol Support IP addressing and transport layer capabilities | IPv4 only; raw TCP sockets without built-in TLS/SSL encryption | IPv6 dual-stack support; WebSocket bridge capability; TLS termination options | IPv6 support; standard TCP with select()-based event loop | |
Language Extension API Built-in functions and C-level customization hooks | Static C function registration; limited built-in primitives for string and list manipulation | Dynamic module loading; HTTP client primitives; JSON parsing; cryptographic hash functions | Minimal built-in set; clean C API for custom function addition without module system | |
Migration Path Complexity Effort required to migrate existing MOO databases and scripts | Baseline reference; no migration required for legacy databases | Requires textdump export/import; provides database conversion utilities for LambdaMOO format | Direct LambdaMOO database compatibility; drop-in replacement for vanilla MOO servers | Stunt |
Memory Management Garbage collection and address space limitations | Reference counting without cycle detection; 32-bit address space limits on older releases | 64-bit address space; improved garbage collection with cycle detection | Standard reference counting; 64-bit support on modern architectures | |
Security Features Authentication encryption and sandboxing capabilities | No built-in encryption; plaintext authentication; traditional MOO security model | bcrypt password hashing; TLS proxy support; sandboxed execution options | Standard MOO security; no additional cryptographic builtins | |
Maintenance Status Frequency of updates and community support activity | Community maintenance mode; infrequent updates; stable but stagnant | Active development; regular releases with modern C standards compliance | Stable maintenance; conservative update schedule focusing on bug fixes |
Our Verdict
LambdaMOO provides reference compatibility for legacy systems but lacks modern networking and database features. Stunt offers a lightweight migration path with minimal changes and reduced resource requirements. ToastStunt requires initial migration effort but provides production-grade features including SQLite integration and TLS support necessary for contemporary deployments handling sensitive data or high concurrent loads.
Use-Case Recommendations
Scenario: Preserving historical LambdaMOO databases without modification
→ LambdaMOO
Maintains exact compatibility with 1990s database formats and traditional networking stack without conversion requirements
Scenario: Educational MUD with web browser client integration
→ ToastStunt
WebSocket support and HTTP client primitives enable modern browser-based interfaces without external proxy infrastructure
Scenario: Embedded low-resource containerized installation
→ Stunt
Minimal memory footprint and optional compile-time configuration suit Docker containers or IoT deployments with constrained RAM
Scenario: Production server with 100+ concurrent users and security requirements
→ ToastStunt
64-bit memory addressing, cycle-detecting garbage collector, bcrypt hashing, and IPv6 support handle high-traffic loads with modern security standards