--- deliantra/server/include/config.h 2007/02/15 16:22:50 1.39 +++ deliantra/server/include/config.h 2017/01/29 02:47:04 1.68 @@ -1,25 +1,25 @@ /* - * CrossFire, A Multiplayer game for X-windows - * - * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team - * Copyright (C) 2002 Mark Wedel & Crossfire Development Team - * Copyright (C) 1992 Frank Tore Johansen - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * + * This file is part of Deliantra, the Roguelike Realtime MMORPG. + * + * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team + * Copyright (©) 2002 Mark Wedel & Crossfire Development Team + * Copyright (©) 1992 Frank Tore Johansen + * + * Deliantra is free software: you can redistribute it and/or modify it under + * the terms of the Affero GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * The authors can be reached via e-mail at crossfire@schmorp.de + * You should have received a copy of the Affero GNU General Public License + * and the GNU General Public License along with this program. If not, see + * . + * + * The authors can be reached via e-mail to */ /* This file contains various #defines that select various options. @@ -35,7 +35,7 @@ * weapons * ench_armour: Allow characters to enchant their armor. * - * In theory, most of the values here should just be defaults, and + * In theory, most of the values here should just be defaults, and * everything here should just be selectable by different run time * flags However, for some things, that would just be too messy. */ @@ -63,7 +63,6 @@ * alphabetically. * * Short list of features, and what to search for: - * CS_LOGSTATS - log various new client/server data. * DEBUG - more verbose message logging? * MAP_CLIENT_X, MAP_CLIENT_Y - determines max size client map will receive * MAX_TIME - how long an internal tick is in microseconds @@ -74,16 +73,10 @@ /* Use a very easy, non-challenging server? * Defining the COZY_SERVER will make the server much less challenging: - * no stats loss on death, much less experience loss, and party members - * are treated by pet monsters as the owner itself when moving "through" them. + * no stats loss on death, much less experience loss. */ #define COZY_SERVER 1 -/* - * Make it impossible to pk outside the arena. - */ -#define PROHIBIT_PLAYERKILL 1 - /* Use balanced stat loss code? * This code is a little more merciful with repeated stat loss at lower * levels. Basically, the more stats you have lost, the less likely that @@ -102,17 +95,17 @@ * the character level is divided by that value, and that is how many * stats are lost. * - * BALSL_MAX_LOSS_RATIO puts the upper limit on depletion of a stat - + * BALSL_MAX_LOSS_RATIO puts the upper limit on depletion of a stat - * basically, level/max_loss_ratio is the most a stat can be depleted. * * BALSL_LOSS_CHANCE_RATIO controls how likely it is a stat is depleted. - * The chance not to lose a stat is + * The chance not to lose a stat is * depleteness^2 / (depletedness^2+ level/ratio). * ie, if the stats current depleted value is 2 and the character is level * 15, the chance not to lose the stat is 4/(4+3) or 4/7. The higher the * level, the more likely it is a stat can get really depleted, but * this gets more offset as the stat gets more depleted. - * + * */ /* GD */ @@ -124,24 +117,21 @@ /* Don't edit these values. They are configured in lib/settings. These are Simply the defaults. */ -#define BALANCED_STAT_LOSS FALSE -#define PERMANENT_EXPERIENCE_RATIO 25 -#define DEATH_PENALTY_RATIO 20 -#define DEATH_PENALTY_LEVEL 3 +#define BALANCED_STAT_LOSS TRUE +#define PERMANENT_EXPERIENCE_RATIO 30 +#define DEATH_PENALTY_RATIO 10 +#define DEATH_PENALTY_LEVEL 2 #define SET_TITLE TRUE #define SIMPLE_EXP TRUE #define SPELLPOINT_LEVEL_DEPEND TRUE -#define SPELL_ENCUMBRANCE TRUE +#define SPELL_ENCUMBRANCE FALSE #define SPELL_FAILURE_EFFECTS FALSE -#define REAL_WIZ TRUE #define RESURRECTION FALSE #define SEARCH_ITEMS TRUE #define NOT_PERMADETH TRUE -#define EXPLORE_MODE FALSE #define STAT_LOSS_ON_DEATH FALSE -#define PK_LUCK_PENALTY 1 -#define CASTING_TIME FALSE -#define SET_FRIENDLY_FIRE 5 +#define PK_LUCK_PENALTY 0 +#define SET_FRIENDLY_FIRE 0 #define ARMOR_MAX_ENCHANT 5 #define ARMOR_WEIGHT_REDUCTION 10 #define ARMOR_WEIGHT_LINEAR TRUE @@ -151,23 +141,12 @@ /* you can edit the ones below */ - -/* CS_LOGSTATS will cause the server to log various usage stats - * (number of connections, amount of data sent, amount of data received, - * and so on.) This can be very useful if you are trying to measure - * server/bandwidth usage. It will periodially dump out information - * which contains usage stats for the last X amount of time. - * CS_LOGTIME is how often it will print out stats. - */ -#define CS_LOGSTATS -#define CS_LOGTIME 600 - /* DEBUG generates copious amounts of output. I tend to change the CC options * in the crosssite.def file if I want this. By default, you probably * dont want this defined. */ #ifndef DEBUG -#define DEBUG +# define DEBUG #endif /* * This option creates more core files. In some areas, there are certain @@ -202,6 +181,7 @@ * MSW 2001-05-28 */ +// both must be 2**n #define MAP_CLIENT_X 32 #define MAP_CLIENT_Y 32 @@ -214,6 +194,14 @@ #define MAX_TIME 120000 +/* + * MAX_ITEM_PER_ACTION defines how many items a player can drop/take etc. at once. + * (be careful to set this to high values, as dropping lots of things + * can be a performance problem (for which a fix is worked on)). + */ + +#define MAX_ITEM_PER_ACTION 100 + /* Polymorph as it currently stands is unbalancing, so by default * we have it disabled. It can be enabled and it works, but * it can be abused in various ways. @@ -229,15 +217,15 @@ /* * The PERM_EXP values adjust the behaviour of permenent experience. - if - * the setting permanent_experience_percentage is zero, these values have - * no meaning. The value in the settings file is the percentage of the + * the setting permanent_experience_percentage is zero, these values have + * no meaning. The value in the settings file is the percentage of the * experience that is permenent, the rest could be lost on death. When dying, * the greatest amount of non-permenent exp it is possible to lose at one time - * is PERM_EXP_MAX_LOSS_RATIO - this is calculated as - * total exp - perm exp * loss ratio. The gain ratio is how much of experienced - * experience goes to the permanent value. This does not detract from total - * exp gain (ie, if you gained 100 exp, 100 would go to the skill total and - * 10 to the permanent value). + * is PERM_EXP_MAX_LOSS_RATIO - this is calculated as + * total exp - perm exp * loss ratio. The gain ratio is how much of experienced + * experience goes to the permanent value. This does not detract from total + * exp gain (ie, if you gained 100 exp, 100 would go to the skill total and + * 10 to the permanent value). * * A few thoughts on these default value (by MSW) * gain ratio is pretty much meaningless until exp has been lost, as until @@ -253,54 +241,6 @@ #define PERM_EXP_GAIN_RATIO 0.10f #define PERM_EXP_MAX_LOSS_RATIO 0.50f -/* Enable the new material code - it needs some work. You can - * enable this, and things will work, just you'll see a whole - * bunch more materials show up, and thus a whole bunch more materials - * in your inventory, and the sorting for them isn't really good. - */ - -/* -#define NEW_MATERIAL_CODE -*/ - -/*********************************************************************** - * SECTION 2 - Machine/Compiler specific stuff. - * - * Short list of items: - * COMPRESS_SUFFIX - selection of compression programs - * O_NDELAY - If you don't have O_NDELAY, uncomment it. - * - ***********************************************************************/ - -/* - * If you compress your files to save space, set the COMPRESS_SUFFIX below - * to the compression suffix you want (.Z, .gz, .bz2). The autoconf - * should already find the program to use. If you set the suffix to - * something that autoconf did not find, you are likely to have serious - * problems, so make sure you have the appropriate compression tool installed - * before you set this. You can look at the autoconf.h file to see - * what compression tools it found (search for COMPRESS). - * Note that this is used when saving files. Crossfire will search all - * methods when loading a file to see if it finds a match - */ - -#ifndef COMPRESS_SUFFIX -/* #define COMPRESS_SUFFIX ".Z" */ -#endif - -/* If you get a complaint about O_NDELAY not being known/undefined, try - * uncommenting this. - * This may cause problems - O_NONBLOCK will return -1 on blocking writes - * and set error to EAGAIN. O_NDELAY returns 0. This is only if no bytes - * can be written - otherwise, the number of bytes written will be returned - * for both modes. - */ - -/* -#define O_NDELAY O_NONBLOCK -*/ - - /*********************************************************************** * Section 3 * @@ -310,14 +250,11 @@ * * Values: * - * BANFILE - ban certain users/hosts. - * CSPORT - port to use for new client/server * DMFILE - file with dm/wizard access lists * LOGFILE - where to log if using -daemon option * MAP_ - various map timeout and swapping parameters * MAX_OBJECTS - how many objects to keep in memory. * MAX_OBJECTS_LWM - only swap maps out if below that value - * MOTD - message of the day - printed each time someone joins the game * PERM_FILE - limit play times * SHUTDOWN - used when shutting down the server * SOCKETBUFSIZE - size of buffer used internally by the server for storing @@ -328,20 +265,6 @@ */ /* - * BANFILE - file used to ban certain sites from playing. See the example - * ban_file for examples. - */ -#ifndef BANFILE -#define BANFILE "ban_file" -#endif - -/* CSPORT is the port used for the new client/server code. Change - * if desired. Only of relevance if ERIC_SERVER is set above - */ -#define CSPORT 13327 /* old port + 1 */ - - -/* * DMFILE * A file containing valid names that can be dm, one on each line. See * example dm_file for syntax help. @@ -350,23 +273,14 @@ #define DMFILE "dm_file" #endif - /* LOGFILE specifies which file to log to when playing with the * -daemon option. */ #ifndef LOGFILE -#define LOGFILE "/var/log/crossfire/logfile" +#define LOGFILE "/var/log/deliantra/logfile" #endif /* - * If you want to have a Message Of The Day file, define MOTD to be - * the file with the message. If the file doesn't exist or if it - * is empty, no message will be displayed. - * (It resides in the CONFDIR directory) - */ -#define MOTD "motd" - -/* * You can restrict playing in certain times by creating a PERMIT_FILE * in CONFDIR. See the sample for usage notes. */ @@ -382,7 +296,6 @@ #define SHUTDOWN_FILE "shutdown" #endif - /* * SOCKETBUFSIZE is the size of the buffer used internally by the server for * storing backlogged messages for the client. This is not operating system @@ -390,7 +303,7 @@ * This buffer is in addition to OS buffers, so it may not need to be very * large. When the OS buffer and this buffer is exhausted, the server * will drop the client connection for falling too far behind. So if - * you have very slow client connections, a larger value may be + * you have very slow client connections, a larger value may be * warranted. */ #define SOCKETBUFSIZE 256*1024 @@ -401,8 +314,7 @@ */ #define TMPDIR "tmp" - -/* Directory to use for unique items. This is placed into the 'lib' +/* Directory to use for unique items. This is placed into the 'lib' * directory. Changing this will cause any old unique items file * not to be used. */ @@ -412,16 +324,7 @@ * These defines tells where, relative to LIBDIR, the maps, the map-index, * archetypes highscore and treaures files and directories can be found. */ - #define MAPDIR "maps" -#define TEMPLATE_DIR "template-maps" -#define ARCHETYPES "archetypes" -#define REGIONS "regions" -#define HIGHSCORE "highscore" -#define TREASURES "treasures" -#define BANISHFILE "banish_file" - -#define HIGHSCORE_LENGTH 1000 /* How many entries there are room for */ #define MAXSTRING 20 @@ -468,38 +371,6 @@ #define SAVE_DIR_MODE 0770 /* - * AUTOSAVE saves the player every AUTOSAVE ticks. A value of - * 5000 with MAX_TIME set at 120,000 means that the player will be - * saved every 10 minutes. Some effort should probably be made to - * spread out these saves, but that might be more effort than it is - * worth (Depending on the spacing, if enough players log on, the spacing - * may not be large enough to save all of them.) As it is now, it will - * just set the base tick of when they log on, which should keep the - * saves pretty well spread out (in a fairly random fashion.) - */ - -#define AUTOSAVE 1000 - -/* RESET_LOCATION_TIME is the number of seconds that must elapse before - * we will return the player to his savebed location. If this is zero, - * this feature is disabled (player will resume where ever he was - * when he last logged off). If this is set to less than two hours, - * it will prevent players from camping out in treasure rooms. - * Do not comment this out - it must be set to something - if you - * comment this out, the program will not compile. - * - * This will work to BACKUP_SAVE_AT_HOME at home above, but where the player - * where appear under what conditions is a little complicated depending - * on how the player exited the game. But if the elapsed time is greater than - * the value below, player will always get returned to savebed location - * location. - * - * Set to one hour as default - */ - -#define RESET_LOCATION_TIME 3600 - -/* * The message to send to clients when the server calls cleanup (on crash, shutdown, restart and so on). */ #define CLEANUP_MESSAGE "The server will likely restart within the minute. Our apologies."