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