Tree [r9] /
History



File Date Author Commit
bin 2008-12-12 okeuday [r3]
doc 2008-12-12 okeuday [r1] - emuddy starting point which provides a simple...
lib 2009-02-16 okeuday [r9] Generic Erlang Port [Driver] (GEP[D]), Version 0.6
LICENSE.txt 2008-12-12 okeuday [r3]
README.txt 2008-12-12 okeuday [r6] - Create script to run the project properly for...
_build.cfg 2008-12-12 okeuday [r3]
run.sh 2008-12-12 okeuday [r6] - Create script to run the project properly for...

Read Me

emuddy 0.1.0.0

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).

http://en.wikipedia.org/wiki/Multi-User_Dungeon

MUD source code can be found here:
http://ftpgame.org/

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
99.9999999% uptime.

http://www.sics.se/~joe/talks/ll2_2002.pdf

The initial TCP socket echo server code was taken from a tutorial as
a good starting point and can be found here:
http://www.trapexit.org/Building_a_Non-blocking_TCP_server_using_OTP_principles

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:
http://erlang.org/download.html

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:
http://www.erlware.org/tools/index.html

You must download Faxien (also part of the Erlware toolset) to install Sinan:
http://code.google.com/p/faxien/

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>