#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