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.2 by root, Fri Feb 3 07:25:25 2006 UTC vs.
Revision 1.17 by root, Wed May 31 23:30:56 2006 UTC

1/* 1/*
2 * static char *rcsid_config_h = 2 * static char *rcsid_config_h =
3 * "$Id: config.h,v 1.2 2006/02/03 07:25:25 root Exp $"; 3 * "$Id: config.h,v 1.17 2006/05/31 23:30:56 root Exp $";
4 */ 4 */
5 5
6/* 6/*
7 CrossFire, A Multiplayer game for X-windows 7 CrossFire, A Multiplayer game for X-windows
8 8
74 * MANY_CORES - generate core dumps on gross errors instead of continuing? 74 * MANY_CORES - generate core dumps on gross errors instead of continuing?
75 * PARTY_KILL_LOG - stores party kill information 75 * PARTY_KILL_LOG - stores party kill information
76 * WATCHDOG - allows use of an external watchdog program 76 * WATCHDOG - allows use of an external watchdog program
77 * 77 *
78 ***********************************************************************/ 78 ***********************************************************************/
79
80/* Use a very easy, non-challenging server?
81 * Defining the COZY_SERVER will make the server much less challenging:
82 * no stats loss on death, much less experience loss, and party members
83 * are treated by pet monsters as the owner itself when moving "through" them.
84 */
85#define COZY_SERVER 1
86
87/*
88 * Make it impossible to pk outside the arena.
89 */
90#define PROHIBIT_PLAYERKILL 1
79 91
80/* Use balanced stat loss code? 92/* Use balanced stat loss code?
81 * This code is a little more merciful with repeated stat loss at lower 93 * This code is a little more merciful with repeated stat loss at lower
82 * levels. Basically, the more stats you have lost, the less likely that 94 * levels. Basically, the more stats you have lost, the less likely that
83 * you will lose more. Additionally, lower level characters are shown 95 * you will lose more. Additionally, lower level characters are shown
116 128
117/* Don't edit these values. They are configured in lib/settings. These are 129/* Don't edit these values. They are configured in lib/settings. These are
118 Simply the defaults. */ 130 Simply the defaults. */
119 131
120#define BALANCED_STAT_LOSS FALSE 132#define BALANCED_STAT_LOSS FALSE
121#define USE_PERMANENT_EXPERIENCE FALSE 133#define PERMANENT_EXPERIENCE_RATIO 25
134#define DEATH_PENALTY_RATIO 20
135#define DEATH_PENALTY_LEVEL 3
122#define SET_TITLE TRUE 136#define SET_TITLE TRUE
123#define SIMPLE_EXP TRUE 137#define SIMPLE_EXP TRUE
124#define SPELLPOINT_LEVEL_DEPEND TRUE 138#define SPELLPOINT_LEVEL_DEPEND TRUE
125#define SPELL_ENCUMBRANCE TRUE 139#define SPELL_ENCUMBRANCE TRUE
126#define SPELL_FAILURE_EFFECTS FALSE 140#define SPELL_FAILURE_EFFECTS FALSE
137#define ARMOR_MAX_ENCHANT 5 151#define ARMOR_MAX_ENCHANT 5
138#define ARMOR_WEIGHT_REDUCTION 10 152#define ARMOR_WEIGHT_REDUCTION 10
139#define ARMOR_WEIGHT_LINEAR TRUE 153#define ARMOR_WEIGHT_LINEAR TRUE
140#define ARMOR_SPEED_IMPROVEMENT 10 154#define ARMOR_SPEED_IMPROVEMENT 10
141#define ARMOR_SPEED_LINEAR TRUE 155#define ARMOR_SPEED_LINEAR TRUE
156#define CREATE_HOME_PORTALS FALSE
142 157
143/* you can edit the ones below */ 158/* you can edit the ones below */
144 159
145 160
146/* CS_LOGSTATS will cause the server to log various usage stats 161/* CS_LOGSTATS will cause the server to log various usage stats
197 * maps at that point. 212 * maps at that point.
198 * 213 *
199 * MSW 2001-05-28 214 * MSW 2001-05-28
200 */ 215 */
201 216
202#define MAP_CLIENT_X 25 217#define MAP_CLIENT_X 31
203#define MAP_CLIENT_Y 25 218#define MAP_CLIENT_Y 31
204 219
205/* 220/*
206 * If you feel the game is too fast or too slow, change MAX_TIME. 221 * If you feel the game is too fast or too slow, change MAX_TIME.
207 * You can experiment with the 'speed <new_max_time> command first. 222 * You can experiment with the 'speed <new_max_time> command first.
208 * The length of a tick is MAX_TIME microseconds. During a tick, 223 * The length of a tick is MAX_TIME microseconds. During a tick,
223 * mean slower performance and more memory. IF this is not defined, then 238 * mean slower performance and more memory. IF this is not defined, then
224 * this feature is disabled. 239 * this feature is disabled.
225 */ 240 */
226#define PARTY_KILL_LOG 20 241#define PARTY_KILL_LOG 20
227 242
228/* Use permanent experience code? 243/*
229 * This code allows players to build up a small amount of 'permanent
230 * experience' which reduces the effect of large experience drains, such as
231 * death. This makes multiple frequent deaths less devastating, and also
232 * ensures that any character will make some gradual progress even if they
233 * die all of the time.
234 * A nice option if your keep dying due to massive client/server lags despite
235 * playing well... or you like to swim well outside of your depth. :)
236 *
237 * The PERM_EXP values adjust the behaviour of this option - if 244 * The PERM_EXP values adjust the behaviour of permenent experience. - if
238 * USE_PERMAMENT_EXPERIENCE if off, these values have no meaning. If it 245 * the setting permanent_experience_percentage is zero, these values have
239 * is on, the minimum ratio is the minimum amount of permanent exp relative 246 * no meaning. The value in the settings file is the percentage of the
240 * to the total exp in the skill (ie, at a default of .25, if you had 100 247 * experience that is permenent, the rest could be lost on death. When dying,
241 * experience, at least 25 of it would be permanent). The gain ratio 248 * the greatest amount of non-permenent exp it is possible to lose at one time
242 * is how much of experienced experience goes to the permanent value. 249 * is PERM_EXP_MAX_LOSS_RATIO - this is calculated as
243 * This does not detract from total exp gain (ie, if you gained 100 exp, 250 * total exp - perm exp * loss ratio. The gain ratio is how much of experienced
244 * 100 would go to the skill total and 10 to the permanent value). 251 * experience goes to the permanent value. This does not detract from total
245 * the loss ratio is the maximum amount of experience that can be lost 252 * exp gain (ie, if you gained 100 exp, 100 would go to the skill total and
246 * in any one hit - this is calculated as total exp - perm exp * loss ratio. 253 * 10 to the permanent value).
247 * 254 *
248 * A few thoughts on these default value (by MSW) 255 * A few thoughts on these default value (by MSW)
249 * gain ratio is pretty much meaningless until exp has been lost, as until 256 * gain ratio is pretty much meaningless until exp has been lost, as until
250 * that poin, the minimum ratio will be used. 257 * that poin, the value in the settings file will be used.
251 * It is also impossible for the exp to actually be reduced to the permanent 258 * It is also impossible for the exp to actually be reduced to the permanent
252 * exp ratio - since the loss ratio is .5, it will just get closer and 259 * exp ratio - since the loss ratio is .5, it will just get closer and
253 * closer. However, after about half a dozen hits, pretty much all the 260 * closer. However, after about half a dozen hits, pretty much all the
254 * exp that can be lost has been lost, and after that, only minor loss 261 * exp that can be lost has been lost, and after that, only minor loss
255 * will occur. 262 * will occur.
256 */ 263 */
257/* GD */ 264/* GD */
258 265
259#define PERM_EXP_MINIMUM_RATIO 0.25f
260#define PERM_EXP_GAIN_RATIO 0.10f 266#define PERM_EXP_GAIN_RATIO 0.10f
261#define PERM_EXP_MAX_LOSS_RATIO 0.50f 267#define PERM_EXP_MAX_LOSS_RATIO 0.50f
262 268
263/* 269/*
264 * WATCHDOG lets sends datagrams to port 13325 on localhost 270 * WATCHDOG lets sends datagrams to port 13325 on localhost
407 * velow. If MINTIMEOUT > MAXTIMEOUT, MAXTIMEOUT will be used for all 413 * velow. If MINTIMEOUT > MAXTIMEOUT, MAXTIMEOUT will be used for all
408 * maps. 414 * maps.
409 */ 415 */
410 416
411/* How many ticks till maps are swapped out */ 417/* How many ticks till maps are swapped out */
412#define MAP_MAXTIMEOUT 1000 418#define MAP_MAXTIMEOUT 500
413/* At least that many ticks before swapout */ 419/* At least that many ticks before swapout */
414#define MAP_MINTIMEOUT 500 420#define MAP_MINTIMEOUT 300
415 421
416/* 422/*
417 * MAP_MAXRESET is the maximum time a map can have before being reset. It 423 * MAP_MAXRESET is the maximum time a map can have before being reset. It
418 * will override the time value set in the map, if that time is longer than 424 * will override the time value set in the map, if that time is longer than
419 * MAP_MAXRESET. This value is in seconds. If you are low on space on the 425 * MAP_MAXRESET. This value is in seconds. If you are low on space on the
443 * consumes more memory. If you have gobs of free memory, a high number 449 * consumes more memory. If you have gobs of free memory, a high number
444 * might not be a bad idea. Each object is around 350 bytes right now. 450 * might not be a bad idea. Each object is around 350 bytes right now.
445 * 25000 is about 8.5 MB 451 * 25000 is about 8.5 MB
446 */ 452 */
447 453
448#define MAX_OBJECTS 100000 454#define MAX_OBJECTS 200000
449 455
450/* 456/*
451 * Max objects low water mark (lwm). If defined, the map swapping strategy 457 * Max objects low water mark (lwm). If defined, the map swapping strategy
452 * is a bit different: 458 * is a bit different:
453 * 1) We only start swapping maps if the number of objects in use is 459 * 1) We only start swapping maps if the number of objects in use is
600#define HIGHSCORE "highscore" 606#define HIGHSCORE "highscore"
601#define TREASURES "treasures" 607#define TREASURES "treasures"
602#define BANISHFILE "banish_file" 608#define BANISHFILE "banish_file"
603 609
604#define MAX_ERRORS 25 /* Bail out if more are received during tick */ 610#define MAX_ERRORS 25 /* Bail out if more are received during tick */
605#define STARTMAX 500 /* How big array of objects to start with */ 611#define STARTMAX 4000 /* How big array of objects to start with */
606#define OBJ_EXPAND 100 /* How big steps to use when expanding array */ 612#define OBJ_EXPAND 500 /* How big steps to use when expanding array */
607 613
608#define HIGHSCORE_LENGTH 1000 /* How many entries there are room for */ 614#define HIGHSCORE_LENGTH 1000 /* How many entries there are room for */
609 615
610#define ARCHTABLE 5003 /* Used when hashing archetypes */ 616#define ARCHTABLE 16384 /* Arch hashtable size */
611#define MAXSTRING 20 617#define MAXSTRING 20
612 618
613#define COMMAND_HASH_SIZE 107 /* If you change this, delete all characters :) */ 619#define COMMAND_HASH_SIZE 107 /* If you change this, delete all characters :) */
614 620
615 621
646 * thus requiring that the server be setuid/setgid, and more generous 652 * thus requiring that the server be setuid/setgid, and more generous
647 * permisisons needed. 653 * permisisons needed.
648 * SAVE_MODE is permissions for the files, SAVE_DIR_MODE is permission 654 * SAVE_MODE is permissions for the files, SAVE_DIR_MODE is permission
649 * for nay directories created. 655 * for nay directories created.
650 */ 656 */
657/* IMPORTANT: there is a race during saving, where the umask is being applied */
651#define SAVE_MODE 0660 658#define SAVE_MODE 0660
652#define SAVE_DIR_MODE 0770 659#define SAVE_DIR_MODE 0770
653 660
654/* NOTE ON SAVE_INTERVAL and AUTOSAVE: Only one of these two really 661/* NOTE ON SAVE_INTERVAL and AUTOSAVE: Only one of these two really
655 * needs to be selected. You can set both, and things will work fine, 662 * needs to be selected. You can set both, and things will work fine,
665 * environment, you may want to set this to a higher value, so that 672 * environment, you may want to set this to a higher value, so that
666 * you are not spending too much time saving the characters. 673 * you are not spending too much time saving the characters.
667 * This option should now work (Crossfire 0.90.5) 674 * This option should now work (Crossfire 0.90.5)
668 */ 675 */
669 676
670#define SAVE_INTERVAL 60 677//#define SAVE_INTERVAL 60
671 678
672/* 679/*
673 * AUTOSAVE saves the player every AUTOSAVE ticks. A value of 680 * AUTOSAVE saves the player every AUTOSAVE ticks. A value of
674 * 5000 with MAX_TIME set at 120,000 means that the player will be 681 * 5000 with MAX_TIME set at 120,000 means that the player will be
675 * saved every 10 minutes. Some effort should probably be made to 682 * saved every 10 minutes. Some effort should probably be made to
678 * may not be large enough to save all of them.) As it is now, it will 685 * may not be large enough to save all of them.) As it is now, it will
679 * just set the base tick of when they log on, which should keep the 686 * just set the base tick of when they log on, which should keep the
680 * saves pretty well spread out (in a fairly random fashion.) 687 * saves pretty well spread out (in a fairly random fashion.)
681 */ 688 */
682 689
683#define AUTOSAVE 500 690#define AUTOSAVE 1000
684 691
685/* Often, emergency save fails because the memory corruption that caused 692/* Often, emergency save fails because the memory corruption that caused
686 * the crash has trashed the characters too. Define NO_EMERGENCY_SAVE 693 * the crash has trashed the characters too. Define NO_EMERGENCY_SAVE
687 * to disable emergency saves. This actually does 694 * to disable emergency saves. This actually does
688 * prevent emergency saves now (Version 0.90.5). 695 * prevent emergency saves now (Version 0.90.5).
697 */ 704 */
698 705
699/*#define BACKUP_SAVE_AT_HOME*/ 706/*#define BACKUP_SAVE_AT_HOME*/
700 707
701/* RESET_LOCATION_TIME is the number of seconds that must elapse before 708/* RESET_LOCATION_TIME is the number of seconds that must elapse before
702 * we fill return the player to his savebed location. If this is zero, 709 * we will return the player to his savebed location. If this is zero,
703 * this feature is disabled (player will resume where ever he was 710 * this feature is disabled (player will resume where ever he was
704 * when he last logged off). If this is set to less than two hours, 711 * when he last logged off). If this is set to less than two hours,
705 * it will prevent players from camping out in treasure rooms. 712 * it will prevent players from camping out in treasure rooms.
706 * Do not comment this out - it must be set to something - if you 713 * Do not comment this out - it must be set to something - if you
707 * comment this out, the program will not compile. 714 * comment this out, the program will not compile.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines