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/
#ifndef INCL_CONFIG_H

/*
-------------------------------------------------------------------------
Read this file ALL THE WAY THROUGH to make sure everything's set up right
-------------------------------------------------------------------------
*/

/*---------------Operating System/Environment specific stuff-----------------*/
#include "os.h"

/*-------------------Mud Server Configuration Parameters---------------------*/
/* Most of these options you shouldn't need to change. Read them anyway. */

/* do not modify this, please - IT MAY NOT HAVE TABS OR SPACES!!! */
#define VERSION_STRING  "V2.4"


/* enable or disable newlines in U-code */
/* #define      U_NEWLINES */


/* IP ports to use */
/* You don't need to modify these here; the config file (DB/config) can */
/* set them without having to recompile */
#define NET_PLYPRT              6565
#define NET_SRVPRT              6566


/* size of user input buffer */
#define MUDBUF  512


/* maximum parameters for a single command */
#define MAXARG  128


/* maximum layers of mutual recursion in a program */
#define MAXRECURSIONS   30


/* maximum length of a variable name */
#define MAXVLEN 64


/* maximum length of an object ID */
#define MAXOID  64


/* object-ID of an object that has a wizard bit */
#define PRIVUSER        "wizard"


/* if you want some commands restricted to player objects only */
#define PLAYERONLY


/* if you're running a machine with a slow nameserver and don't really
CARE about hostnames and would rather always use octets, define this.
under ULTRIX, it also saves almost 100Kb on the size of your exec!! */
/*      #define NO_HUGE_RESOLVER_CODE   */


/*  Define this if you want a list of nondark exits printed when you look in
    a room.  If undefined no exit list will be printed.  */
/*      #define LIST_EXITS      */


/*  Define this if you want stuff in the inventory searched for macros. */
/*      #define SEARCH_INVENTORY        */


/*  Define this if you want all objects in the current room for macros. */
/*      #define SEARCH_ROOM     */


/*  Define this if you want paged messages to show sent text */
#define VERBOSE_PAGE


/* minimum amount of time between cron runs (in seconds).
the lower you set this, the more time you'll waste processing cron stuff.  */
#define CRONQUANT 5


/* default (runtime-resettable) cache parameters */
#define CACHE_DEPTH     7
#define CACHE_WIDTH     23


/* use RWHO server code */
/* note - this requires a change to Makefile */
#define USE_RWHO


/* compress OIF databases. NOT for the uninitiated!!! if you don't
know what you're about, this can easily eat your database */
/* #define      COMPRESS_OIF */
/* compression table to use */
/* #define      DEFAULT_COMPTABLE */


/* flat probability for random matches instead of 50%, 25%, 12.5%, ... */
/*      #define    FLAT_PROBABILITIES */


/* combat extensions */
#define COMBAT


/* default is to prohibit players from changing their names. */
#define PLAYER_NAMECHANGING


/* print TinyMUD-like object IDs after objects that are linkok for you */
/* yes, this means you'll see object IDs of things you own */
/* if you don't define this, you can still find out a thing's obj id */
/* by either examining it or typing 'which <xxx>' */
/* #define      LOOK_OBJECT_IDS */


/* only wizards can build */
/* #define      BUILD_WIZ_ONLY  */


/* Allows TinyMUD-style succ/fail/osucc/ofail in rooms, and room locks */
/* also allows succ/fail/osucc/ofail in rooms to be unter cmd's */
#define TINYHACK


/* enable this for MUSH-like connected-player-only listing in "look" command */
/* #define      CONNONLY */


/* enable this if you want fork/exec capabilities in your server */
/* (if defined, the mud will automatically background itself) */
// #define DAEMON
/* enable if you have POSIX setpgrp/setsid() (can be used if DAEMON is defd) */
/* #define      SETSID */


/*
These options can all be turned on at once, if desired, since they only
affect the compilation of which database routines should go in the database
library (used by loaddb/dumpdb)
*/
/* turn this on if you have either dbm or ndbm */
#define DB_DBMFILE
/*
turn this on if you have dbm, but no ndbm - MAY REQUIRE CHANGES to
umud/Makefile and DM/Makefile, if dbm is not in libc (it usually isn't)
*/
//#define OLDDBM

/* name to use for the default dbm database file */
#define DEFAULT_DBMCHUNKFILE    "dbm_db"

/* turn this on if you want to be able to use hashed directories */
#define DB_DIRHASH
/* name to use for the default hash directory */
#define DEFAULT_HASHDIR         "hash"
/* name to use for the default hash size (directories 0 - 10) */
#define DEFAULT_HASH_SIZE       11


/* turn this on if you have GNU dbm */
#define DB_GDBMFILE
/* name to use for the default dbm database file */
#define DEFAULT_GDBMCHUNKFILE   "gdbm_db"


/*
  ----------PICK ONE AND ONLY ONE OF THE OPTIONS FOR STORAGE-----------
this control which database routines get linked into the MUD server itself
*/
// #define      STORAGE_IS_HASHDIR
// #define STORAGE_IS_DBMCHUNK
#define      STORAGE_IS_GDBMCHUNK

/* these macros cause correct linkage with storage layer - don't touch */
#ifdef  STORAGE_IS_HASHDIR
#define DB_INIT()       dhdb_init()
#define DB_CLOSE()      dhdb_close()
#define DB_SYNC()       dhdb_sync()
#define DB_GET(n)       dhdb_get(n)
#define DB_PUT(o,n)     dhdb_put(o,n)
#define DB_CHECK(s)     dhdb_check(s)
#define DB_DEL(n,f)     dhdb_del(n,f)
#define DB_BACKUP(f)    dhdb_backup(f)
#define DB_TRAVSTART()  dhdb_travstart()
#define DB_TRAVERSE(b)  dhdb_traverse(b)
#define DB_TRAVEND()    dhdb_travend()
#define CMD__DBCONFIG   cmd__dhdbconfig
#endif

#ifdef  STORAGE_IS_DBMCHUNK
#define DB_INIT()       dddb_init()
#define DB_CLOSE()      dddb_close()
#define DB_SYNC()       dddb_sync()
#define DB_GET(n)       dddb_get(n)
#define DB_PUT(o,n)     dddb_put(o,n)
#define DB_CHECK(s)     dddb_check(s)
#define DB_DEL(n,f)     dddb_del(n,f)
#define DB_BACKUP(f)    dddb_backup(f)
#define DB_TRAVSTART()  dddb_travstart()
#define DB_TRAVERSE(b)  dddb_traverse(b)
#define DB_TRAVEND()    dddb_travend()
#define CMD__DBCONFIG   cmd__dddbconfig
#endif

#ifdef  STORAGE_IS_GDBMCHUNK
#define DB_INIT()       dgdb_init()
#define DB_CLOSE()      dgdb_close()
#define DB_SYNC()       dgdb_sync()
#define DB_GET(n)       dgdb_get(n)
#define DB_PUT(o,n)     dgdb_put(o,n)
#define DB_CHECK(s)     dgdb_check(s)
#define DB_DEL(n,f)     dgdb_del(n,f)
#define DB_BACKUP(f)    dgdb_backup(f)
#define DB_TRAVSTART()  dgdb_travstart()
#define DB_TRAVERSE(b)  dgdb_traverse(b)
#define DB_TRAVEND()    dgdb_travend()
#define CMD__DBCONFIG   cmd__dgdbconfig
#endif

/* various debug flags - turn all on for a WILD time */
/*
#define CRON_DEBUG
#define DBMCHUNK_DEBUG
#define HASHDIR_DEBUG
#define VMSNET_DEBUG
#define XACT_DEBUG
#define XMITBSD_DEBUG
#define CACHE_DEBUG
#define ALLOC_DEBUG
#define COMBAT_DEBUG
*/

#define INCL_CONFIG_H
#endif