λMUD (pronounded "L-MUD" or "El-MUD") is a rather minimalistic MUD server, written in Erlang and LFE, making use of the excellent OTP libraries.
The aim is to have solid support for exploration, roleplaying, and in-game economies deployed on a highly fault-tolerant environment (which supports hot-code loads) where system crashes or reboots are more of an exotic curiosity than a commonplace thing.
Erlang/OTP is an excellent match for MUD development, with strong support for concurrency through light-weight processes, hot code upgrades, near- transparent mechanisms for distributed computing, etc.
This project has dual ancestry: originally based on the ErlyMUD code, it derives much of its new MUDness from TinyMUD servers like TinyMUSH, PennMUSH, etc.
If you just want to check out the lmud server, you can do so with the following:
$ make docker-run
This will use the published docker image with a game-data volume.
Download the latest:
$ git clone https://github.com/lfex/lmud.git
Change directory, compile the source, and make a release:
$ cd lmud
$ make
Note that this requires having the following installed:
Start up λMUD:
$ make start
Additionally, you can start the MUD with the LFE REPL (useful if you're going to be developing or debugging):
$ rebar3 lfe repl
From another terminal, connect to the game:
$ make connect
This make
target uses the rlwrap
CLI tool, which provides readline
support in telnet. That, in turn, allows you to use a command history like
with your system shell (including such things as searching the command
history with ^r
).
Once connected, you should see something like this:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Welcome to:
....
.' ,:
.' \.___..
.' .-' _.'
'.\ \/...-''`\
:.' / \ :
: () () /
(_ . '--' ':
/ |_'-- .'
\ \ .'_\
.|__ \/_/:
/ :\.
.' -./ .'{\|))
__ M"""""`'"""`YM M""MMMMM""M M""""""'YMM
\ \ M mm. mm. M M MMMMM M M mmmm. `M
\ \ M MMM MMM M M MMMMM M M MMMMM M
> \ M MMM MMM M M MMMMM M M MMMMM M
/ ^ \ M MMM MMM M M `MMM' M M MMMM' .M
/_/ \_\ M MMM MMM M Mb dM M .MM
MMMMMMMMMMMMMM MMMMMMMMMMM MMMMMMMMMMM
An El-MUD Game Server, v0.7.0-dev
----------------------------------------------------------------
If you are logging in for the first time, then at the 'Login'
prompt, type the character name you would like to have (case
insensitive).
----------------------------------------------------------------
Login:
Create a user.
Have fun!