Erlang Multi-User Dungeon Daemon proxY
The emuddy project was created as an easy way of providing
concurrent access to a legacy server commonly used for
Massively Multi-Player Role Playing Games (MMORPGs) known as a
Multi-User Dungeon (MUD). MUDs are completely text-based and provide
gameplay entirely through the server with simple telnet connections.
The original Diku MUD codebase relies on single-threaded operation and
limits the game capacity to roughly 64 concurrent players (or less).
MUD source code can be found here:
Erlang provides a simple way to create fault tolerant, high availability
servers. Dependable servers are necessary for MMORPGs to avoid forced system
restarts or crashes due to poor C/C++ software engineering practices.
As Erlang achieves more industry acceptance, other systems could achieve
The initial TCP socket echo server code was taken from a tutorial as
a good starting point and can be found here:
You need Erlang to build the project. I will simplify MUD deployment later,
so that Erlang will not need to be installed on the host machine
(so MUD installation can occur without root privileges).
Erlang can be obtained here:
To simplify building the Erlang project and tracking dependencies within
the project, Sinan was used (part of the Erlware toolset).
To read about Sinan go here:
You must download Faxien (also part of the Erlware toolset) to install Sinan:
To build and run the current telnet echo server, do the following:
terminal 1 execute "sinan release" and then "./run.sh"
terminal 2 execute "telnet localhost 9999"
typing "all i heard on a mountain top was an echo throughout the land"
returns "all i heard on a mountain top was an echo throughout the land"
-- Michael Truog <mjtruog [at] gmail (dot) com>