To quote the original project: "LambdaMOO is a network-accessible, multi-user, programmable, interactive system well-suited to the construction of text-based adventure games, conferencing systems, and other collaborative software."
Waverous LambdaMOO:
- has been ported from C to C++
- adds Expat for XML parsing (kudos to Ken Fox for his file)
- has conditional compilation via choices when you run ./configure (i.e. --without-fup --with-fileio --with-expat --with-forked-checkpoints)
- Has an extensively updated set of automake and autoconf files
To help new contributors orient quickly, there are focused READMEs in key subdirectories:
manual/README.md: explains what documentation sources are inmanual/, why they matter, and how to generate output formats (text, HTML, PDF, info).server/README.md: maps the server code layout by subsystem and explains which tools are used for parsing, code generation, configuration, and builds.
The project has been modernized and is now fully functional on modern systems:
- Build System Fixed: Resolved compilation issues for modern C++ compilers and ARM64 architecture
- Dependencies Updated: Added support for modern autotools and library versions
- Cross-Platform: Successfully tested on macOS ARM64 and Linux
- Ready for Development: Clean compilation with modern toolchain
- Autotools Modernized Again: Updated legacy
configure.ac/acinclude.m4macros for current autoconf behavior and regenerated autotools outputs. - Compatibility Preserved: Restored required legacy config header behavior (
int32/unsigned32typedef block and guards) so existing server code still builds cleanly. - Build Verified with Latest Brew Tools: Confirmed successful
autoreconf,configure, andmakeusing Homebrew toolchain (autoconf 2.72,automake 1.18.1,bison 3.8.2,libtool 2.5.4). - Pushed Upstream: Changes are committed and pushed on
master(2fe1a64).
# Install dependencies (macOS with Homebrew)
brew install autoconf automake bison libtool expat gperf
# Prefer Homebrew bison/libtool over macOS defaults
export PATH="/opt/homebrew/opt/bison/bin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH"
# Regenerate autotools files, then configure and build
cd server
autoreconf -fi
export LDFLAGS="-L/opt/homebrew/opt/expat/lib"
export CPPFLAGS="-I/opt/homebrew/opt/expat/include"
./configure --with-expat --with-fileio --with-fup \
--with-pattern-cache-size=20 \
--with-input-backspace=yes \
--with-ignore-prop-protected=yes
make -j4
# Run the server
./moo databases/Minimal.db output.dbIn 2013 I duplicated the C++ porting work I did for Waverous for Todd Sundsted's clone of the LambdaMOO server. At that point I stopped work on this project, but as of late 2025 have been applying agentic development to refresh the project.
- LLM Integration: Add LambdaMOO objects that can communicate with external LLM APIs (ChatGPT, Gemini, etc.)
- Modernization: Update deprecated C++ features and improve code quality
- Raspberry Pi Support: Optimize for ARM-based single-board computers
- Docker Support: Create containerized deployment options
Elizabeth Hess has written a book about using LambdaMOO, "Yib's Guide to MOOing." The complete text is available as a PDF from her site: www.yibco.com