--- deliantra/server/include/config.h 2007/01/02 11:08:36 1.33 +++ deliantra/server/include/config.h 2008/05/06 16:55:25 1.50 @@ -1,25 +1,25 @@ /* - CrossFire, A Multiplayer game for X-windows - - 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 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 - 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 -*/ + * This file is part of Deliantra, the Roguelike Realtime MMORPG. + * + * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team + * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team + * Copyright (©) 1992,2007 Frank Tore Johansen + * + * Deliantra 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 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 + * 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, see . + * + * The authors can be reached via e-mail to + */ /* This file contains various #defines that select various options. * Some may not be desirable, and some just may not work. @@ -62,7 +62,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 @@ -73,16 +72,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 @@ -132,14 +125,12 @@ #define SPELLPOINT_LEVEL_DEPEND TRUE #define SPELL_ENCUMBRANCE TRUE #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 ARMOR_MAX_ENCHANT 5 #define ARMOR_WEIGHT_REDUCTION 10 @@ -150,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 @@ -213,6 +193,15 @@ #define MAX_TIME 120000 + +/* + * MAX_ITEM_PER_DROP defines how many items a player can drop 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_DROP 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. @@ -252,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 * @@ -309,7 +250,6 @@ * * 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 @@ -326,20 +266,11 @@ *********************************************************************** */ -/* - * 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 @@ -349,7 +280,6 @@ #define DMFILE "dm_file" #endif - /* LOGFILE specifies which file to log to when playing with the * -daemon option. */ @@ -381,7 +311,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 @@ -400,7 +329,6 @@ */ #define TMPDIR "tmp" - /* 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. @@ -418,11 +346,9 @@ #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 ARCHTABLE 16384 /* Arch hashtable size */ #define MAXSTRING 20 #define COMMAND_HASH_SIZE 107 /* If you change this, delete all characters :) */ @@ -449,7 +375,7 @@ */ #ifndef PLAYERDIR -#define PLAYERDIR "players" +# define PLAYERDIR "players" #endif /* @@ -468,34 +394,7 @@ #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 + * The message to send to clients when the server calls cleanup (on crash, shutdown, restart and so on). */ - -#define RESET_LOCATION_TIME 3600 +#define CLEANUP_MESSAGE "The server will likely restart within the minute. Our apologies."