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