daleken/
daleken/data/notes/
daleken/data/player/
daleken/data/system/poses/
daleken/doc/Homepage/images/
daleken/log/
Daleken MUD 1.11 build 1510

=== Resources

Daleken  is fairly  small in  terms of  mud servers,  being based  on  a very
resource frugal  codebase: Diku.  It has  run quite acceptably  fast on 20MHz
machines with only 8Mb of RAM without a noticable impact on other programs on
the machine (except for a second or two at bootup).

The following data was collected on my home machine running Linux Kernel
version 2.2.5 on a Pentium II 400MHz with 128M RAM.

- Memory Usage

Approx. 3.6M

With the areas as  they currently stand the mud uses 3.6M  of memory, some of
which  may  be  paged.  This  is  likely  to  increase marginally  for  every
connection,  although a player  could not  take more  than a  few Kb,  due to
string hashing etc...

- Processor Usage

Negligible

On my Pentium  II 400MHz machine an  entire hour of running the  mud, took 14
seconds of  processor time.  Admittedly  this was idle mainly,  though adding
players does not add appreciably.

Boot time on this machine is 0.9 to 1.0 CPU seconds.  If the code is optimised
then this is reduced to 0.7 seconds.

- Disk Space

Database: 3M
Binary: 2.8M
(Source code: 2.6M with debugging, 1M optimised)

The Daleken  database consists of flat  text files, this means  that they are
fairly  bulky, areas coming  to a  total of  about 2.8M  with another  52K of
miscellaneous files.   Players' saved data is  on average about  20K worth of
data, and these may be compressed using gzip.

The binary is quite large when compiled with full debugging support, although
it  reduces to  less than  a  Meg when  compiled with  optimisations (and  no
debugging) included.


=== Stability

This is an issue with a  mud server, more than most things.  Daleken includes
a number of stability improvements and while nothing can be guaranteed, it is
better than the code  it is based on, despite having a  large number of added
features.  Especially the scripting language, which has a few built in crash
protection features, such as loop counters.

With all this measures  can be taken to ensure that the  mud doesn't crash, a
signal handler  allows the mud to die  gracefully and a script  ensures it is
brought back up again.  Infinite loops  can be stopped using the ulimit shell
command to limit the processes CPU time.


=== Security

Daleken should  be run as a  user with no  priveledges to other files  on the
system, this goes for any server process that runs on your machine.  It does,
however, require write  access to its own data files  for saving purposes.  I
would suggest a  separate account that noone uses, used  only for the purpose
of running the mud.

- Passwords

Passwords for characters  are transmitted to the mud in  plain text, for this
reason,  no character  should  be trusted  entirely,  even if  you know  them
personally.  This said though, a password can be obtained any number of ways.
Passwords are encrypted before being  saved anywhere, using the standard unix
crypt function,  this is also how they  are saved in player  files, making it
more than a trivial exercise to find a password.

- Cheating

A fairly extensive  logging system is in place and  with regular reviews, all
actions that have an implication on the game are recorded and can be trapped.
Immortal characters have great powers  of discretion in these matters, at the
higher levels of administration punishment options are quite wide ranging.

- Banning

Any new connections to the mud are checked against a list of banned sites and
IP addresses.  This list can be updated online.

The mud uses the ident daemon if  it is running to determine the user name of
whoever logs in,  so administrators of multi-user systems  can be notified of
miscreants.


=== Problems

I'll  be the last  to say  that this  mud is  bulletproof, however,  with the
proper precautions, it should be stable and secure enough not to cause damage
to a system it was run on.