Welcome to the OGHAM mud system.
--------------------------------

OGHAM (Oh God, Here's Another Mud) was written by me because I wanted
to see if I could write a mud. Simple as that. Since it seems to work
rather well I decided to distribute it. If you have ever seen the code
for the NUTS talker system you may recognize some things. That is because I 
wrote NUTS and decided to reuse some of the functions and all the networking 
code - why reinvent the wheel?
	I have tried to keep the main code (main.c) as small as possible rather
than make it bloated and slow like some other systems I could mention but
still include all the important features. I also decided to go for a 
"hardwired" mud - ie all the objects, rooms etc are coded in rather than
being defined in data files. This approach has 1 big disadvantage - ie if
you wish to change something you must recompile, but 1 VERY big advantage -
POWER! In code you can make your objects, rooms etc as powerfull or intelligent
as you like - very difficult if an object is defined purely as data. The only
data files used are those used to store user data. Admittedly code is used
in LPmuds which are very flexible , but they use a non standard object C, 
can be very slow (due to the mudlib being interpreted) and are are prone 
to using up horrendous amounts of memory and having memory leaks all over 
the place. OGHAM is very frugal with the amount of memory it uses.

Compiling
---------
Compiling is done using the simple makefile provided. Not all dependancies
are included in the file so you may need to remove a .o file to make
it recompile sometimes but it keeps the makefile simple. Read the file
DOCS/compiling for some hints and tips.
	Once compiled just type "ogmud" to start the mud which as is sets itself 
up on port 5500. You don't need a '&' because it automatically forks and 
puts itself in the background. The PORT macro is in "defs.h" if you 
wish to change the port number. 
	Log in as "fred", password "test" and you will have god status.

To get an idea of how things work look through the rooms and objects code.
I have set up a castle with 21 rooms in it and there are a number of 
objects defined (but not all "loaded" at run time). To see a list of
the objects when in the game type "masters". To load the actual object 
type "clone <object name>" where the object name can be abbreviated. 

Anyway - thats the introduction over, now go and read all the stuff in 
the "DOCS" directory.

Neil Robertson  (neil@realtime.demon.co.uk)
August 1994
