1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
/* options.h */
#ifndef __OPTIONS_H
#define __OPTIONS_H
/* *********** READ THIS BEFORE YOU MODIFY ANYTHING IN THIS FILE *********** */
/* WARNING: All options in this file have the ability to significantly change
* the look and feel and sometimes even internal behavior of the program.
* The ones shipped as the default have been extensively tested. Others have
* been tested to a (usually) lesser degree, and therefore might still have
* latent bugs. If you change any of them from the default, PLEASE check
* to make sure that you know the full effects of what you are changing. And
* if you encounter any errors or compile time problems with any options
* other than the default settings, PLEASE inform
* pennmush-bugs@pennmush.org
* immediately, so that they can be fixed. The same goes for any other bug
* you might find in using this software. All efforts will be made to fix
* errors encountered, but unless given a FULL description of the error,
* (IE telling me that logging in doesn't work is insufficient. telling
* me that logging in with WCREAT undefined still gives you the registration
* message is a lot better. MOST effective would be a full dbx trace, or a
* patch for the bug.) Enjoy using the program.
*/
/***************************************************************************/
/*---------------- Internals with many options ------------------------*/
/* Malloc package options */
/* malloc() is the routine that allocates memory while the MUSH is
* running. Because mallocs vary a lot from operating system to operating
* system, you can choose to use one of the mallocs we provide instead of
* your operating system's malloc.
* Set the value of MALLOC_PACKAGE to one of these values:
* 0 -- Use my system's malloc. Required for Win32 systems.
* Recommended for FreeBSD, Linux, Mac OS X/Darwin, and other OS's
* where you think the malloc routines are efficient and debugged.
* Otherwise, use only as a last resort.
* 1 -- Use the CSRI malloc package in normal mode.
* Recommended for most operating systems where system malloc is
* suspect. Known to work well on SunOS 4.1.x.
* 2 -- Use the CSRI malloc package in debug mode.
* Only use this if you're tracking down memory leaks. Don't use
* for a production MUSH - it's slow.
* 5 -- Use the GNU malloc (gmalloc) package.
* Doesn't work on Alpha processors or FreeBSD systems, and
* reportedly flaky on Linux. Requires an ANSI compiler.
* Otherwise, similar to CSRI malloc.
* 3, 4, 6 -- Same as 0, kept for compatibility.
*/
#define MALLOC_PACKAGE 0
/* What type of attribute compression should the MUSH use?
* Your options are:
* 1 - the default Huffman compression which has been in use for a
* long time. In theory, this should be the best compression,
* possibly at the cost of some speed. It is also 8-bit clean,
* and thus suitable for locales that use extended character sets.
* Sometimes has trouble on some linux systems for some reason.
* 2 - Same as 1, for backwards compability.
* 3 - Nick Gammon's word-based compression algorithm.
* In theory, this should be considerably faster than Huffman
* when decompressing, and considerably slower when compressing.
* (But you decompress a lot more often). Compression ratio
* is worse than Huffman for small dbs (<1.5Mb of text), but
* better for larger dbs. Win32 systems must use this.
* 4 - Raevnos's almost 8-bit clean version of the word-based algorithm.
* Prefer 3 unless you need extended characters. This algorithm
* can encode all characters except 0x06.
* 0 - No compression at all. Very fast, but your db in memory
* will be big - at least as large as your on-disk db.
* Possibly suitable for the building stages of a small MUSH.
* This should be 8-bit clean, too.
* You can change this at any time, with no worries. It only affects
* the in-memory compression of attribute/mail text, not the disk
* db compression. Recommend to keep it at 1. When in doubt, try them
* all, and check @uptime's memory usage stats for the most efficient
* choice among those that are stable for you. When using word-based
* compression, you can also #define COMP_STATS to get some detailed
* information in @stats/tables.
*/
#define COMPRESSION_TYPE 1
/*------------------------- Other internals ----------------------*/
/* If defined, use the info_slave to get information from identd,
* instead of having the MUSH do it directly. This may help reduce lag
* from new logins. This does _not_ work under Win32.
*/
#define INFO_SLAVE /* */
/* Windows NT users may uncomment this define to get the native network i/o
* thread model instead of the bsd socket layer, for vastly better
* performance. Doesn't work on Win 95/98. By Nick Gammon
*/
/* #define NT_TCP /* */
/*------------------------- MUSH Features ----------------------*/
/* Many MUSHes want to change the +channels to =channels. That's
* annoying. So we've got this CHAT_TOKEN_ALIAS, which allows + as well
* as = (or whatever) channels. If you want this, define it to be
* the character you want to use in addition to +, enclosed in
* single quotes, as in '=' or '.' or whatever. Don't define it to '+'!
*/
/* #define CHAT_TOKEN_ALIAS '=' /* */
/*------------------------- Cosmetic Features --------------------*/
/* If you're using the email registration feature, but want to
* use a mailer other than sendmail, put the full path to the mailer
* program here. The mailer must accept the -t command-line
* argument ("get the recipient address from the message header To:").
* If it doesn't, you could probably write a wrapper for it.
* Example: #define MAILER "/full/path/to/other/mailer"
*/
/* #define MAILER "" /* */
#endif
|