I rewrote the '90s LambdaMOO MUD server from scratch... in Rust

81 points Comrade-Porcupine

"Moor" is a multi-user, programmable virtual environment server / object database / sometimes-MUD-server, coded in Rust, designed to be able to run the original LambdaMOO core as a starting point, with various improvements at the server level to provide a more modern foundation for future development.See: https://github.com/rdaum/moor

... I got my start on the Internet in the very early 90s playing with, authoring in, and programming on LambdaMOO (https://en.wikipedia.org/wiki/LambdaMOO) and similar systems. Shared virtual social spaces, with a persistent object oriented authoring / scripting language. While they can be classified as MUDs (depending on who you talk to), the focus is social, creative / authoring, and shared programming, not (typically) RPG gaming.

I've always wanted to see this kind of thing modernized and further developed. Over the last 25 years or so I've worked on similar but novel & improved things, but I ... never finished anything.

So I decided to just re-implement LambdaMOO with very close compatibility... and use that as a base, instead and keep compatibility as a goal, but build it out on a more modern foundation that takes advantage of multiple core machines, newer network protocols, newer connectivity methods, uses MVCC transactions for the shared database etc. It's built in Rust.

LambdaMOO is a somewhat extensive system in that it is composed of compiler, a virtual machine, an object database, user permissions system, network runtime. In some ways it's kind of like a shared, text-based Smalltalk image/runtime... So quite a bit to implement and get right before it all works together.

The big challenge throughout has been slavishly maintaining backwards compatibility so existing "cores" (databases) work.

It's not done, but it's darn close. Would like for people who are into this kind of thing to check it out, and maybe even help. I'm aiming for a 1.0 beta-ish release this autumn. I've been working on it for about a year.

Many of the technical aspects here are still provisional, but this is the start. Constructive assistance welcome.