untermud/DOC/
untermud/DOC/U/
untermud/DOC/U/U-examples/
untermud/DOC/internals/
untermud/DOC/wizard/
untermud/MISC/
untermud/MISC/dbchk/
untermud/RWHO/
untermud/RWHO/rwhod/
This is UnterMUD 2.4 updated for newer systems.  

---------------------------------------------------------------------------

Required software:
 You need yacc and WinGDBM to compile these sources.  Linux, BSD and Cygwin 
 have packages available.  For the native windows environment I used the 
 following:
    BYacc - see http://gnuwin32.sourceforge.net/packages/byacc.htm
    WinGDBM - see http://sourcery.dyndns.org/wiki.cgi?MudPortsProject or
                  ftp://sourcery.dyndns.org/pub/ports/

 The makefiles assume that yacc reside somewhere in the system path
 and the WinGDBM headers and libraries and been installed in the
 directory you extracted this distribution to.
 
---------------------------------------------------------------------------

This release was compiled and tested on the following platforms:

* Microsoft Windows XP Service Pack 2 
  CYGWIN_NT-5.1 1.5.19s(0.136/4/2) using gcc 3.3.3 (cygming special)
  Borland C++ 5.5.1 for Win32 (free compiler release)
  Microsoft Visual C/C++ v7.1 (Visual C++ Toolkit 2003)
  Microsoft Visual C/C++ v6.0

* Microsoft Windows 98 SE 
  CYGWIN_98-4.10 1.5.12(0.116/4/2) using gcc 3.3.3 (cygwin special)

* Red Hat Linux release 6.2 (Zoot) Kernel 2.2.14-5.0 on an i486 with 
  gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)

* FreeBSD 5.3-BETA4 
  gcc version 3.4.2 [FreeBSD] 20040728

* Gentoo Linux 2.6.10-gentoo-r6
  gcc version 3.3.5 (Gentoo Linux 3.3.5-r1, ssp-3.3.5-1, pie-8.7.7.1)

* Debian Linux 2.6.8-1-38  
  gcc version 3.3.5 (Debian 1:3.3.5=5)

* SuSE Linux 2.6.4-52-default
  gcc version 3.3.3 (SuSE Linux)

---------------------------------------------------------------------------

Pre Installation

  You will want to edit the config.h file.  The most important parameters
  are the database types you will be using.
  
  For GDBM... #define STORAGE_IS_GDBMCHUNK
  For NDBM... #define STORAGE_IS_DBMCHUNK
  For DBM...  #define STORAGE_IS_DBMCHUNK and #define OLDDBM
  For Hash... #define STORAGE_IS_HASHDIR
  
  Currently the config.h is set up to compile assuming all databases are
  present on the system, but the mud will be compiled using GDBM. 
  
  You will also want to make the LIBS link parameters in 
  the Makefile points to a library that implements the DBM you pick above.

  You may be able to bypass modifying the config.h file just to get a 
  quick start test of the mud running depending on your system.
    
---------------------------------------------------------------------------

Installation

  * For Linux and Cygwin - type 'make'.   

  * For FreeBSD - type 'gmake'.
  
  * For Windows using Borland - ensure the Borland compiler bin directory 
    is in your path, then type 'make -f makefile.bor'.
    - All executables will be linked with the RTL and without debugging symbols.
      To link a static executable   -   use 'make -f makefile.bor -DSTATIC'.
      To include debugging symbols  -   use 'make -f makefile.bor -DDEBUG'.
      Or for both                   -   use 'make -f makefile.bor -DDEBUG -DSTATIC'.

  * For Windows using Digital Mars - ensure the Digital Mars bin directory 
    is in your path, then type 'make -f makefile.dgm'.

  * For Windows using Microsoft Visual C - ensure your Visual C bin 
    directory is in your path and your INCLUDE and LIBS environment 
    variables are setup correctly.
    - With Visual C++ 6.0 you may need to run the vcvars32.bat file.
    - With Visual C++ Toolkit 2003 and Platform SDK you may need to use 
      both the setenv.cmd and vsvars32.bat
    Then type 'nmake -f makefile.vc'
    - To link with debugging information type 'set DEBUG=1' and then use
      'nmake -f makefile.vc'

  * For Windows using LCC - ensure the LCC bin directory is in your path, 
    then type 'make -f makefile.lcc'.  

---------------------------------------------------------------------------

Post Installation

Read the readme file and files in the doc directory on how to use it.  
It's not the easiest thing to setup at first.  So I have included shell 

scripts to build different configurations from the minimal database.  
  ./buildh [directory] <--- build a hash db version at directory
  ./buildg [directory] <--- build a gdbm version at directory
  ./buildd [directory] <--- build a dbm or ndbm version at directory

  ./bootup [directory] <--- boot the mud installed at directory
  The unix version runs the mud in the background, so check your processes.
  The windows versions do not run in the background and are invoked using 
  the same name without the path (e.g. buildh [directory]). 

The RWHO client library is compiled into the mud.  The mudwho client progam
and rwho daemon are compiled as well, but none have been tested. 

The OIFextract program in MISC/oifextract has not been included in the
production.  Supposedly it converts tinymud databases to OIF format.

OIF Compression is not compiled ON and has not been tested.

---------------------------------------------------------------------------

This code and my changes are released under the original conditions of
the UnterMUD license which are found in COPYRIGHT, excepting those in 
os.h and os.c which are distributed under different less restrictive 
license noted therein.  

Special thanks go out to Eiz who posted a patch on The Mud Connector forum 
with the Linux gcc 3.x changes needed.  That saved me a bit of time.

The UnterMUD license requires that all its original sources are to be 
redistributed.  They may be found in untermud-2.4-orig.tar.gz.

Thank

Enjoy.

Jon Lambert - aka Tyche
jlsysinc@alltel.net