A system for building shared, programmable, online spaces. Compatible with LambdaMOO. Built for the future.
See the code
mooR is a network-accessible, multi-user, programmable system for building online social environments, games, and collaborative spaces. Think of it as a virtual world where participants can not only interact with each other, but also program and modify the environment itself.
mooR is a modern, from-scratch rewrite of LambdaMOO, maintaining full compatibility with existing LambdaMOO 1.8.x databases while adding significant enhancements.
Which version should I use?
Use the stable
1.0.2release, thev1.0-releasebranch, or the publishedghcr.io/timbran-project/moor:1.0.2image and Debian packages for running worlds and evaluating mooR.maintracks2.0.0-devand contains active next-version development work.Exception: Cowbell currently tracks
mainand requires post-1.0 runtime/compiler features. Usemainif you want to build and run Cowbell through the bundled setup scripts.See the Status section below for the branch policy.
๐ For comprehensive documentation, see our mooR Book.
Repository migration (July 2026): Development, issues, and pull requests have moved back GitHub (from Codeberg), but into a new timbran-project organization. Here's why. The
1.0.2release was the final release built using the previous hosting and repository layout. Its release artifacts have been mirrored from Codeberg to GitHub along with the1.0.0and1.0.1releases.
A MOO (Multi-User Object-Oriented) is a network-accessible, multi-user, programmable system for building online social environments, games, and collaborative spaces. Think of it as a virtual world where participants can not only interact with each other, but also program and modify the environment itself.
MOOs offer a unique digital experience through:
What mainly sets MOOs apart is their emphasis on live programming and community-driven content creation - imagine if Minecraft's creative mode, Discord's community features, and a code editor all lived in the same space. (Or for the more nerdy, imagine if a system like Smalltalk or similar could be connected to by multiple people in real time, each contributing to a shared codebase.)
mooR is a modern, from-scratch rewrite of all of the above. It will happily import an existing LambdaMOO (or some ToastStunt) database, but offers significant enhancements and modern conveniences and is intended on bringing the whole experience into the future.
To see a live running instance, visit our demonstrator community at "Timbran Hotel".

Runtime improvements:
Language enhancements:
true/false)["key" -> "value"])begin/end blocks{x * 2 for x in [1..5]}){x, y} => x + y)Modern infrastructure:
mooR 1.0.2 is the current stable
release. The core runtime and database formats are stable for the 1.0 series. It successfully runs
databases imported from LambdaMOO with real-world workloads and has passed extensive stress and
performance testing.
Branch policy:
v1.0-release branch: stable 1.0 release line for bug fixes, stability work, and patch releasesmain branch: 2.0.0-dev feature developmentmain first, then are cherry-picked to v1.0-release when safev1.0-releaseRepository: The primary mooR repository is
github.com/timbran-project/moor. File issues and submit
pull requests on GitHub. GitHub hosts the stable 1.0.0 through 1.0.2 releases and their package
artifacts. Codeberg retains the repository history from before the migration, but new development
takes place on GitHub.
mooR is now a monorepo. The Rust server and tools live under crates/ and tools/, Cowbell lives
under cores/cowbell/, the Meadow clients live under clients/, and deployment assets live under
deploy/.
The easiest way to get started and see what we've made is by using our quick-start scripts. These scripts handle Docker setup, resource isolation, npm workspace dependencies, and feature flag configuration.
Choose one of the bundled, pre-configured cores to explore:
main):
./scripts/start-moor-cowbell.sh
./scripts/start-moor-lambdacore.sh
By default, these scripts use a higher performance release build. For a faster initial compile
during mooR development (but slower runtime performance), you can use the --debug flag:
./scripts/start-moor-cowbell.sh --debug
Once started, the services are available at:
telnet localhost 8888The system isolates runtime data for each core in its own directory (run-cowbell/ or
run-lambda-moor/), ensuring you can switch between them without database pollution.
This starts two containers:
Connect via:
telnet localhost 8888The server comes pre-loaded with an extraction of LambdaCore, providing a ready-to-explore virtual world.
For more detailed setup instructions, see the Docker Compose Setup section in the mooR Book.
For frontend development and testing, you can run the single-process moor server and web client
without Docker:
npm run full:dev
This starts the moor single-process binary and web development server, accessible at
http://localhost:3000. The moor process runs the daemon, telnet host, and
web host together while Vite provides hot-reloading for frontend development. See
the in-tree Meadow documentation for details.
mooR provides multiple deployment configurations to suit different use cases:
The root docker-compose.yml is designed for development and single-process deployments. The
backend runs as one moor process, with nginx serving the Meadow frontend.
The recommended way to start this setup is via the core-specific scripts, which handle all environment isolation and permissions for you.
To start in the background:
./scripts/start-moor-cowbell.sh -d
(Any additional flags like -d are passed directly to docker compose up).
Data for these deployments is consolidated under core-specific directories (e.g., ./run-cowbell/),
keeping your project root clean.
The deploy/clustered/docker-compose.tcp.yml file is an example configuration that demonstrates
TCP-based communication with CURVE encryption. It runs on a single machine but shows what a
multi-machine clustered setup would look like:
docker compose -f deploy/clustered/docker-compose.tcp.yml up -d
This uses TCP with CURVE encryption and enrollment tokens for host authentication. It's useful for testing the clustered setup locally before deploying across actual separate machines.
For actual multi-machine production deployments, use Kubernetes (see future documentation) or deploy Debian packages on separate servers.
The deploy/ directory contains deployment examples:
single-process/basic/: Combined backend with telnet, embedded web API, and curl workersingle-process/web/: Combined backend plus nginx serving Meadow, with curl worker enabledclustered/telnet-only/: Split-process telnet setupclustered/web-basic/: Split-process web deployment with HTTPclustered/web-ssl/: Split-process web deployment with HTTPS/TLS supportdebian-packages/: Native Debian/Ubuntu packages with systemd (no Docker)Published container images are available from GitHub Container Registry. The
ghcr.io/timbran-project/moor image contains the backend binaries and compiled Meadow assets;
ghcr.io/timbran-project/moor-frontend provides Meadow in nginx for deployments that need a
standalone frontend image. Version and latest tags are multi-platform for AMD64 and ARM64.
See each deployment's README for specific setup instructions. If you run into problems with these scripts, please file an issue on our GitHub issue tracker as they may fall out of date with the latest changes.
For testing the current state of these deployment scenarios:
cd deploy
./test-all.sh # Test all deployment configurations
mooR offers several opportunities for contribution. For detailed contribution guidelines, see CONTRIBUTING.md.
Core Development (Rust):
World Building (MOO language):
Documentation & Testing:
Found a bug or have a feature request? Please file an issue on our
GitHub issue tracker. Bug reports from main are
welcome, but if you're running a world or evaluating mooR for stability, use the
1.0.2 release or the v1.0-release
branch.
When reporting bugs, please include:
mooR is licensed under the GNU Affero General Public License v3.0. See LICENSE for details.
mooR is intended to be run as a networked multi-user system, not only as a local program. For that reason, the project uses the AGPL rather than the GPL: if someone modifies mooR and runs that modified version as a service, the corresponding source for those modifications should remain available under the same terms.
Running your own database, world, MUD, or MOO on top of mooR does not transfer ownership of that database or its contents to the mooR project or its author. The relevant copyleft obligation is about modifications to mooR itself, or reuse of mooR code in another project, not about ownership of the world data or creative content you host with it.
This applies to the main mooR software in this repository. Documentation in book/, core database
content in cores/, and separately published client and schema libraries in clients/ and
crates/schema/schema/ have separate licensing terms; see those directories for details.
If your intended use of mooR requires different licensing terms, contact Ryan Daum, operating as Timbran Consulting. Alternative licensing arrangements may be possible on a case-by-case basis.
Contributions are accepted subject to the contributor license agreement in CLA.md. The CLA does not change the project's open source license; it is there so contributions can be included in mooR while still allowing case-by-case alternative licensing arrangements where agreed. See CONTRIBUTING.md for details.
Rust
66.7%
Moocode
17.9%
Dart
5.4%
TypeScript
5.4%
Python
2.7%
A system for building shared, programmable, online spaces. Compatible with LambdaMOO. Built for the future.
See the code
mooR is a network-accessible, multi-user, programmable system for building online social environments, games, and collaborative spaces. Think of it as a virtual world where participants can not only interact with each other, but also program and modify the environment itself.
mooR is a modern, from-scratch rewrite of LambdaMOO, maintaining full compatibility with existing LambdaMOO 1.8.x databases while adding significant enhancements.
Which version should I use?
Use the stable
1.0.2release, thev1.0-releasebranch, or the publishedghcr.io/timbran-project/moor:1.0.2image and Debian packages for running worlds and evaluating mooR.maintracks2.0.0-devand contains active next-version development work.Exception: Cowbell currently tracks
mainand requires post-1.0 runtime/compiler features. Usemainif you want to build and run Cowbell through the bundled setup scripts.See the Status section below for the branch policy.
๐ For comprehensive documentation, see our mooR Book.
Repository migration (July 2026): Development, issues, and pull requests have moved back GitHub (from Codeberg), but into a new timbran-project organization. Here's why. The
1.0.2release was the final release built using the previous hosting and repository layout. Its release artifacts have been mirrored from Codeberg to GitHub along with the1.0.0and1.0.1releases.
A MOO (Multi-User Object-Oriented) is a network-accessible, multi-user, programmable system for building online social environments, games, and collaborative spaces. Think of it as a virtual world where participants can not only interact with each other, but also program and modify the environment itself.
MOOs offer a unique digital experience through:
What mainly sets MOOs apart is their emphasis on live programming and community-driven content creation - imagine if Minecraft's creative mode, Discord's community features, and a code editor all lived in the same space. (Or for the more nerdy, imagine if a system like Smalltalk or similar could be connected to by multiple people in real time, each contributing to a shared codebase.)
mooR is a modern, from-scratch rewrite of all of the above. It will happily import an existing LambdaMOO (or some ToastStunt) database, but offers significant enhancements and modern conveniences and is intended on bringing the whole experience into the future.
To see a live running instance, visit our demonstrator community at "Timbran Hotel".

Runtime improvements:
Language enhancements:
true/false)["key" -> "value"])begin/end blocks{x * 2 for x in [1..5]}){x, y} => x + y)Modern infrastructure:
mooR 1.0.2 is the current stable
release. The core runtime and database formats are stable for the 1.0 series. It successfully runs
databases imported from LambdaMOO with real-world workloads and has passed extensive stress and
performance testing.
Branch policy:
v1.0-release branch: stable 1.0 release line for bug fixes, stability work, and patch releasesmain branch: 2.0.0-dev feature developmentmain first, then are cherry-picked to v1.0-release when safev1.0-releaseRepository: The primary mooR repository is
github.com/timbran-project/moor. File issues and submit
pull requests on GitHub. GitHub hosts the stable 1.0.0 through 1.0.2 releases and their package
artifacts. Codeberg retains the repository history from before the migration, but new development
takes place on GitHub.
mooR is now a monorepo. The Rust server and tools live under crates/ and tools/, Cowbell lives
under cores/cowbell/, the Meadow clients live under clients/, and deployment assets live under
deploy/.
The easiest way to get started and see what we've made is by using our quick-start scripts. These scripts handle Docker setup, resource isolation, npm workspace dependencies, and feature flag configuration.
Choose one of the bundled, pre-configured cores to explore:
main):
./scripts/start-moor-cowbell.sh
./scripts/start-moor-lambdacore.sh
By default, these scripts use a higher performance release build. For a faster initial compile
during mooR development (but slower runtime performance), you can use the --debug flag:
./scripts/start-moor-cowbell.sh --debug
Once started, the services are available at:
telnet localhost 8888The system isolates runtime data for each core in its own directory (run-cowbell/ or
run-lambda-moor/), ensuring you can switch between them without database pollution.
This starts two containers:
Connect via:
telnet localhost 8888The server comes pre-loaded with an extraction of LambdaCore, providing a ready-to-explore virtual world.
For more detailed setup instructions, see the Docker Compose Setup section in the mooR Book.
For frontend development and testing, you can run the single-process moor server and web client
without Docker:
npm run full:dev
This starts the moor single-process binary and web development server, accessible at
http://localhost:3000. The moor process runs the daemon, telnet host, and
web host together while Vite provides hot-reloading for frontend development. See
the in-tree Meadow documentation for details.
mooR provides multiple deployment configurations to suit different use cases:
The root docker-compose.yml is designed for development and single-process deployments. The
backend runs as one moor process, with nginx serving the Meadow frontend.
The recommended way to start this setup is via the core-specific scripts, which handle all environment isolation and permissions for you.
To start in the background:
./scripts/start-moor-cowbell.sh -d
(Any additional flags like -d are passed directly to docker compose up).
Data for these deployments is consolidated under core-specific directories (e.g., ./run-cowbell/),
keeping your project root clean.
The deploy/clustered/docker-compose.tcp.yml file is an example configuration that demonstrates
TCP-based communication with CURVE encryption. It runs on a single machine but shows what a
multi-machine clustered setup would look like:
docker compose -f deploy/clustered/docker-compose.tcp.yml up -d
This uses TCP with CURVE encryption and enrollment tokens for host authentication. It's useful for testing the clustered setup locally before deploying across actual separate machines.
For actual multi-machine production deployments, use Kubernetes (see future documentation) or deploy Debian packages on separate servers.
The deploy/ directory contains deployment examples:
single-process/basic/: Combined backend with telnet, embedded web API, and curl workersingle-process/web/: Combined backend plus nginx serving Meadow, with curl worker enabledclustered/telnet-only/: Split-process telnet setupclustered/web-basic/: Split-process web deployment with HTTPclustered/web-ssl/: Split-process web deployment with HTTPS/TLS supportdebian-packages/: Native Debian/Ubuntu packages with systemd (no Docker)Published container images are available from GitHub Container Registry. The
ghcr.io/timbran-project/moor image contains the backend binaries and compiled Meadow assets;
ghcr.io/timbran-project/moor-frontend provides Meadow in nginx for deployments that need a
standalone frontend image. Version and latest tags are multi-platform for AMD64 and ARM64.
See each deployment's README for specific setup instructions. If you run into problems with these scripts, please file an issue on our GitHub issue tracker as they may fall out of date with the latest changes.
For testing the current state of these deployment scenarios:
cd deploy
./test-all.sh # Test all deployment configurations
mooR offers several opportunities for contribution. For detailed contribution guidelines, see CONTRIBUTING.md.
Core Development (Rust):
World Building (MOO language):
Documentation & Testing:
Found a bug or have a feature request? Please file an issue on our
GitHub issue tracker. Bug reports from main are
welcome, but if you're running a world or evaluating mooR for stability, use the
1.0.2 release or the v1.0-release
branch.
When reporting bugs, please include:
mooR is licensed under the GNU Affero General Public License v3.0. See LICENSE for details.
mooR is intended to be run as a networked multi-user system, not only as a local program. For that reason, the project uses the AGPL rather than the GPL: if someone modifies mooR and runs that modified version as a service, the corresponding source for those modifications should remain available under the same terms.
Running your own database, world, MUD, or MOO on top of mooR does not transfer ownership of that database or its contents to the mooR project or its author. The relevant copyleft obligation is about modifications to mooR itself, or reuse of mooR code in another project, not about ownership of the world data or creative content you host with it.
This applies to the main mooR software in this repository. Documentation in book/, core database
content in cores/, and separately published client and schema libraries in clients/ and
crates/schema/schema/ have separate licensing terms; see those directories for details.
If your intended use of mooR requires different licensing terms, contact Ryan Daum, operating as Timbran Consulting. Alternative licensing arrangements may be possible on a case-by-case basis.
Contributions are accepted subject to the contributor license agreement in CLA.md. The CLA does not change the project's open source license; it is there so contributions can be included in mooR while still allowing case-by-case alternative licensing arrangements where agreed. See CONTRIBUTING.md for details.
Rust
66.7%
Moocode
17.9%
Dart
5.4%
TypeScript
5.4%
Python
2.7%