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.12 by root, Fri Apr 7 22:44:11 2006 UTC vs.
Revision 1.25 by root, Fri Dec 15 20:07:02 2006 UTC

1/*
2 * static char *rcsid_config_h =
3 * "$Id: config.h,v 1.12 2006/04/07 22:44:11 root Exp $";
4 */
5
6/* 1/*
7 CrossFire, A Multiplayer game for X-windows 2 CrossFire, A Multiplayer game for X-windows
8 3
9 Copyright (C) 2002 Mark Wedel & Crossfire Development Team 4 Copyright (C) 2002 Mark Wedel & Crossfire Development Team
10 Copyright (C) 1992 Frank Tore Johansen 5 Copyright (C) 1992 Frank Tore Johansen
21 16
22 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
23 along with this program; if not, write to the Free Software 18 along with this program; if not, write to the Free Software
24 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 20
26 The authors can be reached via e-mail at crossfire-devel@real-time.com 21 The authors can be reached via e-mail at crossfire.de
27*/ 22*/
28 23
29/* This file contains various #defines that select various options. 24/* This file contains various #defines that select various options.
30 * Some may not be desirable, and some just may not work. 25 * Some may not be desirable, and some just may not work.
31 * 26 *
71 * DEBUG - more verbose message logging? 66 * DEBUG - more verbose message logging?
72 * MAP_CLIENT_X, MAP_CLIENT_Y - determines max size client map will receive 67 * MAP_CLIENT_X, MAP_CLIENT_Y - determines max size client map will receive
73 * MAX_TIME - how long an internal tick is in microseconds 68 * MAX_TIME - how long an internal tick is in microseconds
74 * MANY_CORES - generate core dumps on gross errors instead of continuing? 69 * MANY_CORES - generate core dumps on gross errors instead of continuing?
75 * PARTY_KILL_LOG - stores party kill information 70 * PARTY_KILL_LOG - stores party kill information
76 * WATCHDOG - allows use of an external watchdog program
77 * 71 *
78 ***********************************************************************/ 72 ***********************************************************************/
79 73
80/* Use a very easy, non-challenging server? 74/* Use a very easy, non-challenging server?
81 * Defining the COZY_SERVER will make the server much less challenging: 75 * Defining the COZY_SERVER will make the server much less challenging:
151#define ARMOR_MAX_ENCHANT 5 145#define ARMOR_MAX_ENCHANT 5
152#define ARMOR_WEIGHT_REDUCTION 10 146#define ARMOR_WEIGHT_REDUCTION 10
153#define ARMOR_WEIGHT_LINEAR TRUE 147#define ARMOR_WEIGHT_LINEAR TRUE
154#define ARMOR_SPEED_IMPROVEMENT 10 148#define ARMOR_SPEED_IMPROVEMENT 10
155#define ARMOR_SPEED_LINEAR TRUE 149#define ARMOR_SPEED_LINEAR TRUE
150#define CREATE_HOME_PORTALS FALSE
156 151
157/* you can edit the ones below */ 152/* you can edit the ones below */
158 153
159 154
160/* CS_LOGSTATS will cause the server to log various usage stats 155/* CS_LOGSTATS will cause the server to log various usage stats
162 * and so on.) This can be very useful if you are trying to measure 157 * and so on.) This can be very useful if you are trying to measure
163 * server/bandwidth usage. It will periodially dump out information 158 * server/bandwidth usage. It will periodially dump out information
164 * which contains usage stats for the last X amount of time. 159 * which contains usage stats for the last X amount of time.
165 * CS_LOGTIME is how often it will print out stats. 160 * CS_LOGTIME is how often it will print out stats.
166 */ 161 */
167#ifndef WIN32 /* ***win32 we set the following stuff in the IDE */
168#define CS_LOGSTATS 162#define CS_LOGSTATS
169#endif
170#ifdef CS_LOGSTATS
171#define CS_LOGTIME 600 163#define CS_LOGTIME 600
172#endif
173 164
174/* DEBUG generates copious amounts of output. I tend to change the CC options 165/* DEBUG generates copious amounts of output. I tend to change the CC options
175 * in the crosssite.def file if I want this. By default, you probably 166 * in the crosssite.def file if I want this. By default, you probably
176 * dont want this defined. 167 * dont want this defined.
177 */ 168 */
178#ifndef WIN32 /* ***win32 we set the following stuff in the IDE */
179#ifndef DEBUG 169#ifndef DEBUG
180#define DEBUG 170#define DEBUG
181#endif
182#endif 171#endif
183/* 172/*
184 * This option creates more core files. In some areas, there are certain 173 * This option creates more core files. In some areas, there are certain
185 * checks done to try and make the program more stable (ie, check 174 * checks done to try and make the program more stable (ie, check
186 * parameter for null, return if it is). These checks are being done 175 * parameter for null, return if it is). These checks are being done
211 * maps at that point. 200 * maps at that point.
212 * 201 *
213 * MSW 2001-05-28 202 * MSW 2001-05-28
214 */ 203 */
215 204
216#define MAP_CLIENT_X 63 205#define MAP_CLIENT_X 31
217#define MAP_CLIENT_Y 63 206#define MAP_CLIENT_Y 31
218 207
219/* 208/*
220 * If you feel the game is too fast or too slow, change MAX_TIME. 209 * If you feel the game is too fast or too slow, change MAX_TIME.
221 * You can experiment with the 'speed <new_max_time> command first. 210 * You can experiment with the 'speed <new_max_time> command first.
222 * The length of a tick is MAX_TIME microseconds. During a tick, 211 * The length of a tick is MAX_TIME microseconds. During a tick,
262 */ 251 */
263/* GD */ 252/* GD */
264 253
265#define PERM_EXP_GAIN_RATIO 0.10f 254#define PERM_EXP_GAIN_RATIO 0.10f
266#define PERM_EXP_MAX_LOSS_RATIO 0.50f 255#define PERM_EXP_MAX_LOSS_RATIO 0.50f
267
268/*
269 * WATCHDOG lets sends datagrams to port 13325 on localhost
270 * in (more-or-less) regular intervals, so an external watchdog
271 * program can kill the server if it hangs (for whatever reason).
272 * It shouldn't hurt anyone if this is defined but you don't
273 * have an watchdog program.
274 */
275#ifndef WIN32 /* ***win32 disable watchdog as win32 default */
276#define WATCHDOG
277#endif
278
279 256
280/* Enable the new material code - it needs some work. You can 257/* Enable the new material code - it needs some work. You can
281 * enable this, and things will work, just you'll see a whole 258 * enable this, and things will work, just you'll see a whole
282 * bunch more materials show up, and thus a whole bunch more materials 259 * bunch more materials show up, and thus a whole bunch more materials
283 * in your inventory, and the sorting for them isn't really good. 260 * in your inventory, and the sorting for them isn't really good.
346 * SHUTDOWN - used when shutting down the server 323 * SHUTDOWN - used when shutting down the server
347 * SOCKETBUFSIZE - size of buffer used internally by the server for storing 324 * SOCKETBUFSIZE - size of buffer used internally by the server for storing
348 * backlogged messages. 325 * backlogged messages.
349 * TMPDIR - directory to use for temp files 326 * TMPDIR - directory to use for temp files
350 * UNIQUE_DIR - directory to put unique item files into 327 * UNIQUE_DIR - directory to put unique item files into
351 * USE_CALLOC for some memory requests
352 *********************************************************************** 328 ***********************************************************************
353 */ 329 */
354 330
355/* 331/*
356 * BANFILE - file used to ban certain sites from playing. See the example 332 * BANFILE - file used to ban certain sites from playing. See the example
382/* LOGFILE specifies which file to log to when playing with the 358/* LOGFILE specifies which file to log to when playing with the
383 * -daemon option. 359 * -daemon option.
384 */ 360 */
385 361
386#ifndef LOGFILE 362#ifndef LOGFILE
387#ifdef WIN32 /* change define path */
388#define LOGFILE "var\\crossfire.log"
389#else
390#define LOGFILE "/var/log/crossfire/logfile" 363#define LOGFILE "/var/log/crossfire/logfile"
391#endif
392#endif 364#endif
393 365
394/* 366/*
395 * MAP_MAXTIMEOUT tells the maximum of ticks until a map is swapped out 367 * MAP_MAXTIMEOUT tells the maximum of ticks until a map is swapped out
396 * after a player has left it. If it is set to 0, maps are 368 * after a player has left it. If it is set to 0, maps are
412 * velow. If MINTIMEOUT > MAXTIMEOUT, MAXTIMEOUT will be used for all 384 * velow. If MINTIMEOUT > MAXTIMEOUT, MAXTIMEOUT will be used for all
413 * maps. 385 * maps.
414 */ 386 */
415 387
416/* How many ticks till maps are swapped out */ 388/* How many ticks till maps are swapped out */
417#define MAP_MAXTIMEOUT 1000 389#define MAP_MAXTIMEOUT 300
418/* At least that many ticks before swapout */ 390/* At least that many ticks before swapout */
419#define MAP_MINTIMEOUT 500 391#define MAP_MINTIMEOUT 300
420 392
421/* 393/*
422 * MAP_MAXRESET is the maximum time a map can have before being reset. It 394 * MAP_MAXRESET is the maximum time a map can have before being reset. It
423 * will override the time value set in the map, if that time is longer than 395 * will override the time value set in the map, if that time is longer than
424 * MAP_MAXRESET. This value is in seconds. If you are low on space on the 396 * MAP_MAXRESET. This value is in seconds. If you are low on space on the
432 */ 404 */
433 405
434/* Maximum time to reset. */ 406/* Maximum time to reset. */
435#define MAP_MAXRESET 7200 407#define MAP_MAXRESET 7200
436/* Default time to reset. */ 408/* Default time to reset. */
437#define MAP_DEFAULTRESET 7200 409#define MAP_DEFAULTRESET 3600
438 410
439/* 411/*
440 * MAX_OBJECTS is no hard limit. If this limit is exceeded, crossfire 412 * MAX_OBJECTS is no hard limit. If this limit is exceeded, crossfire
441 * will look for maps which are already scheldued for swapping, and 413 * will look for maps which are already scheldued for swapping, and
442 * promptly swap them out before new maps are being loaded. 414 * promptly swap them out before new maps are being loaded.
448 * consumes more memory. If you have gobs of free memory, a high number 420 * consumes more memory. If you have gobs of free memory, a high number
449 * might not be a bad idea. Each object is around 350 bytes right now. 421 * might not be a bad idea. Each object is around 350 bytes right now.
450 * 25000 is about 8.5 MB 422 * 25000 is about 8.5 MB
451 */ 423 */
452 424
453#define MAX_OBJECTS 100000 425#define MAX_OBJECTS 400000
454 426
455/* 427/*
456 * Max objects low water mark (lwm). If defined, the map swapping strategy 428 * Max objects low water mark (lwm). If defined, the map swapping strategy
457 * is a bit different: 429 * is a bit different:
458 * 1) We only start swapping maps if the number of objects in use is 430 * 1) We only start swapping maps if the number of objects in use is
531 * will drop the client connection for falling too far behind. So if 503 * will drop the client connection for falling too far behind. So if
532 * you have very slow client connections, a larger value may be 504 * you have very slow client connections, a larger value may be
533 * warranted. 505 * warranted.
534 */ 506 */
535 507
536#define SOCKETBUFSIZE 128*1024 508#define SOCKETBUFSIZE 256*1024
537 509
538/* 510/*
539 * Your tmp-directory should be large enough to hold the uncompressed 511 * Your tmp-directory should be large enough to hold the uncompressed
540 * map-files for all who are playing. 512 * map-files for all who are playing.
541 * It ought to be locally mounted, since the function used to generate 513 * It ought to be locally mounted, since the function used to generate
545 * something that is NFS mounted (but performance may suffer as NFS is 517 * something that is NFS mounted (but performance may suffer as NFS is
546 * slower than local disk) 518 * slower than local disk)
547 */ 519 */
548 520
549/*#define TMPDIR "/home/hugin/a/crossfire/crossfire/tmp"*/ 521/*#define TMPDIR "/home/hugin/a/crossfire/crossfire/tmp"*/
550#ifdef WIN32 /* change define path tmp */
551#define TMPDIR "tmp"
552#else
553#define TMPDIR "/tmp" 522#define TMPDIR "/tmp"
554#endif
555 523
556 524
557/* Directory to use for unique items. This is placed into the 'lib' 525/* Directory to use for unique items. This is placed into the 'lib'
558 * directory. Changing this will cause any old unique items file 526 * directory. Changing this will cause any old unique items file
559 * not to be used. 527 * not to be used.
560 */ 528 */
561#define UNIQUE_DIR "unique-items" 529#define UNIQUE_DIR "unique-items"
562 530
563/* 531/*
564 * If undefined, malloc is always used.
565 * It looks like this can be oboleted. However, it can be useful to
566 * track down some bugs, as it will make sure that the entire data structure
567 * is set to 0, at the expense of speed.
568 * Rupert Goldie has run Purify against the code, and if this is disabled,
569 * apparantly there are a lot of uninitialized memory reads - I haven't
570 * seen any problem (maybe the memory reads are copies, and the destination
571 * doesn't actually use the garbage values either?), but the impact on speed
572 * of using this probably isn't great, and should make things more stable.
573 * Msw 8-9-97
574 */
575#define USE_CALLOC
576
577
578/*
579 * These define the players starting map and location on that map, and where 532 * These define the players starting map and location on that map, and where
580 * emergency saves are defined. This should be left as is unless you make 533 * emergency saves are defined. This should be left as is unless you make
581 * major changes to the map. 534 * major changes to the map.
582 */ 535 */
583 536
584#ifdef WIN32 /* change define path city */
585
586# define EMERGENCY_MAPPATH "\\city\\city"
587# define EMERGENCY_X 15
588# define EMERGENCY_Y 19
589#else
590# define EMERGENCY_MAPPATH "/city/city" 537#define EMERGENCY_MAPPATH "/city/city"
591# define EMERGENCY_X 15 538#define EMERGENCY_X 15
592# define EMERGENCY_Y 19 539#define EMERGENCY_Y 19
593#endif
594 540
595 541
596/* 542/*
597 * These defines tells where, relative to LIBDIR, the maps, the map-index, 543 * These defines tells where, relative to LIBDIR, the maps, the map-index,
598 * archetypes highscore and treaures files and directories can be found. 544 * archetypes highscore and treaures files and directories can be found.
605#define HIGHSCORE "highscore" 551#define HIGHSCORE "highscore"
606#define TREASURES "treasures" 552#define TREASURES "treasures"
607#define BANISHFILE "banish_file" 553#define BANISHFILE "banish_file"
608 554
609#define MAX_ERRORS 25 /* Bail out if more are received during tick */ 555#define MAX_ERRORS 25 /* Bail out if more are received during tick */
610#define STARTMAX 500 /* How big array of objects to start with */
611#define OBJ_EXPAND 100 /* How big steps to use when expanding array */ 556#define OBJ_EXPAND 5000 /* How big steps to use when expanding array */
612 557
613#define HIGHSCORE_LENGTH 1000 /* How many entries there are room for */ 558#define HIGHSCORE_LENGTH 1000 /* How many entries there are room for */
614 559
615#define ARCHTABLE 16384 /* Arch hashtable size */ 560#define ARCHTABLE 16384 /* Arch hashtable size */
616#define MAXSTRING 20 561#define MAXSTRING 20
684 * may not be large enough to save all of them.) As it is now, it will 629 * may not be large enough to save all of them.) As it is now, it will
685 * just set the base tick of when they log on, which should keep the 630 * just set the base tick of when they log on, which should keep the
686 * saves pretty well spread out (in a fairly random fashion.) 631 * saves pretty well spread out (in a fairly random fashion.)
687 */ 632 */
688 633
689#define AUTOSAVE 500 634#define AUTOSAVE 1000
690 635
691/* Often, emergency save fails because the memory corruption that caused 636/* Often, emergency save fails because the memory corruption that caused
692 * the crash has trashed the characters too. Define NO_EMERGENCY_SAVE 637 * the crash has trashed the characters too. Define NO_EMERGENCY_SAVE
693 * to disable emergency saves. This actually does 638 * to disable emergency saves. This actually does
694 * prevent emergency saves now (Version 0.90.5). 639 * prevent emergency saves now (Version 0.90.5).

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines