|
Changelog for the ZDaemon 1.06 -> 1.07 transition ================================================= 1. Point 01 release (May 8, 2004) ----------------------------------------------------------------------- 1. Fixed a problem in the win32 version of the server where the admin could not change the dmflags/dmflags2 values from the GUI. 2. Fixed a server problem where a player's disconnection was not "clean" if he was kicked out of the game for any reason. 3. Fixed a server problem where the red/blue keycards would not work properly in coop mode; the bug was introduced by the CTF code. 4. Fixed a server problem where it would kick people out upon connection with a turbo message. 5. Improved a bit the display of the "players" command on the server to show the IP address of each player. 6. Fixed a minor server bug introduced by the CTF mode where the key cards would appear in DM mode (it was actually harmless). 7. Fixed a server problem where the keycards appeared in Team DM mode (they shouldn't), they couldn't be picked up (as if the player had them already) but they didn't work (as if he didn't have them). 8. Fixed the speedcheck problem on the server. 9. Closed a security hole where some special packets could crash the server. 10. Removed some server memory leaks that would happen on each player connection. 11. Cleaned up a bit the server net code. 12. Fixed an "SZ_GetSpace: overflow" message that would sometimes appear on the server; it would cause some packets to get lost. 13. Removed the MessageBox() function calls from the Win32 GUI version of the server to facilitate automatic restarts. 14. Improved the "thing" spawning algorithm to considerably decrease the CPU consumption of the server. 2. Point 02 release (June 3, 2004) ----------------------------------------------------------------------- 1. Added some precautions in the server to avoid experience counting when bots are present during a game and also disabled the logging of frags in the frag and weapon logs when either the killer or the victim is a bot. 3. Point 03 release (July 4, 2004) ----------------------------------------------------------------------- 1. Added some code in the server to detect a rare condition when its internal clock is going haywire. This can result in a DDOS to the master. If this happens, the server appends an entry to the "zserv.crashlog" file and crashes (intentionally). In most cases, it will be automatically restarted by the usual zserv monitoring scripts run by server admins. 2. If the master_advertise flag is on, the server enforces a chat spam limit of 3 messages per 10 seconds. 3. The "SZ_GetSpace: overflow" sometimes still appears on the server; added more checks to avoid it. 4. Point 04 release (July 15, 2004) ----------------------------------------------------------------------- 1. Improved the net code in terms of CPU efficiency. 2. Fixed the crashes of the win32 version of the server (thx a million bond) 3. Fixed the log problem with the L@P servers. 4. Forced the default directory in zsmon to be the one containing the executable. 5. New dmflags2 for Preferred Weapon Order and Display of target names. 6. The server determines the country of each player and transmits it to the launcher and client. 7. Implemented a global ban list without going through the file system. 8. Added a ban refresh command that will be accepted only if sent by the master. 9. Decoupled most loops in the server from the MAXPLAYERS compile time constant. The loops now go from 0 up to the last client which should result in lower cpu usage; another result is that it will be quite easier to increase MAXPLAYERS without worrying as much about cpu usage. 5. Point 05 release (July 27, 2004) ----------------------------------------------------------------------- 1. Added a "minplayers" variable in zserv.cfg; it forces bots to be automatically added / removed as humans join / disconnect in order to maintain a minimum desired number of players. 2. Added a "removebotswhenhumans" variable in zserv.cfg; it applies when minplayers>2 and a second human enters the game; in that case, if "removebotswhenhumans" is greater than zero, then all bots get removed automatically. If "removebotswhenhumans" is zero, then the normal meaning of "minplayers" is effective. 3. Added an "nbots" cmd. line parameter for desired number of bots. 4. Fixed an old bot bug: if the last added bot had an id of zero (eg., if you added a bot to the server and then someone connected), then the bot would not move at all. Also enabled bots to view all around (all the time) to make them a bit tougher. THIS MUST BE DONE ON THE CLIENT TOO FOR SP. 5. Added a watchdog thread on the server to detect infinite loops; if such a condition is detected, the server appends an entry to the "zserv.crashlog" file and crashes (intentionally). In most cases, it will be automatically restarted by the usual zserv monitoring scripts run by server admins. 6. Fixed an old connection bug that would manifest itself when bots were present on the server. It would screw up the connection and then many weird things could happen (eg., server crash, the player appearing as a bot, a no camera problem, etc.) 7. Fixed another bug where spectators disabled certain spawn points when the "respawn farthest" dmflag was used. THIS MUST BE DONE ON THE CLIENT TOO FOR SP. 8. Fixed a bug in the coop respawn algorithm. THIS MUST BE DONE ON THE CLIENT TOO FOR SP. 9. Avoid spawning decals and splashes on the server; they are useless, slow the server down and produce memory leaks. 10. Improved the network handling of non-moving things. 11. Improved the both roaming by making them ignore items they already have (eg., weapons/armor/health). THIS MUST BE DONE ON THE CLIENT TOO FOR SP. 12. Improved the respawn farthest policy: there is a new cvar in zserv.cfg called "farthestalpha". It can range between -100 and +100, with +100 being the default. It introduces a controled amount of randomness into the farthest selection policy. If it's equal to -100, then the respawn selection if completely random (identical to not using farthest respawn). If it's equal to +100, then the respawn selection is completely non-random: it will always use the farthest respawn point (identical to what we've been using so far). Values in-between those two extremes let us finetune the desired amount of randomness. THIS MUST BE DONE ON THE CLIENT TOO FOR SP. 13. Added bot chat and taunts; bots talk on the following events: 1. Entry 2. End of level and they're at first place 3. End of level and they're at the bottom 4. End of level and they're in the middle 5. When they frag someone For each event there is a probability of talking (so they will not talk for example on each frag), as well as a fairly large set of strings from which they choose at random. Right now all this stuff is hardcoded; later, we'll place this info into the bots.cfg file for better bot customization. THIS MUST BE DONE ON THE CLIENT TOO FOR SP. 6. Point 06 release (August 1, 2004) ----------------------------------------------------------------------- 1. Added 2 new events for bot chat: 1. Suicide 2. Death by BFG 2. Enabled the chat probabilities to be adjustable from bots.cfg. 3. Also enabled a "global section" inside bots.cfg for values that should apply by default to all bots in the file. Simply specify the desired attribute in the beginning of the file outside of any braces ( { } ). 4. Fixed a small bug about lead tracking when bots enter / leave. 5. Fixed a no-camera problem on the client when a spied upon bot was removed. 7. Point 07 release (August 15, 2004) ----------------------------------------------------------------------- 1. Updated the country database in the server 2. Fixed a problem on the server where it would not fetch the ban list under certain (rare) circumstances. 8. Point 08 release (November 28, 2004) ----------------------------------------------------------------------- 1. Updated the country database in the server 2. Fixed a problem where the server would not fetch the global ban list if it grew beyond 1500 bytes. 3. After lots of testing, settled for a default value of 10 for the farthestalpha cvar. 4. Fixed the freelook problem (centerview command was hosed) 5. Fixed various compatibility problems on the server to compile under gcc 3.4 6. Added the display of rank / spread info on the client; also added an option to turn the display on/off. 7. The client now keeps accurate track about who is a bot and who is human. It also avoids displaying ping values for bots on the scores screen. 8. Extended the chat_block/chat_unblock/chat_toggle commands to accept a new parameter ("bots"). So you can type for example: chat_block bots to turn off all bot chatter. 9. Added an option to display bots using a different skin; this is useful for mixed bots/humans games. For now, this requires some support from the server side as well (as the bot skin is in the file zbot1.wad); when 1.07 is out, we'll put the skin inside zdaemon.wad 10. Fixed an old problem with blinking player skins if someone was using a skin and you had turned off the "client skins" option. The fix also reduces the CPU utization on the client. 11. Added the display of the time and score limits on the scores screen for DM games. 12. The server now avoids sending a teleport spawn when someone connects (and is a spectator); the client now detects this case and plays the admin/chat sound. 13. Fixed the camera problem when viewing demos and the watched player is fragged. 14. Fixed another demo viewing / spying problem with respect to multi- kill and spreee messages. They are now displayed properly according to the player that you're watching at the moment. 15. Fixed a problem where any entries in a WAD were placed into a separate namespace (and effectively disabled) if there was a skin inside the WAD. 7. 1.07rc1 release (June 9, 2005) ----------------------------------------------------------------------- Far too many to list. Many OS improvements by Dash, other bug fixes by Danni and Kilgore, LAN advertizing, etc. 8. 1.07rc2 release (July 7, 2005) ----------------------------------------------------------------------- 1. Brought back the old scoreboards (with an option to use them) 2. Added a DMFLAG about OS Vertical (Z) movement. 3. Fixed a server problem about the player position update frequency; it made the game quite choppy. 4. Fixed a width problem in the heretic menus. 5. Added an option to show remaining time on the main screen. 6. Minor adjustment to the OS speed 7. Added an optional background to the new scoreboards. The brightness and opacity of the background are user-adjustable. 8. Fixed a problem with the rank/spread info overlapping the HUD in some cases. 9. Got rid of the "hud_scale" cvar. The "st_scale" (scale status bar) cvar is now used for that. The advantage is that you can scale both status bar and HUD with a single cvar and there is already a GUI for that. 10. The rank/spread info now obeys the st_scale cvar so it fits better (visually) with the rest of the HUD. 11. Fixed the railgun firing in client/server mode. 12. Removed the "-host", "-join", "-net", "-dup", "extratick" command line params. from the client. They are ZDoom specific; they don't apply to ZDaemon. 13. Expanded the "Silent weapon pickup" DMFLAG; now it is "Silent weapon/item pickup". As such, any health, armor, ammo, etc. pickups by player X are not heard by player Y when this flag is on. 14. Blocked the "noise" command in client/server mode. Also made sure "movebob" and "stillbob" range from 0 up to 0.25 in client/ server mode. 15. Extended the "Respawn super" DMFLAG to cover all 4 spheres; not just Invulnerability and Invisibility. 16. Added a new DMFLAG to block the spawning of the spheres. 17. Added a new DMFLAG to disable crosshairs. 18. Enabled the Team DM mode to use teamstarts if available in the map. If no teamstarts are in the map, then dmstarts are used (which means that we can still use any DM map for TDM). A similar thing applies to CTF; if for example there are no teamstarts in the map, then dmstarts will be used. 19. Added logic to avoid flag spawning unless valid for the given mode and maxteams. This means that we can use CTF maps for TDM too, or 4-team CTF maps for 2-team CTF, etc. 20. Made the new CTF map convention the "standard" one; added a new DMFLAG to enable backwards compatibility with the method we used in 1.06. This should give map authors enough time to convert the maps to the new standard. This compatibility flag is deprecated and will be removed after some time (most probably in 1.08). 21. In team modes, spectators can/will use any teamstart or dmstart; this means that CTF map authors don't have to include both kinds of starts in the map. 22. Improved compatibility with ST CTF maps; several ST-specific items are automatically converted to standard ones (eg., minigun -> chaingun, BFG10K -> BFG9000, etc). The conversion is (and cannot be) perfect; it's mostly an aid to map authors and developers. 23. Added a DMFLAG about spawning cards/keys in team modes; when it's on, the cards/keys spawn in the map and the players do NOT have any cards/keys automatically. 24. Added a DMFLAG to automatically give cards/keys to players in team modes according to their team. The correspondence is: red team -> red card blue team -> blue card green team -> red skullkey white team -> blue skullkey When this DMFLAG is on, all team players get the appropriate key/card on spawn, and the above 4 cards / keys do NOT spawn in the map. This means that the map authors can designate several areas as available only to members of a specific team. The map author can also use the yellow card or key; they will spawn normally in the map and they will be there for the taking by any team member. 25. Launcher: gold->white team 26. Launcher: new dmflags etc in sp launcher 27. Launcher: adjustment of OS definition for the golden bullets 28. Launcher: added support for Freedoom and FreeDM for SP and demos. 29. The program now adjusts the plasma radius depending on the OS Speed dmflag 30. New connection sound (thx to Mogul) 31. Added volume control for chat and team chat 32. zsadm: added system status command. 33. java applet: maxteams in ctf, no fraglimit in coop or ctf, support for more iwads, maxplayersperteam, minplayers, master_advertise, removebotswhenhumans, autoreset, speed_check, new dmflags, numeric flags. 34. Added Chiphead's rcon fix 35. Fixed a bug with the mousewheel allowing faster than normal weapon switching. 36. Added a "switchtoempty" cvar to allow switching to empty weapon 37. Implemented Preferred Weapon Order (PWO) (thx to Jtoxification) The "neverswitchonpickup" cvar has been replaced by a new cvar called "pickup_switch_method". It can be zero (always switch as in normal doom), one (never switch), or two (switch according to the PWO). 38. Added "getpwo" and "setpwo" console commands to facilitate the adjustment of PWO from macros. 39. Added a "nextprevpwo" cvar that determines whether the PWO applies to the "weapnext" and "weapprev" commands. 40. Added an OS weapon switching DMFLAG that disables neverswitch and PWO, and enables switching to empty. 41. Added a "weapbest" command that switches scans the weapons you have and switches to the one with the highest priority. 1.07 release (July 11, 2005) ----------------------------------------------------------------------- 1. Restored the "Respawn super" DMFLAG to its traditional meaning in order to avoid disturbing OS rules. The importance of the dmflag is not that high anyway (for non-OS setups), since we have the other dmflag that blocks all spheres from spawning in the first place. 2. The program now obeys the dehacked MaxHealth statement (thx to excelblue). 3. Fixed a problem with playing 1.06 CTF demos; the program now turns on the CTF compatibility dmflag automatically when playing such demos. 4. Fixed a problem with teleport fog and sound missing sometimes upon respawn. 5. Fixed a problem in the server autoresetting logic when a spectator disconnected. 6. Fixed a bug in the enforcement of the pickup_switch_method. 7. Improved the PWO dialog; when you change a weapon, the weapons selected above it are not affected (ie., you're allowed to select a weapon only from those under the given weapon). This simplifies the weapon selection a lot: you simply start from the top and move your way down. |