💾 Archived View for republic.circumlunar.space › users › dbane › gemlog › 2021-10-17.gmi captured on 2024-05-12 at 16:00:08. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-03-01)

-=-=-=-=-=-=-

A Review of MUD Tech

Long, long ago I used to play btmux and that got me curious enough to learn the software and even submit a few patches. In many ways, there is an alternate universe where the most popular application-level protocol for the Internet is derived from MUDs rather than HTTP.

I find some features of these servers interesting:

Here I give some opinions on code I've looked into. Note that there are many more systems I never learned. However, consider this a hint as to where to start; it's best to avoid going down one of the many, many dead ends that have been written over the nearly 40 years of MUD development.

BTMux

Servers

I've gone through a sequence of reading & learning from the source code of several different projects. After all this my current favourite is ToastCore/ToastStunt. Rather a fundamental redesign, this is an incremental addition to LambdaMOO, which is probably the most popular "serious" MUD server. ToastStunt is popular (for a MUD) and well-maintained. You can log into ChatMUD to see a live instance.

ToastCore/ToastStunt

ChatMUD

Clients

My current favourite client is rmoo. It implements MCP local editing which is very nice for editing MOO code. Also extensible in ELisp, but I haven't got that far yet.

rmoo

Extended Protocols

Most MUDs use the telnet protocol, i.e. IAC WILL/WONT, state machines, etc. I looked into some extensions layered on top of this:

MCP

MSDP

Arachnos, Intermud over MSDP

Historical Notes

I've been playing with software like this for some time. Here are notes on alternatives that I rejected. This section can be skipped.

Servers

TinyMUX

ColdCore/genesis

Clients

Then I started trying to use Emacs more, which led me to

TinTin++

MSDP for TinTin++

mu.el

Back to my gemlog