Version history: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 20: Line 20:
| [http://zandronum.com/downloads/zandronum2.1.2-linux-x86_64.tar.bz2 x86_64]
| [http://zandronum.com/downloads/zandronum2.1.2-linux-x86_64.tar.bz2 x86_64]
| [http://zandronum.com/downloads/zandronum2.1.2-macosx.dmg Installer]
| [http://zandronum.com/downloads/zandronum2.1.2-macosx.dmg Installer]
| [https://csnxs.uk/archive/id/doom/sourceports/zandronum/builds/freebsd/zandronum-server-freebsd-i386-2.1.2.txz i386 server]*
| [http://zandronum.com/downloads/unofficial/zandronum2.1.2-server-freebsd-x86.txz i386 server]*
| [https://csnxs.uk/archive/id/doom/sourceports/zandronum/builds/freebsd/zandronum-server-freebsd-x86_64-2.1.2.txz x86_64 server]*
| [http://zandronum.com/downloads/unofficial/zandronum2.1.2-server-freebsd-x86_64.txz x86_64 server]*
| <code>ZA_2.1.2</code>
| <code>ZA_2.1.2</code>
|-
|-
Line 81: Line 81:
| [http://zandronum.com/downloads/zandronum1.2.1-macosx.dmg Installer]
| [http://zandronum.com/downloads/zandronum1.2.1-macosx.dmg Installer]
|
|
|
| [http://zandronum.com/downloads/zandronum1.2.2-freebsd-x64.tar.bz2 x86_64 server]
| <code>ZA_1.2.1</code>
| <code>ZA_1.2.1</code>
|-
|-
Line 93: Line 93:
| [http://zandronum.com/downloads/zandronum1.2-macosx.dmg Installer]
| [http://zandronum.com/downloads/zandronum1.2-macosx.dmg Installer]
|
|
|
| [http://zandronum.com/downloads/zandronum1.2-freebsd-x64.tar.bz2 x86_64 server]
| <code>ZA_1.2</code>
| <code>ZA_1.2</code>
|-
|-
Line 102: Line 102:
| [http://zandronum.com/downloads/zandronum1.1-win32-base.zip Zip]
| [http://zandronum.com/downloads/zandronum1.1-win32-base.zip Zip]
| [http://zandronum.com/downloads/zandronum1.1-linux-x86.tar.bz2 x86]
| [http://zandronum.com/downloads/zandronum1.1-linux-x86.tar.bz2 x86]
| [http://zandronum.com/downloads/zandronum1.1-linux-x86_64.tar.bz2 x86_64]
| [http://zandronum.com/downloads/zandronum1.1-linux-x86_64.tar.bz2 x86_64 server]
| [http://zandronum.com/downloads/zandronum1.1-macosx.dmg Installer]
| [http://zandronum.com/downloads/zandronum1.1-macosx.dmg Installer]
|
|
Line 117: Line 117:
| [http://zandronum.com/downloads/zandronum1.0-macosx.dmg Installer]
| [http://zandronum.com/downloads/zandronum1.0-macosx.dmg Installer]
|
|
|
| [http://zandronum.com/downloads/zandronum1.0-freebsd-x64.tar.bz2 x86_64 server]
| <code>ZA_1.0</code>
| <code>ZA_1.0</code>
|-
|-
Line 202: Line 202:


== Changelogs ==
== Changelogs ==
=== 2.1.2 ===
=== Development ===
'''Note:''' Because the versions under this section are still undergoing development, these changelogs might be slightly outdated. It's best to keep up to date via the #zatesting channel on [[IRC]] or checking the history file in the source repository time to time.
 
==== 3.0 ====
* Updated Zandronum's (G)ZDoom base to ZDoom 2.8pre-441-g458e1b1 / GZDoom 1.8.6. [Torr Samaho]
* Rewrote support for preferred weapon order. Weapon info is now automatically looked up, the ORDERDEF lump has been removed. [Dusk]
* Generalized the rune system. Any rune can be used as a powerup (including spread, prosperity and reflection, which are now available as powerups), and any powerup can be used as a rune. [Dusk]
* Added NamedRequestScriptPuke, named variant of RequestScriptPuke. The two functions can now take 1-5 parameters, thus supporting 4 script arguments. [Dusk]
* Added ACS time and date access functions SystemTime(), GetTimeProperty and Strftime(). The return value of SystemTime() may be overridden by the user with the new CCMD acstime. [Dusk]
* Quad-buffered stereo / 3D Vision support can now be toggled with the new CVAR gl_quadbufferedstereo (default false). [Torr Samaho]
* The warp cheat now works online and can be used by spectators even if sv_cheats is false. [Dusk]
* Being banned from a server now shows the server's contact email address. Being masterbanned now shows a clearer message that directs to the forums. [Dusk]
* Players' positions in the join queue are now rendered on the scoreboard. [Dusk]
* The internal server browser now automatically loads the wads of the selected server when joining. For this, all wads need to be in a place where they can be found with the '-file' command line option. In the browser menu, the left and right keys allow to scroll through the list of filtered servers. [Torr Samaho]
* The 'Join the game' command key used by spectators is now customizable in the 'Customize Controls' menu. [Edward-san, Dusk]
* The default 'authhostname' CVAR has been changed to the official zandronum game authentication server ( auth.zandronum.com:16666 ). [AlexMax, Edward-san]
* BOTINFO now allows to define more than 128 bots. [Torr Samaho]
* Chat now features a movable cursor, allowing text insertion/deletion from elsewhere than just the end. [Dusk]
* Chat preview is now rendered on multiple lines, if necessary. [Dusk]
* Chat now remembers the ten previously sent messages that can be brought up with up/down arrow keys. [Dusk]
* Chat can now tab complete player names. [Dusk]
* Clients' account names are now visible in the output of CCMD "playerinfo", unless the player hides it with the new CVar cl_hideaccount. The server can always see the accountname from playerinfo. [Dusk]
* Added a mechanism to safe login credentials under Windows using the Windows Credential Manager aka Windows Vault. The credentials can be stored using the new CCMD 'login_add'. A default user name can be specified with the new CVAR 'login_default_user'. [Torr Samaho]
* Fixed: Newly connecting clients were not properly informed about the secrets that were already revealed. [Torr Samaho]
* Fixed: Resurrect cheat didn't work online. [Dusk]
* Fixed: Turbo cheat didn't work online. [Dusk]
* Fixed: Kill [class] cheat didn't work online. The kill monsters cheat can also be used by clients if sv_cheats is true. The server can use the kill [class] cheat anytime, like with kill monsters. [Dusk]
* Fixed: Logfiles would sometimes contain timestamps in the middle of lines. [Dusk]
* sv_shotgunstart is now respected in non-cooperative gamemodes. [Dusk]
* Fixed: Take cheat didn't work online. [Dusk]
* Fixed: An invalid "winlimit hit" message would be displayed on map change in possession. [Dusk]
* Fixed: The internal server browser didn't list all of the compatible, available servers. [Torr Samaho]
* Fixed: A_CheckSight would not jump if a spectator was in the line of sight of the calling actor. [Dusk]
* Fixed: Using kick_idx, ignore_idx, unignore_idx, getip_idx, kickfromgame_idx and ban_idx with an invalid player index assumed a default of player 0. [Dusk]
* Fixed: SpawnDecal did not work online. [Dusk]
* Fixed: the 'take inventory' server command informed the clients by using the inventory class string instead of the much cheaper network id. Thanks to Siferah for spotting and reporting it. [Edward-san]
* Fixed: the 'spawn player' server command used 1 more byte than needed. [Edward-san]
* Fixed problems of the Doom status bar with high res font replacements. [Torr Samaho]
* Fixed: ACS function PlaySound did not work online. [Edward-san]
* Fixed: Bots on a large map may freeze the game. [Torr Samaho]
* Fixed: clients would play D'Sparil's attacks sound even when the attacks didn't start because there was no target to attack. [Edward-san]
* Fixed: clients weren't informed to play the heretic Knight attack sounds when it throws the axes. [Edward-san]
* Fixed: clients were told to play the 'poison cough' sound even when the poisoning by flechette didn't happen (for example because the player is invulnerable). [Edward-san]
* Fixed: clients were not informed correctly about the actors being in alert when another actor is hit by a dagger attack. [Edward-san]
* Fixed: clients would play the sounds from the world-activated ACS function ActivatorSound differently from offline. [Edward-san]
* Fixed: the server didn't inform the clients to not apply the DROPPED flag to level-spawned items which don't have it by default. [Edward-san]
* Fixed: clients were not informed correctly about the morphed player's morph style. [Edward-san]
* Fixed: clients were not informed to play the active sound of a PowerProtection powerup. [Edward-san]
* Fixed: clients couldn't hide the RaiseAlarm item released by dying NPC actors. [Edward-san]
* Fixed: clients were not informed correctly about actors being affected by A_NoBlocking invoked by an item pickup. [Edward-san]
* Fixed: HUDMessage messages weren't cleared on map resets. [Edward-san]
* Fixed: Player start types were selected based on the CVARs deathmatch and teamgame instead of the GAMEMODE flags DEATHMATCH and TEAMGAME. [Torr Samaho]
* Fixed: A titlemap run with gamemode cooperative and dead spectators was not started correctly. [Edward-san, Torr Samaho]
* Fixed: The ACS function ReplaceTextures didn't show an effect for clients already in the game. [Torr Samaho]
* Fixed: Certain code pointers like A_PlaySound didn't work on MorphFlash/UnMorphFlash online. [Torr Samaho]
* Fixed: Clients played the Archvile resurrect sound twice. [Edward-san]
* Fixed a network inconsistency with Archvile-like monsters which miss the Heal state and use A_VileChase to eventually resurrect the corpses. [Edward-san, Torr Samaho]
* Fixed: clients didn't handle properly resurrecting monsters in rare occurrences. [Edward-san]
* Fixed the wrong thingz positioning after an offline map reset. [Torr Samaho, Edward-san]
* Fixed: clients mispredicted NOGRAVITY things, attached to the ceiling, when pushed by something. [Edward-san]
* Changed: Spectators can now interact with gravity and use the fly/land commands. [Leonard]
* Save games now contain information about the renderer used to create the save. This allows to print a proper error message when an incompatible save is tried to be loaded. [Torr Samaho]
* Clients don't error out anymore when encountering a division by zero in a DECORATE expression. Instead, a one time warning is printed on the first occasion and the result is assumed to be zero. This is necessary since clients can encounter this in valid DECORATE code due to Zandronum's jump handling. [Torr Samaho]
* Changed the dmflags values to match the ZDoom values to resolve compatibility problems with the updated ZDoom base and future ZDoom updates. Launchers and config files need to be updated to account for this change. [Torr Samaho]
* Removed ping unlagged as gametic unlagged has superceded it. [Dusk]
* sv_nodrop is now a dmflag. [Dusk]
* Merged sv_nokill and sv_disallowsuicide into one dmflag with two names. [Dusk]
* The CVARINFO error message triggered when an existing CVAR in the ini conflicts with CVARINFO now instructs the user to clean the ini. [Torr Samaho]
* The server now displays the IP address of the player upon connection and disconnection in log messages. [Dusk]
* ZDoom changed the jumping physics in ZDoom SVN revisions 2238 and 2970. The old jumping behavior known from Skulltag can be restored with the new CVAR compat_skulltagjumping. [Torr Samaho]
* con_virtualwidth and con_virtualheight now default to 640 and 480, respectively. [Dusk]
* kickfromgame and kickfromgame_idx have been renamed to forcespec and forcespec_idx, respectively, though the old names still exist for compatibility with e.g. aliases. Same also with the ACS function KickFromGame, whose new name is ForceToSpectate.
* A new non-fatal 'Script Error' message will be printed if in a MAPINFO episode definition it's present either 'botskillname' or 'botskillpicname' but not 'botepisode'.
* The CVARs gl_render_things, gl_render_walls and gl_render_flats are now restricted to beta builds. [Torr Samaho]
 
==== 2.2 ====
'''Note:''' All changes in this version are also part of [[#3.0|3.0]].
 
* The coop info HUD now uses weapon tags. [Dusk]
* Fixed: The effects of the terminator sphere and the hellstone on a player were not properly stored in save games. [Torr Samaho]
* Fixed: SetPlayerProperty could still change certain flags on a spectator. [Leonard]
* Fixed: Changing the CVAR 'fullscreen' crashed the server. [Torr Samaho]
* Fixed: sv_sharekeys did not use actor tags properly anymore after the ZDoom update in 2.0. [Dusk]
* Fixed: Free spectate mode would crash the game. [Dusk]
* Fixed: The game could tick too fast after getting kicked. [Leonard]
* Fixed: The automap would render spectators other than the local player. The local player, if spectating, now won't be rendered either if the user spies on someone. [Dusk]
* Fixed: the server did not handle item givings and takings with amounts greater than 32767. [Edward-san]
* Fixed: Thing arguments were transmitted with 1 byte each instead of 4 bytes. [Dusk]
* Fixed inconsistent 'spectating' text draw when a dead spectator coop spies another player. [Edward-san]
* Fixed: Online clients trying to run an offline skirmish were not disconnected properly. [Edward-san]
* Fixed: A_SpawnFly's customized BrainFire-like fog actor parameter reproduced the wrong sound online. [Edward-san]
* Fixed: A_FadeTo did not work properly online. [Edward-san]
* Fixed: clients were not updated about the successful gauntlet lifesteal attacks from a player. [Edward-san]
* Fixed: clients ignored the customized sound argument of A_VileAttack. [Edward-san]
* Fixed display problems of the MOTD on the clients when the server sent an invalid string. [Torr Samaho]
* Fixed: The server didn't inform the clients about jumps made by A_CheckSight. [Torr Samaho]
* Fixed c/s sync problems on maps with more than 65535 sidedefs. [Torr Samaho]
* Fixed sidedef related problems with map resets on UDMF maps. [Torr Samaho]
* Fixed: Clients were not properly informed about the effects of SetAmmoCapacity after a changemap map change. [Torr Samaho]
* Fixed: sv_forcegldefaults 1 didn't cover gl_distfog changes. [Edward-san, Torr Samaho]
* Fixed: The ACS function SetMugshotState was not handled properly online. [Edward-san, Torr Samaho]
* Fixed: The player drowning code was not handled properly online. [Edward-san]
* Fixed: Clients did not receive the correct MaxAmount value for AmmoCapacity inventories if it was greater than 32767 after a map change. [Edward-san]
* Fixed: Server-to-client ACS script calls would corrupt arguments within the range [-128, -1]. [Dusk]
* Fixed: The client could change the value of sv_limitcommands for itself, allowing it to skip some sanity checks. [Dusk]
* Fixed: Player TIDs were not synced to newly connecting clients. [Dusk]
* Fixed: sv_forcegldefaults 1 didn't honor the MAPINFO lightmode option if present. [Edward-san]
* Fixed: Invisible and translucent map things lost their visual effect on map restarts and nightmare respawns. [Edward-san]
* Fixed: Boom-style generic ceilings did not cause texture changes properly online and were not reverted during a map reset. [Dusk, Torr Samaho]
* Fixed: When a player carrying the white flag died or disconnected, the white flag was spawned on the floor instead of the actual Z position of the player. [Edward-san]
* Fixed: Dying players with no lives left disappeared instantly if compat_instantrespawn was enabled. [Edward-san]
* The authentication mechanism for non-map related lumps now allows Freedoom 0.10/Doom clients to join Doom/Freedoom 0.10 servers. [Torr Samaho]
* Spectators may now move freely even when the game has ended and players are frozen in place. [Dusk]
* The "wrong protocol version" network error now shows the full server and client version. [Torr Samaho]
* Since the only purpose of the CVARs sv_useticbuffer and sv_limitcommands is for debug, they are now restricted to testing binaries. [Torr Samaho, Dusk]
* The player's yaw movement is locked if its speed is above 'SR40' (and angle changes are disregarded) on client and server. [Circunei Z, Hypnotoad]
* Joypad strafing movements are now capped at SR40 speed. [Leonard]
* Dropping is now allowed in competitive gamemodes, unless sv_nodrop explicitly disallows it. [Dusk]
 
=== Zandronum ===
==== 2.1.2 ====
* Fixed the remaining jitter and weapon sync problems caused by the client movement buffer. [Torr Samaho]
* Fixed the remaining jitter and weapon sync problems caused by the client movement buffer. [Torr Samaho]


=== 2.1.1 ===
==== 2.1.1 ====
* The client movement buffer now can be toggled with the new CVAR sv_useticbuffer (default true). [Torr Samaho]
* The client movement buffer now can be toggled with the new CVAR sv_useticbuffer (default true). [Torr Samaho]
* Fixed jittery player movement caused by the client movement buffer. [Torr Samaho]
* Fixed jittery player movement caused by the client movement buffer. [Torr Samaho]
Line 212: Line 332:
* Fixed: clients were not updated about the successful A_Saw lifesteal attacks from a player. [Edward-san]
* Fixed: clients were not updated about the successful A_Saw lifesteal attacks from a player. [Edward-san]


=== 2.1 ===
==== 2.1 ====
* The Zandronum server is now compatible with the Raspberry Pi (based on selected ZDoom backports), so far only tested with a Raspberry Pi 2 Model B. [Torr Samaho]
* The Zandronum server is now compatible with the Raspberry Pi (based on selected ZDoom backports), so far only tested with a Raspberry Pi 2 Model B. [Torr Samaho]
* Added support for ACS script numbers higher than 999. This is intended to increase compatibility with mods that worked in 1.3, but stopped working with 2.0. [Torr Samaho]
* Added support for ACS script numbers higher than 999. This is intended to increase compatibility with mods that worked in 1.3, but stopped working with 2.0. [Torr Samaho]
Line 248: Line 368:
* A map is now marked as used when entered instead of when exited in the rotation list. [Leonard, Torr Samaho]
* A map is now marked as used when entered instead of when exited in the rotation list. [Leonard, Torr Samaho]


=== 2.0 ===
==== 2.0 ====
* Updated Zandronum's (G)ZDoom base to ZDoom SVN revision 2560 / GZDoom SVN revision 900 [Torr Samaho]
* Updated Zandronum's (G)ZDoom base to ZDoom SVN revision 2560 / GZDoom SVN revision 900 [Torr Samaho]
* Added quad-buffered stereo / 3D Vision support to the GL renderer (minimal invasive implementation based on biospud's GZ3Doom). [Torr Samaho]
* Added quad-buffered stereo / 3D Vision support to the GL renderer (minimal invasive implementation based on biospud's GZ3Doom). [Torr Samaho]
Line 328: Line 448:
* Reduced the time interval between each join and each team switch to 3 seconds. [Edward-san]
* Reduced the time interval between each join and each team switch to 3 seconds. [Edward-san]


=== 1.3 ===
==== 1.3 ====
* Added persistent storage based on an SQLite3 database. The new CVAR databasefile controls where the database is saved (defaults to ":memory:", i.e. volatile in-memory database) and the new CVAR database_maxpagecount (defaults to 32768) controls the maximal allowed size in pages of the database. The new ACS functions allow mods to access the underlying database. [Torr Samaho]
* Added persistent storage based on an SQLite3 database. The new CVAR databasefile controls where the database is saved (defaults to ":memory:", i.e. volatile in-memory database) and the new CVAR database_maxpagecount (defaults to 32768) controls the maximal allowed size in pages of the database. The new ACS functions allow mods to access the underlying database. [Torr Samaho]
** void SetDBEntry ( string Namespace, string Key, int Value )
** void SetDBEntry ( string Namespace, string Key, int Value )
Line 433: Line 553:
* Changed the chat muting report: the server will inform the muted client how much time is left also in seconds. [Edward-san]
* Changed the chat muting report: the server will inform the muted client how much time is left also in seconds. [Edward-san]


=== 1.2.2 ===
==== 1.2.2 ====
* Fixed: The server reported to be using a testing build instead of a stable one. [Torr Samaho]
* Fixed: The server reported to be using a testing build instead of a stable one. [Torr Samaho]


=== 1.2.1 ===
==== 1.2.1 ====
* Fixed: A malformed packet could make the server kick the clients. Thanks to Konar6 for supplying a proof-of-concept exploit that allowed to debug the issue. [Torr Samaho]
* Fixed: A malformed packet could make the server kick the clients. Thanks to Konar6 for supplying a proof-of-concept exploit that allowed to debug the issue. [Torr Samaho]
* Fixed an exploit with color codes in player names (ported from Konar6's kpatch). [Torr Samaho]
* Fixed an exploit with color codes in player names (ported from Konar6's kpatch). [Torr Samaho]
Line 447: Line 567:
* The linux binaries are not compiled with -fno-stack-protector anymore. This was originally intended to increase compatibility with distros using older glibc versions but is not necessary anymore since the source is open. Thanks to AgentME for pointing this out. [Torr Samaho]
* The linux binaries are not compiled with -fno-stack-protector anymore. This was originally intended to increase compatibility with distros using older glibc versions but is not necessary anymore since the source is open. Thanks to AgentME for pointing this out. [Torr Samaho]


=== 1.2 ===
==== 1.2 ====
* Revamped the authentication error messages: The server now reports which kind of authentication failed (i.e. protected lump or map) and reports a list of all loaded PWADs including their md5 checksums. The client also automatically logs the corresponding local values which should make it much easier to pinpoint the cause of an authentication error. [Torr Samaho]
* Revamped the authentication error messages: The server now reports which kind of authentication failed (i.e. protected lump or map) and reports a list of all loaded PWADs including their md5 checksums. The client also automatically logs the corresponding local values which should make it much easier to pinpoint the cause of an authentication error. [Torr Samaho]
* Added compat_fullweaponlower to emulate vanilla without bundling it with another flag. [Water]
* Added compat_fullweaponlower to emulate vanilla without bundling it with another flag. [Water]
Line 461: Line 581:
* The commands "wait", "error", "error_fatal" and "crashout" can't be called by ConsoleCommand anymore. [Torr Samaho]  
* The commands "wait", "error", "error_fatal" and "crashout" can't be called by ConsoleCommand anymore. [Torr Samaho]  


=== 1.1.1 ===
==== 1.1.1 ====
* Fixed: The messages sent with ay_team were visible to players of the other teams. [Dusk, Torr Samaho]
* Fixed: The messages sent with ay_team were visible to players of the other teams. [Dusk, Torr Samaho]


=== 1.1 ===
==== 1.1 ====
* The authentication mechanism for non-map related lumps now allows Freedoom 0.8-beta1/Doom clients to join Doom/Freedoom 0.8-beta1 servers. [Torr Samaho]  
* The authentication mechanism for non-map related lumps now allows Freedoom 0.8-beta1/Doom clients to join Doom/Freedoom 0.8-beta1 servers. [Torr Samaho]  
* Added a menu option for gl_use_models. [Torr Samaho]  
* Added a menu option for gl_use_models. [Torr Samaho]  
Line 565: Line 685:
* Disabled G15 support by default, this fixes some problems with certain gaming mice. To re-enable G15 support, define USE_G15 in the compiler settings. [Torr Samaho]
* Disabled G15 support by default, this fixes some problems with certain gaming mice. To re-enable G15 support, define USE_G15 in the compiler settings. [Torr Samaho]


=== 1.0 ===
==== 1.0 ====
'''Note:''' This changelog is compared to Skulltag 98d.
'''Note:''' This changelog is compared to Skulltag 98d.