ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/config.h
(Generate patch)

Comparing deliantra/server/include/config.h (file contents):
Revision 1.25 by root, Fri Dec 15 20:07:02 2006 UTC vs.
Revision 1.32 by root, Sun Dec 31 10:28:36 2006 UTC

16 16
17 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software 18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 20
21 The authors can be reached via e-mail at crossfire.de 21 The authors can be reached via e-mail at crossfire@schmorp.de
22*/ 22*/
23 23
24/* This file contains various #defines that select various options. 24/* This file contains various #defines that select various options.
25 * Some may not be desirable, and some just may not work. 25 * Some may not be desirable, and some just may not work.
26 * 26 *
131#define SIMPLE_EXP TRUE 131#define SIMPLE_EXP TRUE
132#define SPELLPOINT_LEVEL_DEPEND TRUE 132#define SPELLPOINT_LEVEL_DEPEND TRUE
133#define SPELL_ENCUMBRANCE TRUE 133#define SPELL_ENCUMBRANCE TRUE
134#define SPELL_FAILURE_EFFECTS FALSE 134#define SPELL_FAILURE_EFFECTS FALSE
135#define REAL_WIZ TRUE 135#define REAL_WIZ TRUE
136#define RECYCLE_TMP_MAPS FALSE
137#define RESURRECTION FALSE 136#define RESURRECTION FALSE
138#define SEARCH_ITEMS TRUE 137#define SEARCH_ITEMS TRUE
139#define NOT_PERMADETH TRUE 138#define NOT_PERMADETH TRUE
140#define EXPLORE_MODE FALSE 139#define EXPLORE_MODE FALSE
141#define STAT_LOSS_ON_DEATH FALSE 140#define STAT_LOSS_ON_DEATH FALSE
220 */ 219 */
221#define NO_POLYMORPH 220#define NO_POLYMORPH
222 221
223 222
224/* This determine how many entries are stored in the kill log. You 223/* This determine how many entries are stored in the kill log. You
225 * can see this information with the 'party kills' command. More entries 224 * can see this information with the 'party kills' command. More entries
226 * mean slower performance and more memory. IF this is not defined, then 225 * mean slower performance and more memory.
227 * this feature is disabled.
228 */ 226 */
229#define PARTY_KILL_LOG 20 227#define PARTY_KILL_LOG 40
230 228
231/* 229/*
232 * The PERM_EXP values adjust the behaviour of permenent experience. - if 230 * The PERM_EXP values adjust the behaviour of permenent experience. - if
233 * the setting permanent_experience_percentage is zero, these values have 231 * the setting permanent_experience_percentage is zero, these values have
234 * no meaning. The value in the settings file is the percentage of the 232 * no meaning. The value in the settings file is the percentage of the
330 328
331/* 329/*
332 * BANFILE - file used to ban certain sites from playing. See the example 330 * BANFILE - file used to ban certain sites from playing. See the example
333 * ban_file for examples. 331 * ban_file for examples.
334 */ 332 */
335
336#ifndef BANFILE 333#ifndef BANFILE
337#define BANFILE "ban_file" 334#define BANFILE "ban_file"
338#endif 335#endif
339 336
340/* CSPORT is the port used for the new client/server code. Change 337/* CSPORT is the port used for the new client/server code. Change
341 * if desired. Only of relevance if ERIC_SERVER is set above 338 * if desired. Only of relevance if ERIC_SERVER is set above
342 */ 339 */
343
344#define CSPORT 13327 /* old port + 1 */ 340#define CSPORT 13327 /* old port + 1 */
345 341
346 342
347/* 343/*
348 * DMFILE 344 * DMFILE
349 * A file containing valid names that can be dm, one on each line. See 345 * A file containing valid names that can be dm, one on each line. See
350 * example dm_file for syntax help. 346 * example dm_file for syntax help.
351 */ 347 */
352
353#ifndef DMFILE 348#ifndef DMFILE
354#define DMFILE "dm_file" 349#define DMFILE "dm_file"
355#endif 350#endif
356 351
357 352
358/* LOGFILE specifies which file to log to when playing with the 353/* LOGFILE specifies which file to log to when playing with the
359 * -daemon option. 354 * -daemon option.
360 */ 355 */
361
362#ifndef LOGFILE 356#ifndef LOGFILE
363#define LOGFILE "/var/log/crossfire/logfile" 357#define LOGFILE "/var/log/crossfire/logfile"
364#endif 358#endif
365
366/*
367 * MAP_MAXTIMEOUT tells the maximum of ticks until a map is swapped out
368 * after a player has left it. If it is set to 0, maps are
369 * swapped out the instant the last player leaves it.
370 * If you are low on memory, you should set this to 0.
371 * Note that depending on the map timeout variable, the number of
372 * objects can get quite high. This is because depending on the maps,
373 * a player could be having the objects of several maps in memory
374 * (the map he is in right now, and the ones he left recently.)
375 * Each map has it's own TIMEOUT value and value field and it is
376 * defaulted to 300
377 *
378 * Having a nonzero value can be useful: If a player leaves a map (and thus
379 * is on a new map), and realizes they want to go back pretty quickly, the
380 * old map is still in memory, so don't need to go disk and get it.
381 *
382 * MAP_MINTIMEOUT is used as a minimum timeout value - if the map is set
383 * to swap out in less than that many ticks, we use the MINTIMEOUT value
384 * velow. If MINTIMEOUT > MAXTIMEOUT, MAXTIMEOUT will be used for all
385 * maps.
386 */
387
388/* How many ticks till maps are swapped out */
389#define MAP_MAXTIMEOUT 300
390/* At least that many ticks before swapout */
391#define MAP_MINTIMEOUT 300
392
393/*
394 * MAP_MAXRESET is the maximum time a map can have before being reset. It
395 * will override the time value set in the map, if that time is longer than
396 * MAP_MAXRESET. This value is in seconds. If you are low on space on the
397 * TMPDIR device, set this value to somethign small. The default
398 * value in the map object is MAP_DEFAULTRESET (given in seconds.)
399 * I personally like 1 hour myself, for solo play. It is long enough that
400 * maps won't be resetting as a solve a quest, but short enough that some
401 * maps (like shops and inns) will be reset during the time I play.
402 * Comment out MAP_MAXRESET time if you always want to use the value
403 * in the map archetype.
404 */
405
406/* Maximum time to reset. */
407#define MAP_MAXRESET 7200
408/* Default time to reset. */
409#define MAP_DEFAULTRESET 3600
410
411/*
412 * MAX_OBJECTS is no hard limit. If this limit is exceeded, crossfire
413 * will look for maps which are already scheldued for swapping, and
414 * promptly swap them out before new maps are being loaded.
415 * If playing only by yourself, this number can probably be as low as
416 * 3000. If in server mode, probably figure about 1000-2000 objects per
417 * active player (if they typically play on different maps), for some guess
418 * on how many to define. If it is too low, maps just get swapped out
419 * immediately, causing a performance hit. If it is too high, the program
420 * consumes more memory. If you have gobs of free memory, a high number
421 * might not be a bad idea. Each object is around 350 bytes right now.
422 * 25000 is about 8.5 MB
423 */
424
425#define MAX_OBJECTS 400000
426
427/*
428 * Max objects low water mark (lwm). If defined, the map swapping strategy
429 * is a bit different:
430 * 1) We only start swapping maps if the number of objects in use is
431 * greater than MAX_OBJECTS above.
432 * 2) We keep swapping maps until there are no more maps to swap or the number
433 * of used objects drop below this low water mark value.
434 *
435 * If this is not defined, maps are swapped out on the timeout value above,
436 * or if the number of objects used is greater than MAX_OBJECTS above.
437 *
438 * Note: While this will prevent the pauses noticed when saving maps, there
439 * can instead be cpu performance penalties - any objects in memory get
440 * processed. So if there are 4000 objects in memory, and 1000 of them
441 * are living objects, the system will process all 1000 objects each tick.
442 * With swapping enable, maybe 600 of the objects would have gotten swapped
443 * out. This is less likely a problem with a smaller number of MAX_OBJECTS
444 * than if it is very large.
445 * Also, the pauses you do get can be worse, as if you enter a map with
446 * a lot of new objects and go above MAX_OBJECTS, it may have to swap out
447 * many maps to get below the low water mark.
448 */
449
450/*#define MAX_OBJECTS_LWM MAX_OBJECTS/2*/
451
452/*
453 * Turning on MEMORY_DEBUG slows down execution, but makes it easier
454 * to find memory corruption and leaks. Currently, the main thing
455 * that happens with this activated is that one malloc is done for
456 * each object - thus whatever debugging mechanism the malloc library
457 * (or other debugging tool provides, like purify), it can track this
458 * individual malloc. Default behaviour when turned off is that
459 * enough memory is malloced for a large group of objects so malloc does
460 * not need to be called as often.
461 * This should only be turned on if some form of memory debugging tool
462 * is being used - otherwise, turning this on will cause some performance
463 * hit with no useful advantage.
464 */
465
466/*#define MEMORY_DEBUG*/
467
468 359
469/* 360/*
470 * If you want to have a Message Of The Day file, define MOTD to be 361 * If you want to have a Message Of The Day file, define MOTD to be
471 * the file with the message. If the file doesn't exist or if it 362 * the file with the message. If the file doesn't exist or if it
472 * is empty, no message will be displayed. 363 * is empty, no message will be displayed.
473 * (It resides in the CONFDIR directory) 364 * (It resides in the CONFDIR directory)
474 */ 365 */
475
476#define MOTD "motd" 366#define MOTD "motd"
477 367
478/* 368/*
479 * You can restrict playing in certain times by creating a PERMIT_FILE 369 * You can restrict playing in certain times by creating a PERMIT_FILE
480 * in CONFDIR. See the sample for usage notes. 370 * in CONFDIR. See the sample for usage notes.
481 */ 371 */
482
483#define PERM_FILE "forbid" 372#define PERM_FILE "forbid"
484 373
485/* 374/*
486 * If you want to take the game down while installing new versions, or 375 * If you want to take the game down while installing new versions, or
487 * for other reasons, put a message into the SHUTDOWN_FILE file. 376 * for other reasons, put a message into the SHUTDOWN_FILE file.
488 * Remember to delete it when you open the game again. 377 * Remember to delete it when you open the game again.
489 * (It resides in the CONFDIR directory) 378 * (It resides in the CONFDIR directory)
490 */ 379 */
491
492#ifndef SHUTDOWN_FILE 380#ifndef SHUTDOWN_FILE
493#define SHUTDOWN_FILE "shutdown" 381#define SHUTDOWN_FILE "shutdown"
494#endif 382#endif
495 383
496 384
502 * large. When the OS buffer and this buffer is exhausted, the server 390 * large. When the OS buffer and this buffer is exhausted, the server
503 * will drop the client connection for falling too far behind. So if 391 * will drop the client connection for falling too far behind. So if
504 * you have very slow client connections, a larger value may be 392 * you have very slow client connections, a larger value may be
505 * warranted. 393 * warranted.
506 */ 394 */
507
508#define SOCKETBUFSIZE 256*1024 395#define SOCKETBUFSIZE 256*1024
509 396
510/* 397/*
511 * Your tmp-directory should be large enough to hold the uncompressed 398 * Your tmp-directory should be large enough to hold the uncompressed
512 * map-files for all who are playing. 399 * map-files for all who are playing. Local to 'lib' directory.
513 * It ought to be locally mounted, since the function used to generate
514 * unique temporary filenames isn't guaranteed to work over NFS or AFS
515 * On the other hand, if you know that only one crossfire server will be
516 * running using this temporary directory, it is likely to be safe to use
517 * something that is NFS mounted (but performance may suffer as NFS is
518 * slower than local disk)
519 */ 400 */
520
521/*#define TMPDIR "/home/hugin/a/crossfire/crossfire/tmp"*/
522#define TMPDIR "/tmp" 401#define TMPDIR "tmp"
523 402
524 403
525/* Directory to use for unique items. This is placed into the 'lib' 404/* Directory to use for unique items. This is placed into the 'lib'
526 * directory. Changing this will cause any old unique items file 405 * directory. Changing this will cause any old unique items file
527 * not to be used. 406 * not to be used.
528 */ 407 */
529#define UNIQUE_DIR "unique-items" 408#define UNIQUE_DIR "unique-items"
530
531/*
532 * These define the players starting map and location on that map, and where
533 * emergency saves are defined. This should be left as is unless you make
534 * major changes to the map.
535 */
536
537#define EMERGENCY_MAPPATH "/city/city"
538#define EMERGENCY_X 15
539#define EMERGENCY_Y 19
540
541 409
542/* 410/*
543 * These defines tells where, relative to LIBDIR, the maps, the map-index, 411 * These defines tells where, relative to LIBDIR, the maps, the map-index,
544 * archetypes highscore and treaures files and directories can be found. 412 * archetypes highscore and treaures files and directories can be found.
545 */ 413 */
549#define ARCHETYPES "archetypes" 417#define ARCHETYPES "archetypes"
550#define REGIONS "regions" 418#define REGIONS "regions"
551#define HIGHSCORE "highscore" 419#define HIGHSCORE "highscore"
552#define TREASURES "treasures" 420#define TREASURES "treasures"
553#define BANISHFILE "banish_file" 421#define BANISHFILE "banish_file"
554
555#define MAX_ERRORS 25 /* Bail out if more are received during tick */
556#define OBJ_EXPAND 5000 /* How big steps to use when expanding array */
557 422
558#define HIGHSCORE_LENGTH 1000 /* How many entries there are room for */ 423#define HIGHSCORE_LENGTH 1000 /* How many entries there are room for */
559 424
560#define ARCHTABLE 16384 /* Arch hashtable size */ 425#define ARCHTABLE 16384 /* Arch hashtable size */
561#define MAXSTRING 20 426#define MAXSTRING 20
631 * saves pretty well spread out (in a fairly random fashion.) 496 * saves pretty well spread out (in a fairly random fashion.)
632 */ 497 */
633 498
634#define AUTOSAVE 1000 499#define AUTOSAVE 1000
635 500
636/* Often, emergency save fails because the memory corruption that caused
637 * the crash has trashed the characters too. Define NO_EMERGENCY_SAVE
638 * to disable emergency saves. This actually does
639 * prevent emergency saves now (Version 0.90.5).
640 */
641
642#define NO_EMERGENCY_SAVE
643
644/* By selecting the following, whenever a player does a backup save (with
645 * the 'save command), the player will be saved at home (EMERGENCY_MAP_*
646 * information that is specified later). IF this is not set, the player
647 * will be saved at his present location.
648 */
649
650/*#define BACKUP_SAVE_AT_HOME*/
651
652/* RESET_LOCATION_TIME is the number of seconds that must elapse before 501/* RESET_LOCATION_TIME is the number of seconds that must elapse before
653 * we will return the player to his savebed location. If this is zero, 502 * we will return the player to his savebed location. If this is zero,
654 * this feature is disabled (player will resume where ever he was 503 * this feature is disabled (player will resume where ever he was
655 * when he last logged off). If this is set to less than two hours, 504 * when he last logged off). If this is set to less than two hours,
656 * it will prevent players from camping out in treasure rooms. 505 * it will prevent players from camping out in treasure rooms.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines