#ifndef INCL_CONFIG_H
/*
-------------------------------------------------------------------------
Read this file ALL THE WAY THROUGH to make sure everything's set up right
-------------------------------------------------------------------------
*/
/*---------------Operating System/Environment specific stuff-----------------*/
/*
Some clues:
The default setup should work fine right out of the box for most
BSD-like machines.
System V machines may need some tweaking and hacking.
VMS machines want NOSYSFILE_H and NOSYSTYPES_H and a few others
HPUX wants:
#include <unistd.h>
#define FOPEN_BINARY_RW "rb+"
#define REGEX
#define regcomp regcmp
#define DIRENT
#define getdtablesize() sysconf(_SC_OPEN_MAX)
#define random() rand()
#define srandom(x) srand(x)
SCO SYS V.3.2.2 wants:
#define FCNTL_H
#define FOPEN_BINARY_RW "r+"
#define MAXPATHLEN 300
#define REGEX
#define DIRENT
#define random() rand()
#define srandom(x) srand(x)
#define OLDDBM
*/
/* some machines don't grok <sys/file.h> and want <file.h> (like VMS) */
/* #define NOSYSFILE_H */
/* some machines don't grok <sys/types.h> and want <types.h> (like VMS) */
/* #define NOSYSTYPES_H */
/* some machines need fcntl.h */
/* #define FCNTL_H */
/* some machines want unistd.h */
/* #include <unistd.h> */
/* if your machine has malloc() return a void *, define this option */
#define MALL_IS_VOID
/*
some machines stdio use different parameters to tell fopen to open
a file for creation and binary read/write. that is why they call it
the "standard" I/O library, I guess. for HP/UX, you need to have
this "rb+", and make sure the file already exists before use. bleah
*/
#define FOPEN_BINARY_RW "a+"
/* is VMS the only machine that requires this? */
/* noshare extern char *sys_errlist[]; */
/* VMS permits no '@' in pathnames */
/* #define NO_AT_IN_PATHS */
/* some machines (VMS) have no MAXPATHLEN */
/* #define MAXPATHLEN 300 */
/* if your signal() returns a pointer to void function define this */
#define SIG_IS_VOID
/* if you have regcomp() and regex() instead of re_comp() and re_exec() */
/* #define REGEX */
/* if readdir() uses struct dirents instead of struct directs */
/* #define DIRENT */
/*
if your machine has no getdtablesize, but has something similar, fake it.
HP/UX uses sysconf
*/
/* #define getdtablesize() sysconf(_SC_OPEN_MAX) */
/* varying versions of random that can be faked - otherwise see misc.c */
/* #define random() rand() */
/* #define srandom(x) srand(x) */
/* some machines even require math.h for random #s */
/* #include <math.h> */
/* you MIGHT want to include the following, if your machine has it: */
/* #include <string.h> */
/* if you don't have index, fake it with strchr() */
/* #define index(s,c) strchr(s,(int)c) */
/* extern char *strchr(); */
extern char *index();
/* if you don't have bcopy and are stuck with memcpy/memset, fake it */
/* #define bzero(p,n) memset(p,0,n) */
/* #define bcopy(f,t,n) memcpy(t,f,n) */
/* VMS seems to have no unlink(2) call, and uses delete(?) */
/* #define unlink(path) delete(path) */
/* vanilla BSD 4.3 has no vfprintf */
/* #define NO_VFPRINTF */
/*-------------------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 "V1.12"
/* 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 length of a variable name */
#define MAXVLEN 64
/* maximum length of an object ID */
#define MAXOID 64
/* 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 */
/* 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 10
/* default (runtime-resettable) cache parameters */
#define CACHE_DEPTH 7
#define CACHE_WIDTH 23
/* use RWHO server code */
#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 if you want cache warnings if objects are missing */
#define CACHE_VERBOSE
/* enable this for MUSH-like connected-player-only listing in "look" command */
/* #define CONNONLY */
/* enable this for command statistics gathering */
#define COMMAND_STATS
/* enable this if you want the low-level direct list/set manipulation commands
in wizard mode (use of these is discouraged) */
/* #define CMD_LOWLEVEL_LIST */
/* #define CMD_LOWLEVEL_SET */
/* 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 DBMCHUNK_DEBUG
#define HASHDIR_DEBUG
#define CRON_DEBUG
#define VMSNET_DEBUG
#define XACT_DEBUG
#define XMITBSD_DEBUG
#define CACHE_DEBUG
#define ALLOC_DEBUG
*/
#define INCL_CONFIG_H
#endif