Jump to content

Version history: Difference between revisions

no edit summary
(Add changelogs for 2.1.x)
No edit summary
Line 235: Line 235:
* Railgun attacks no longer always pierce armor. The Skulltag railgun in skulltag_actors.pk3 continues to do so, however, through use of +PIERCEARMOR. [Dusk]
* Railgun attacks no longer always pierce armor. The Skulltag railgun in skulltag_actors.pk3 continues to do so, however, through use of +PIERCEARMOR. [Dusk]
* 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 ===
* 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 the OS used to the version string the server sends to the launchers (adapted form Konar6's kpatch). [Torr Samaho]
* When a banned client is prevented from connecting, the ban reason (if specified in the banlist) is logged to the server console (adapted form Konar6's kpatch). [Torr Samaho]
* Added a new compatflags cvar: compat_silentwestspawns, emulates Vanilla compatibility by not performing any spawnfog/sounds for west angled spawns. [Water, Edward-san]
* Added compat_maxbloodscalar which will enforce vanilla red screen damage as if the blood_fade_scalar was 1.0. [Water]
* Ported CVARINFO lump support and the ACS functions SetCVar, GetCVarString and SetCVarString from ZDoom. This includes support for CVars that are automatically synced between server and clients. User CVars are not support for now though. [Torr Samaho]
* Added domination and customteamgame to SBarInfo gamemode detection. [Blzut3]
* Added dmflag sv_unblockallies which is exactly like sv_unblockplayers except only unblocks ally players. [Dusk]
* The server can now advertise WADs as optional so long as said WADs are not necessary for clients to join. This is controlled with the new command-line option -optfile and the new preferoptionalwads CVar. Note: this is only a hint for server browsers! Authentication is and has always been lump-based and not WAD-based! [Dusk]
* Added support for Zandronum-specific gamemodes for the alternative HUD. [Dusk]
* Added CVAR sv_limitcommands which can be set to false to disable various flooding limits (allow constant suiciding, team changing, disable command flood auto-kick, etc). Should not be set to false in public servers. [Dusk]
* Added a Network Options menu which will contain all new network options. [Water, Torr Samaho]
* The authentication mechanism for non-map related lumps now allows Freedoom 0.9/Doom clients to join Doom/Freedoom 0.9 servers. [Torr Samaho]
* Significantly bandwidth-optimized server-to-client ACS_Execute (and friends) calls. Such a call now uses 9 to 21 bytes of bandwidth per client per call (depending on the size of arguments), instead of 22 to 29 bytes. [Dusk]
* Added cl_showspawns, which creates a particle fountain at active spawns. [Water, Torr Samaho]
* Added a decorate flag DONTIDENTIFYTARGET which prevents player identification from being done to the actor. [Water]
* Added CVAR compat_autoaim which restores vanilla autoaim, as there was a switch to autoaim filling in the gaps due to limited number of tracers from vanilla. [Water]
* Added CVAR cl_clientflags which controls both cl_unlagged and cl_respawnonfire to save bandwidth and make future booleans easier to transmit over the network. [Water, Torr Samaho]
* Added a menu entry to for the GZDoom HUD, i.e. CVAR hud_althud. [Torr Samaho]
* Added a CVAR (wi_autoscreenshot) to allow screenshots to automatically be taken upon entering the intermission screen. [Water, Torr Samaho]
* Added CVAR cl_clientsidepuffs which allows clients to predict puffs, which makes bullet puffs from hitscan weapons appear instantly. [Water, Torr Samaho]
* Added bloodsplatter effects to also be performed when cl_hitscandecalhack is set to true. [Water, Torr Samaho]
* The server now kicks its clients when it shuts down. [Dusk]
* Added support for RCON client tab-completion. This bumps the protocol version to 4, but clients using protocol 3 are still supported. [Dusk]
* The client movement buffer is now reordered based on the client's gametic information before the commands are processed. [Torr Samaho, Water]
* Added gametic unlagged which should perform better under varying net conditions compared to ping-based unlagged. [Water, AlexMax, Torr Samaho]
* An icon will be displayed in the scoreboard if you're in the console, similarly to chat. [Cata]
* Added new player pawn property Player.MaxSkinSizeFactor which allows customization of the limits used by skin size checking. Skins larger than hitbox size (radius * 2, height) times this factor are downsized to fit. Defaults to the original hardcoded values 3.44, 1.68. Setting either value to 0 disables the limit entirely. Made the warning message more descriptive and informative. [Dusk]
* Fixed problems when boss monsters were replaced by Randomspawners in game modes that use map resets, e.g. survival. [Torr Samaho]
* Fixed: Radius_Quake didn't work properly online if the duration was longer than 128 tics. [Torr Samaho]
* Fixed: Blocked poly object doors were not handled properly online. [Torr Samaho]
* Fixed: No longer can pick up team items in CTF or Skulltag after the round ends. [Water]
* Fixed: Monsters near the bottom of a ledge on a raising sector sometimes appeared as teleporting up on clients online. [Torr Samaho]
* Fixed: Light effects created by scripts weren't removed during a map reset. [Torr Samaho]
* Fixed: MAPINFO lumps were not protected. [Dusk]
* Fixed: Instant light fading was not updated on the client's side. [Water]
* Fixed: Frozen corpses were not properly cleaned up during the countdown phase, leading to unexpected behavior with player viewpoints. [Water, Torr Samaho]
* Trying to generate bot nodes on very large maps caused the game to crash. This should now be fixed at least on extremely large maps. Bots are disabled in this case. [Torr Samaho]
* Fixed: The crouched sprite wasn't displayed for skins enforced through Weapon.PreferredSkin if the player class had +NOSKIN. [Esum, Torr Samaho]
* Fixed: Player spawn height now is on the ground so any player starts in the air will not result in team telefragging unless all spawns are full. [Water, Torr Samaho]
* Fixed: Missiles with the +NOEXPLODEFLOOR flag desynced online. [Dusk]
* Fixed: A voodoo doll exiting the level would print a bogus " exited the level" message. [Dusk]
* Fixed: Reflection desync between client and server if it doesn't have a Doom/Hexen bouncetype property. [Water, Torr Samaho]
* Fixed a server crash related to the client movement buffer. [Torr Samaho]
* Fixed: SetFont() would 'leak' into other scripts online. [Dusk]
* Fixed: Spectators could not trigger allowed action specials with sectors. The only exceptions are the 'Use' and the 'UseWall' action triggers. [Edward-san, Torr Samaho]
* Fixed: The server did not inform the clients fully about the crush behavior of floors, ceilings and pillars. [Edward-san]
* Fixed: The server could crash the clients with malicious packets. [Torr Samaho]
* Fixed problems with the client side Z position prediction near ledges. [Torr Samaho]
* Fixed: a closing polyobject door made no sound online. [Dusk, Edward-san]
* Fixed: The server did not inform the clients correctly about the type of the door action, making the clients hear the wrong door sound. [Edward-san]
* Fixed: The client could potentially get HOMs while requesting a snapshot. [Leonard, Torr Samaho]
* Fixed: CVAR sv_unblockplayers now works with different species. [Leonard]
* Fixed: The scale of skins enforced through Weapon.PreferredSkin was ignored if the player class had +NOSKIN. [Torr Samaho]
* Fixed: In "teamgame" based game modes, friendly monsters didn't attack players of opposing teams unless provoked. [Torr Samaho]
* Fixed: If the packet with the end of a snapshot was dropped on a server with no active players, a client possibly waited forever for the snapshot to finish. [Torr Samaho]
* Fixed: The client didn't let bouncing missiles spawned by A_SpawnItemEx pass through the player who spawned the missiles. [Torr Samaho]
* Fixed: After a map change, items at player starts would be inadvertently removed. [Dusk]
* Fixed: CVAR cl_announcepickups didn't work in certain cases. [Leonard]
* Fixed: Custom attenuation values did not work online. [Dusk, Edward-san]
* Fixed: Rotating polyobjects did not stop on map resets. [Dusk, Edward-san]
* Fixed: Emulated multiplayer and multiplayer map changes broke random. [Torr Samaho, Edward-san]
* Fixed: Since Skulltag 98a, chat and announcer stopped producing sounds in game during Time Freeze and in intermission after map exiting while Time Freeze was on. [Edward-san]
* Fixed: Spectators could not use the 'Teleport_NoStop' action special. [Edward-san]
* Fixed: Under certain circumstances, the SKININFO parser didn't properly handle the sprite entry. [Torr Samaho]
* Fixed: The CCMD 'kickfromgame' and the ACS function 'KickFromGame' could not work offline. [Edward-san]
* Fixed: Spawn() and friends did not sync the spawned actor(s)'s tid to clients. [Dusk]
* Renamed compatflags2 to zacompatflags and moved all Zandronum/Skulltag exclusive compatflags from compatflags to zacompatflags to resolve compatibility problems with ZDoom updates. Launchers and config files need to be updated to account for this change. [Torr Samaho]
* Renamed dmflags3 to zadmflags, moved all Zandronum/Skulltag exclusive dmflags2 from dmflags2 to zadmflags and changed the remaining dmflags2 values to match the ZDoom values to resolve compatibility problems with future ZDoom updates. Launchers and config files need to be updated to account for this change. [Torr Samaho]
* Since ZDoom 2.5.0 (and thus Zandronum) doesn't support script numbers higher than 999, Zandronum now gracefully errors out when encountering a script with an invalid number instead of crashing randomly. [Torr Samaho]
* The Linux binaries can now be debugged with the zandronum.debug file, which is provided in a separated download. [Edward-san]
* Changed intermission proceeding to not rely on spectators if there is active players. [Water]
* The login server selected with authhostname needs to support version 2 of the login protocol. [Torr Samaho]
* Changed how a sentinel variable is handled which makes it much harder for clients to purposely drop packets, thus stopping a speed hack. [Water, Torr Samaho]
* Changed: Free spectators can now use the noclip cheat in demos. [Leonard]
* Changed the CTF flag height from 16 to 48, which will prevent players from clipping through them without picking them up on stairwells or uneven terrain. [Striker]
* Reduced the time interval between each join and each team switch to 3 seconds. [Edward-san]
=== 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]
** void SetDBEntry ( string Namespace, string Key, int Value )
** int GetDBEntry ( string Namespace, string Key ),
** void SetDBEntryString ( string Namespace, string Key, string Value )
** string GetDBEntryString (string Namespace, string Key )
** void IncrementDBEntry ( string Namespace, string Key, int Increment )
** int SortDBEntries ( string Namespace, int Limit, int Offset, bool Descending )
** int CountDBResults ( int Handle )
** void FreeDBResults ( int Handle )
** string GetDBResultKeyString ( int Handle, Index )
** string GetDBResultValueString ( int Handle, Index )
** int GetDBResultValue ( int Handle, Index )
** int GetDBEntryRank ( string Namespace, string Key, bool Descending )
** void BeginDBTransaction ( )
** void EndDBTransaction ( )
** int GetDBEntries ( string Namespace )
* Added the Zandronum side of an optional account system based on authentication with the Secure Remote Password (SRP) protocol, AlexMax is working on the login server (https://github.com/AlexMax/charonauth).
** The login server hostname can be specified with the new CVAR authhostname (masterhostname analog, port can be specified with ":port").
** The new CCMD login allows a client to authenticate with the auth server the server has selected with its authhostname setting.
** The new CVAR sv_forcelogintojoin (default false) can prevent unauthenticated players from joining the game (they can still connect as spectators).
** The new ACS functions "int PlayerIsLoggedIn( int Player )" and "string GetPlayerAccountName ( int Player )" allow mods to obtain information about the account of a player. [Torr Samaho]
* Added new dmflag sv_sharekeys. When enabled, any keys picked are shared between players. Also, players joining the game get the keys others have as well. [Dusk]
* The ACS commands TakeInventory, SetActorProperty (only for speed and gravity) and SetAmmoCapacity don't cause network traffic unless they actually make a change to the affected actor. [Torr Samaho]
* The text scaling scaling mechanism (controlled by con_scaletext, con_virtualwidth and con_virtualheight) now can use the aspect ratio of the screen instead of 4:3. The new behavior can be activated using a new option in the text scaling menu or with the new CVAR con_scaletext_usescreenratio. [Torr Samaho]
* The authentication mechanism for non-map related lumps now allows Freedoom 0.8/Doom clients to join Doom/Freedoom 0.8 servers. [Torr Samaho]
* Added a client movement buffer. Instead of processing all movement commands of a client immediately, they are stored in this buffer now. Each tic per client up to two commands in this buffer are processed. This way, players with an instable connection shouldn't appear as teleporting instead of moving to players with a stable connection. Note: This only changes how a player perceives the movement of other players. It has not effect on how a player perceives his own movement. [Torr Samaho]
* The mdk cheat command can now be used online in cheat servers. Unlike in ZDoom, it is also allowed in deathmatch modes. [Dusk]
* The noclip command for spectators is now client-sided for increased responsivity. [Dusk]
* Added new ACS command GetGamemodeState. The return values are GAMESTATE_UNSPECIFIED = -1, GAMESTATE_WAITFORPLAYERS = 0, GAMESTATE_COUNTDOWN = 1, GAMESTATE_INPROGRESS = 2 and GAMESTATE_INRESULTSEQUENCE = 3. [Torr Samaho]
* Added new CVAR sv_forcerandomclass. If this is true, all players use the random player class regardless of the class they selected. [Torr Samaho]
* Colored team names in exiting console messages and added extra console messages for CTF and Skulltag (scores, pickups, drops, etc.) (ported from Konar6's kpatch). [Torr Samaho]
* Added clientside CVAR cl_overrideplayercolors that overrides players' color translations. Allies will take the color of cl_allycolor and enemies the color of cl_enemycolor. These CVARs are white and black by default, respectively. cl_enemycolor is no-op when there are more than 2 teams, though cl_allycolor will still apply. [Dusk]
* Added new script type EVENT. By calling EVENT scripts the engine notifies a mod that a noteworthy event happened and also provides some information about the event using 'arg1' and 'arg2'. So far the following events are supported: [Torr Samaho, Water]
** GAMEEVENT_PLAYERFRAGS (player frags another player)
** GAMEEVENT_MEDALS (player receives a medal)
** GAMEEVENT_CAPTURES (player captures the flag/skull)
** GAMEEVENT_TOUCHES (player touches the flag/skull)
** GAMEEVENT_RETURNS (the flag/skull is returned)
** GAMEEVENT_ROUND_STARTS
** GAMEEVENT_ROUND_ENDS (the current round ends and the win sequence starts, e.g. when the fraglimit is hit)
** GAMEEVENT_ROUND_ABORTED  (the current round is ended prematurely, e.g. if all players leave the game)
* Added new CCMD: listmusic, which will list all the currently loaded music. [Water]
* Added settings to fine tune the PWO behavior (CVARs pwo_switchonsameweight and pwo_switchonunknown). [Circunei Z]
* Added a new cvar: lobby, which applies lobby characteristics to a single map lump. In addition, if a map is set as a lobby map via the cvar, it is returned to after every other map. The lobby map is also returned to if the server is empty for more than 30 seconds. [AlexMax]
* Added an alias for the islobby MAPINFO tag: lobby. [AlexMax]
* Both types of lobby maps (MAPINFO and cvar) now ignore timelimits. [AlexMax]
* Added new ACS function RequestScriptPuke which requests execution of the given script on the server. The function must only be called from CLIENTSIDE scripts the script executed must be NET. [Dusk]
* Announcer sounds for pickups now can be disabled with the new CVAR cl_announcepickups (default true) (patch by dark-slayer-201). [Torr Samaho]
* Added the new vote type "forcespec" that forces a player to spectate. It can be disabled with the new CVAR sv_noforcespecvote (default false). [Torr Samaho]
* Added a connect sound that is played when a player connects to the server as spectator. It can be disabled with the new CVAR cl_connectsound (default true). Kudos to Revilution for creating a sound for this. [Torr Samaho]
* Extended the vote kick protection for admins to include players logged into RCON (ported from Konar6's kpatch). [Torr Samaho]
* Fixed: The server didn't report when the master server notified the server that it's banned (ported from Konar6's kpatch). [Torr Samaho]
* Fixed: Blood actors (or anything else which do not use net IDs) within save games would crash the game upon loading. [Dusk]
* Fixed: Clients were not properly informed about the reset of moving non-door polyobjects during map resets. [Torr Samaho]
* Fixed: Using SetAmmoCapacity on an ammo type a player didn't have online caused the clients to assume that the player now has a small amount of this ammo type. [Torr Samaho]
* Fixed: The view was not centered in demos when the recording player released the mouse look button and lookspring was true. [Torr Samaho]
* Fixed: Players sometimes could jump up through solid 3D floors online when unlagged was on. [Torr Samaho]
* Fixed: A_CrusaderRefire did not work properly online, causing the Crusader to desync. [Dusk]
* Fixed: Strife's Flamethrower did not shake the player's view online. [Dusk]
* Fixed: The server would crash with join passwords longer than 64 characters. [Dusk]
* Fixed: Skins defined with SKININFO didn't work properly if the sprite entry was not set explicitly. [Torr Samaho]
* Fixed: Tampered clients could insert ASCII control characters into chat messages (e.g. line breaks) (ported from Konar6's kpatch). [Torr Samaho]
* Fixed: Strife's crossbow did not appear to use ammo on clients online. [Dusk]
* Fixed: Clients using endgame while attempting to connect would not terminate the connection attempt. [Dusk]
* Fixed: Telefregging shouldn't count towards awarding the Fisting and Spam medals (ported from Konar6's kpatch). [Torr Samaho]
* Fixed: Toggle crouch shouldn't reset when menu is activated during a netgame. [Jam]
* Fixed: Monsters would become "blind" if the player who awoke them by sound became a spectator. [Dusk]
* Fixed: When spawning more than 2 hellstaff rains in Heretic, the old ones would linger around on the client instead of disappearing. [Dusk]
* Fixed: The linetarget cheat now prints the actor's actual health value. [Dusk]
* Fixed: When a player turned into spectator the dynamic lights associated to the player's body were not removed. [Torr Samaho]
* Fixed: A_PoisonBagInit desyncs between the client and server. [Water]
* Fixed: Medals now show for who you are spectating instead of always your own. [Water]
* Fixed: The server possibly announced player disconnects for players that didn't fully connect. [Torr Samaho]
* Fixed: When a player is damaged, don't send useless inconsistent values of HP and Armor (100/100) to the clients if they're not allowed to see the real HP/Armor. [Edward-san]
* Fixed: Line_SetBlocking didn't work properly online. [Dusk]
* Fixed: A_GiveInventory and A_GiveToTarget didn't work on CLIENTSIDEONLY actors. [Torr Samaho]
* Fixed: "botdebug_walktest 1" caused the game to crash when the player was looking through the eyes of a non-player actor. [Torr Samaho]
* Fixed: turn180 did not work as a spectator. [Dusk]
* Fixed: Gravity was applied twice in one tic when running off a cliff with compat_123b33jumpphysics enabled when it shouldn't be. [AlexMax]
* Fixed: Some ordinals weren't written correctly in the spectator queue message. [Esum]
* Fixed: Non-interacting actors like map spots would have their TIDs reset to 0 on map resets. [Dusk]
* Fixed: The server didn't load the archived value of SERVERINFO CVARs (e.g. sv_smartaim). [Torr Samaho]
* Fixed: The chat length limit of 128s was not enforced online. [Dusk]
* Fixed: The server could erroneously show "FindStateLabelAndOffset" warnings. [Torr Samaho]
* Fixed: an opportune string could cause a buffer overflow while getting the address from a hostname. Thanks to kazzmir for reporting the vulnerability. [Edward-san]
* Fixed: +WEAPON.NOAUTOAIM did not disable horizontal autoaim with projectile weapons. [Dusk]
* Fixed: Monsters near the bottom of a ledge or fence sometimes appeared as teleporting up on clients online. [Torr Samaho]
* Changed huffman code from Hexen II's to that provided by Vortex Cortex. [Blzut3, Vortex Cortex]
* Changed the Offline Skirmish frag slider bar to go in intervals of 1 instead of 5. [Water]
* The CCMD playerinfo now distinguishes true spectators from in game players (ported from Konar6's kpatch). [Torr Samaho]
* Botscript rand() renamed to random() and now returns a value between min and max inclusive instead of leaving max out of the possibilities. Now is actually random and now swaps min and max if min is greater than max instead of throwing a runtime error. [Dusk]
* Medals are only awarded when the game has started (is not in countdown). [Water]
* If the map rotation is not empty, the server now prevents map/changemap votes to maps that are not in the rotation, regardless of whether of sv_maprotation is true. This allows the server to restrict these votes without enforcing the rotation itself, which would also enforce the order in which the maps are played (adapted from an old patch of TIHan). [Torr Samaho]
* Renamed compat_123b33jumpphysics to compat_oldzdoomzmovement, which is a more accurate description of what the flag actually does. [AlexMax]
* The server now ignores client ping packets that don't make sense. [Torr Samaho]
* The team selection menu now is kept in sync with the local player's team, unless it was set to random. [Dusk]
* Changed the chat muting report: the server will inform the muted client how much time is left also in seconds. [Edward-san]
* Medals are only awarded when the game has started (is not in countdown). [Water]
* If the map rotation is not empty, the server now prevents map/changemap votes to maps that are not in the rotation, regardless of whether of sv_maprotation is true. This allows the server to restrict these votes without enforcing the rotation itself, which would also enforce the order in which the maps are played (adapted from an old patch of TIHan). [Torr Samaho]
* Renamed compat_123b33jumpphysics to compat_oldzdoomzmovement, which is a more accurate description of what the flag actually does. [AlexMax]
* The server now ignores client ping packets that don't make sense. [Torr Samaho]
* The team selection menu now is kept in sync with the local player's team, unless it was set to random. [Dusk]
* 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 ===
* Fixed: The server reported to be using a testing build instead of a stable one. [Torr Samaho]
=== 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 an exploit with color codes in player names (ported from Konar6's kpatch). [Torr Samaho]
* Fixed a client memory exhaustion vulnerability. Thanks to AgentME for reporting the vulnerability and submitting a preliminary patch. [Torr Samaho]
* Fixed a client heap corruption vulnerability. Thanks to AgentME for reporting the vulnerability and submitting a patch. [Torr Samaho]
* Fixed an exploit based on out of bounds userinfo sent by a malicious client (ported from Konar6's kpatch). [Torr Samaho]
* Fixed an exploit based on improperly disconnected malicious clients. Kudos to kgsws for finding and reporting this exploit. [Torr Samaho]
* Fixed an exploit that allowed malicious clients to create additional bodies. Kudos to kgsws for finding and reporting this exploit. [Torr Samaho]
* Fixed: A malformed packet could crash the server. Thanks to AgentME for reporting the vulnerability and submitting a preliminary patch. [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 ===
* 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 new dmflag "no medals", controlled by the new CVAR sv_nomedals. If this is true, clients are enforced not to show medals, i.e. behave as if cl_medals == 0. [Torr Samaho]
* Fixed crashes related to loading many announcers. [Torr Samaho]
* Fixed: +showscores did not always respond properly when viewing a demo. [Dusk]
* Fixed: Monsters near a ledge sometimes appeared as constantly falling down and teleporting back on clients online. [Torr Samaho]
* Fixed: Interpolation points and actor moves didn't work properly on clients after a map reset online. [Torr Samaho]
* Fixed: Client side demo recording could crash the client. [Circunei Z, Torr Samaho]
* Fixed a lastX/Y/Z desync between client and server. [Water]
* Fixed: Calling a map/changemap vote with an existing non-map lump as argument caused the server to throw an error. [Torr Samaho]
* Fixed: When a player carrying the flag died or disconnected, the flag was spawned on the floor instead of the actual Z position of the player. [Torr Samaho]
* The commands "wait", "error", "error_fatal" and "crashout" can't be called by ConsoleCommand anymore. [Torr Samaho]
=== 1.1.1 ===
* Fixed: The messages sent with ay_team were visible to players of the other teams. [Dusk, Torr Samaho]
=== 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]
* Added a menu option for gl_use_models. [Torr Samaho]
* Demos now use the lump authentication system to ensure that demos are played back with correct WADs. If demo authentication fails, an error message is printed with a list of needed WADs. New CVAR demo_pure controls this behavior. [Dusk]
* Added new compatflag "explosion thrust", controlled by the new CVAR compat_explosionthrust. If this is enabled, explosions cause a strong horizontal thrust like in old ZDoom versions. [Torr Samaho]
* Added client side prediction for the line special ThrustThing and ThrustThingZ when the specials are called from linedefs or sector actions. [Torr Samaho]
* Improved the client side Z position prediction when passing from one sector into another. [Torr Samaho]
* Improved the client side position prediction when rocket jumping on bridge things. [Torr Samaho]
* Added new compatflag "bridge drops", controlled by the new CVAR compat_bridgedrops If this is enabled, non-SOLID things like flags fall through bridges (as they used to do in old ZDoom versions). [Torr Samaho]
* Extended the launcher protocol to optionally report the value of the CVAR sv_enforcemasterbanlist. [Torr Samaho]
* Bots now recognize 3d midtextures and know to avoid ones that block their movement and can jump over 3d midtexture railings. [Dusk]
* Improved the alignment of the health/armor port of the new fullscreen HUD in case the health and armor icons have a different size. [Torr Samaho]
* The client connect options cl_startasspectator and cl_dontrestorefrags are now collected as flags in the new CVAR cl_connect_flags. [Torr Samaho]
* A player's country code (determined based on the player's IP) is shown on connect and in the output of the CCMD playerinfo, if a GeoIP.dat compatible with MaxMind's GeoIP library is in the directory of the server binary (or in /usr/share/GeoIP/ or /usr/local/share/GeoIP/ under Linux). The implementation is based on Konar6's kpatch. [Torr Samaho]
* Clients can prevent their country code from being shown to the other players with the new connect option CVAR cl_hidecountry (default false). [Torr Samaho]
* If a reason for a kick vote is given, this reason is now included in the ban reason (adapted form Konar6's kpatch). [Dusk, Torr Samaho]
* Added the "afk2spec" system from Konar6's kpatch (controlled by the new CVAR sv_afk2spec that specifies the number of minutes a player has to be idle before being forced to spectate). Different from kpatch, players are warned before they are forced to spectate and dead spectators are not forced to spectate. [Torr Samaho]
* Added CVAR con_notifylines (allowed values range from 1 to 50) that allows users to set how many lines the notify field should extend to. [Dusk, Torr Samaho]
* Added new ACS commands GetPlayerLivesLeft and SetPlayerLivesLeft. In game modes using sv_maxlives, these commands allow to access and change how many times the specified player is still allowed to respawn. [Torr Samaho]
* Added new ACS command KickFromGame (int playernumber, str reason). This command forces the specified player to spectate and can only be used in an ACS script on a server. [Torr Samaho]
* Added Circunei Z's patch that adds PWO support. It can be activated with "switchonpickup == 3" and configured using the weapon setup menu and the new ORDERDEF lump. [Torr Samaho]
* Added NORANDOM support to A_CustomBulletAttack and A_FireBullets (ported from ZDoom revision 2318). [Torr Samaho]
* Added new CVAR cl_connectiontype (default 1, allowed values 0-1). The lower the number, the less network traffic the server will try to send to the client. Currently this is very limited and only has one effect: With a setting of 1, blood sprites are spawned on the client with a size depending on the damage dealt, while they are always at full size if it's 0. [Torr Samaho]
* Added new compatflag "ZDoom 1.23b33 jump physics ", controlled by the new CVAR compat_123b33jumpphysics. If this is enabled, jumping behaves more like it did in ZDoom 1.23b33. In particular, the MAP26 reverse window jump is not possible anymore. [Watermelon, Torr Samaho]
* The CCMD say_team now considers true spectators, i.e. non-dead spectators, to be a team in team based gamemodes. [Torr Samaho]
* Hopefully fixed player class related Hexen startup crashes. [Torr Samaho]
* Fixed: Newly connecting clients were not properly informed about a music change if the music name was longer than 15 characters. [Torr Samaho]
* Fixed: Attached 3d midtexture heights were not reset properly during map resets. [Dusk]
* Fixed: Clients appeared to get double ammo from weapons while playing demos. [Dusk, Torr Samaho]
* Fixed: The server sent its revision number with short instead of long precision to the master. [Torr Samaho]
* Fixed: In single player with multi player emulation enabled a player couldn't change the player class by turning to a spectator and rejoining. [Torr Samaho]
* Fixed: The line special SendToCommunicator didn't work properly online. [Torr Samaho]
* Fixed: When morphing a player, the server didn't inform the other clients about the ammo amount of the morphed player. [Torr Samaho]
* Fixed compatibility issues of skulltag_actors.pk3 with some Skulltag mods. [Torr Samaho]
* Fixed: Using the playdemo command while playing a client side demo in free spectate mode caused the game to crash. [Torr Samaho]
* Fixed: Client didn't display the correct armor values of the other players right after connecting or after a "changemap" map change. [Torr Samaho]
* Fixed: The terminator sphere and the hellstone could not be replaced by mods. Note that you need to replace them by something derived from "Terminator" or "PossessionStone" respectively. Otherwise the game modes will not work as intended. [Torr Samaho]
* Hopefully fixed: Doors sometimes didn't open after pressing +use online. [Torr Samaho]
* Fixed: A malformed server packet could crash the client. [Torr Samaho]
* Fixed: Clients didn't play open or close sounds of animated doors online. [Torr Samaho]
* Fixed: The server didn't inform the clients to remove bouncing missiles hitting water. [Torr Samaho]
* Fixed: The weapon a player started with after respawning wasn't recorded properly in a client side demo. [Torr Samaho]
* Fixed: The ACS command SoundSequence didn't work properly online. [Torr Samaho]
* Fixed: Newly connecting clients were not properly informed about active ActorMovers. [Torr Samaho]
* Fixed: The "Join server" command in the Windows server console didn't work if the server loaded wads that are in directories with a space in their name. [Torr Samaho]
* Fixed: Recording client-side demos with a filename consisting of more than 255 characters caused problems. [Torr Samaho]
* Fixed: The server didn't instruct newly connecting clients to spawn dead actors that are not corpses. [Torr Samaho]
* Fixed: Using "togglemap" while a client side demo was loading caused the game to crash. [Torr Samaho]
* Fixed: Joining a server with a cumulative PWAD name exceeding 255 characters using the internal server browser caused the game to crash or freeze. [Torr Samaho]
* Fixed: With "sv_maprotation 1", "sv_randommaprotation 1" and only one map in the rotation the server froze when exiting the map. [Torr Samaho]
* Fixed: A_MStaffTrack could cause the clients to crash in online games. [Torr Samaho]
* Fixed: Clients could crash after the server instructed them to add NOBLOCKMAP to an actor. [Torr Samaho]
* Fixed: Lagging clients were not affected by things like sector damage. [Torr Samaho]
* Fixed: Using reconnect while playing a demo caused the game to crash. [Torr Samaho]
* Fixed: The lag icon was missing from zandronum.pk3. [Torr Samaho]
* Fixed: If a player respawned with a console, chat or lag icon above his head, the icon vanished. [Torr Samaho]
* Fixed: A_M_CheckAttack and A_M_BFGSound would cause desyncs. [Dusk]
* Fixed: In A_M_Punch, the server didn't inform the clients about the changed angle. [Torr Samaho]
* Fixed: The internal server browser tried to connect to servers even though the necessary wads were not loaded. Now it refuses to connect and lists the missing wads instead. [Torr Samaho]
* Fixed: demo_skiptics with a negative argument could crash the game. [Torr Samaho]
* Fixed: If the team of a player with a class limited to the current team was changed to another team, the automatic respawning with a valid class left behind a ghost at the old position of the player. [Torr Samaho]
* Fixed: A malformed kick reason could crash the server. [Torr Samaho]
* Fixed: The server didn't inform the clients who exited a level (ported from Konar6's kpatch). [Torr Samaho]
* Use the crashcatcher.c from the latest ZDoom (r3071, r3089 (includes the i_main.cpp change since it's required), r3329, r3747, and r3928). This solves the forkbombing issue in the crash handler. [Blzut3]
* Fixed: When recording a client side demo the special client side commands (like weapon changes) were not recorded at the correct position of the demo stream but always after the currently processed server packet. [Torr Samaho]
* Fixed: The effect of a MapRevealer was not reset during map resets. [Torr Samaho]
* Fixed: Too long ban reasons could crash the server. [Torr Samaho]
* Fixed: Trying to switch to a nonexistent map could crash the server. [Dusk, Torr Samaho]
* Lessened the client / server sync problems caused by A_JumpIfTargetInLOS. [Torr Samaho]
* Fixed: A_CheckSight caused desyncs online. [Dusk]
* Fixed: A client didn't notice if it missed the last packet(s) of a full update till something happened on the server that made the server send a new reliable packet to the client. [Torr Samaho]
* Fixed: When a spectator entered the game its associated CLIENTSIDE scripts were stopped but were disassociated. The old behavior can be restored with compat_dont_stop_player_scripts_on_disconnect. [Torr Samaho]
* Fixed: Spectators were affected by Heretic's wind specials. [Torr Samaho]
* Improved the X/Y/Z position sync of non-player actors moved by hit scan attacks online. [Torr Samaho]
* Fixed: demo_spectatefreely didn't show a crosshair or cl_identifytarget information when the software renderer was used. [Torr Samaho]
* Fixed: If A_SkullPop is used in the first frame of a player's XDeath state, the player doesn't drop any important items like flags. [Torr Samaho]
* Fixed: Players couldn't use the kill command during the first ten seconds after a server was started. [Torr Samaho]
* Fixed: If a player joined spectators while frozen to ice damage, the view would remain blended blue. [Dusk]
* Fixed: Strife phosphorus grenade fire did not behave properly online. [Dusk]
* Fixed: Players were not awarded a frag when killing another player with poison (ported from ZDoom revision 4040). [Torr Samaho]
* Fixed: All LIGHTINING scripts were executed as if they were CLIENTSIDE. [Dusk]
* Fixed: Memory issues with skin loading that led to a crash. [Blzut3]
* Fixed an exploit that allowed a manipulated client to bring its player into an undefined state leading to various problems. Kudos to kgsws for finding and reporting this exploit. [Torr Samaho]
* Fixed: Level authentication did not work at all with UDMF maps. [Dusk]
* Fixed: CLIENTSIDE scripts were not stopped on clients online during map resets. [Torr Samaho]
* Fixed: Lightning was not stopped during map resets. [Torr Samaho]
* Fixed: Arguments of actors were not reset to their initial values upon map resets. [Dusk, Torr Samaho]
* Fixed: The monster bandwidth saving system that uses the last updated actor positions didn't work properly for actors right that got their momentum changed externally before ever moving on their own. [Torr Samaho]
* sv_coop_damagefactor is not archived in the config file anymore, but reset to its default value when the game starts. [Torr Samaho]
* Chex now uses the Doom status bar code allowing the new fullscreen HUD (cl_stfullscreenhud) to be used in Chex. [Torr Samaho]
* Changed the default of the CVARs cl_run and freelook to true. [Torr Samaho]
* To work around problems of Zandronum's state jump handling, clients now try to break infinite state loops of zero duration by not allowing any actor to go through more than 10000 states in one tic. [Torr Samaho]
* If the selected intermission pic (or WINERPIC/LOSERPIC in non-team game modes) doesn't exist, INTERPIC is used. [Torr Samaho]
* If D_STWIN/D_STLOSE doesn't exist, the standard intermission music is used instead. [Torr Samaho]
* Changed: Spectators are now allowed to use noclip. [Torr Samaho]
* Non-Strife games now add the WASD control layout to the default binds (all existing ZDoom default binds are unchanged). [Torr Samaho]
* The commands "say" and "say_team" can't be called by ConsoleCommand anymore. A mod should not be allowed to say anything in the player's name. [Torr Samaho]
* When trying to start a new game from the menu while connected to a server and more than one player class is available, the player is now told to disconnect first instead of being automatically disconnected immediately. [Torr Samaho]
* The CVARs sv_adminlistfile, sv_banfile and sv_banexemptionfile can't be changed by ConsoleCommand anymore. [Torr Samaho, Dusk]
* 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 ===
'''Note:''' This changelog is compared to Skulltag 98d.
* Added kgsws' software 3D floors patch. Kudos to him for making a patched based on GZDoom revision 323, that made it easy to apply it to Skulltag. Furthermore, 3D floors are available in competitive modes now. [Torr Samaho]
* Added the new experimental GAMEMODE lump that allows to configure Skulltag's built in gamemodes. Note: GAMEMODE is a protected lump, i.e. the GAMEMODE has to be identical on the server and the clients. [Torr Samaho]
* Added new ACS command ResetMap that does a map reset like done in survival or (T)LMS. This command only has an effect in gamemodes that have the MAPRESETS flag (can be set with the GAMEMODE lump). [Torr Samaho]
* Added live counter to the HUD for survival and survival invasion. As a prerequisite, the server now informs the clients about the lives each player has left. [Torr Samaho]
* Added DesignatedTeam property which allows things to be assigned to teams for friendly fire calculations [Blzut3]
* Added basic client side prediction for "pushers", for instance used by Sector_SetWind. [Torr Samaho]
* Added new compatflag "old random generator", controlled by the new CVAR compat_oldrandom. If this is enabled, the original Doom random table is used to generate random integers in [0,255], which should make for instance the SSG cause a little more damage. [Torr Samaho]
* The compatflag compat_oldweaponswitch now also restores the weapon switch cancellation behavior from Vanilla Doom. [Torr Samaho]
* Added new CVAR cl_respawnonfire that allows the player to decide whether to respawn when pressing the fire key. [Torr Samaho]
* Removed NOGRAVITY from InvulnerabilitySphere, Soulsphere, Megasphere and BlurSphere and added the new compatflag "nogravity spheres", controlled by the new CVAR compat_nogravity_spheres. The compatflag gives these spheres the NOGRAVITY flag again, but only when they are spawned by the map. [Torr Samaho]
* Added sv_maxlives support for lastmanstanding and teamlms. [Torr Samaho]
* General improvements to announcer code to allow for default announcer sounds. [Blzut3]
* Added AnnouncerSound(str entry, int flags) function to allow custom announcer events. [Blzut3]
* Considerably improved client side prediction when the player is standing/jumping/moving/landing on another actor, e.g. a bridge thing. [Torr Samaho]
* Considerably improved client side prediction after respawning and teleporting. [Torr Samaho]
* Clients can now control how often the server sends them updated player positions. The is done with the new CVAR cl_ticsperupdate (default value 3, allowed values 1-3). The lower the number, the smoother the movement of the other player appears on a client but the more network traffic is used by the position updates. [Torr Samaho]
* Added Popsoap's dynamic light definition for the SuperShotgunGuy and the Hectebus. [Torr Samaho]
* Reworked how lightning generated by the MAPINFO property "lightning" and the line special ForceLightning is handled online. It is almost completely client side now (the server only needs to send a single command to the clients each time ForceLightning is called), thus it causes nearly no network traffic. The only downside is that the lightning effects are not synchronized between clients and server, i.e. the clients evaluate all random values on their own. [Torr Samaho]
* Added an auto return system for the terminator sphere and the hellstone, configurable by the new CVAR sv_artifactreturntime (default 30). The terminator sphere/hellstone is moved to a random spawn spot sv_artifactreturntime seconds after it has been spawned (no matter if it was spawned normally at map start or after being dropped by a player). Setting sv_artifactreturntime to 0 disables auto return. This should finally make terminator and possession playable on all maps. [Torr Samaho]
* Added CCMD motd which redisplays the message of the day. [Dusk]
* Added CCMD version_info which displays information about the Mercurial changeset the binary is based on. [Torr Samaho]
* Added CCMD delmap which allows deleting maps from map rotation without clearing it first and CCMD delmap_idx, which allows deleting the map by index number shown by the maplist CCMD. [Dusk]
* Added CCMD insertmap for adding maps into the maplist at other positions than just at the end. [Dusk]
* Added: "snd_announcervolume" CVAR to adjust the announcer's volume and added an announcer volume adjustment in player setup under the announcer picker. [TIHan]
* Added new compatflag "don't stop player scripts on disconnect", controlled by the new CVAR compat_dont_stop_player_scripts_on_disconnect. If this is enabled, the ACS scripts with a player as activator are not terminated when this player disconnects. [Torr Samaho]
* Added new dmflag "unblock players", controlled by the new CVAR sv_unblockplayers. If this is true, player bodies are treated as if they had the THRUSPECIES flag and players don't telefrag other players anymore. [Torr Samaho, Dusk]
* Added ZDoom's timidity code since it's compatible with our open source license. [Torr Samaho]
* Since skulltag_data.pk3 is not auto loaded anymore, shareware IWADs are supported again. [Torr Samaho]
* Exported Hissy's turning behavior to a new codepointer, A_FaceConsolePlayer, which takes a TurnAngle parameter defaulting to 0. Hissy is no longer a native actor. [Dusk]
* Noticeably reduced monster bandwidth usage by letting the clients reuse the last updated actor positions. [TIHan, Torr Samaho]
* Added new ACS command PlayerIsSpectator that returns 1 if the player is a true spectator, 2 if the player is a dead spectator and 0 otherwise. It also returns 0 if the specified player does not exist. [Torr Samaho]
* Added CCMD demo_skiptics that allows you to skip a specified amount of tics. For instance, "demo_skiptics 35" skips a second and "demo_skiptics 2100" skips a minute. [Torr Samaho]
* Added new ACS command ConsolePlayerNumber that returns the number of the local player. Returns -1 if called on the server. [Torr Samaho]
* Added the possibility to leave the join queue with the spectate command. [Torr Samaho]
* Added new ACS command GetTeamProperty that returns various team-based information. [Dusk]
* Added new CVAR cl_spectatormove which can be used to control the speed of movement while spectating. [Dusk]
* Fixed: After a "changemap" map change on a server with join password and a team based gamemode, players who were on a team on the previous map were turned into spectators but kept their team. [Torr Samaho]
* Fixed a crash that could happen when pressing the "show medals" key during intermission if the player was spying another player before the start of the intermission. [Torr Samaho]
* Fixed: When the gamemode is automatically changed upon entering a new map after a "changemap" map change offline, players possibly stay on a team even though the new game mode doesn't have teams or are on no team even though the new game mode uses teams. [Torr Samaho]
* Fixed: Under some circumstances clients mispredicted the amount given by ammo dropped by monsters. [Torr Samaho]
* Fixed: Various sliders in the player setup, the text scaling and the offline skirmish menu didn't play "menu/change" when toggled. [Torr Samaho]
* Fixed: The RGB sliders for custom colors in "Options -> Display Options -> Automap Options -> Set Custom Colors" didn't work. [Torr Samaho]
* Fixed: The "Compatibility mode" value in the compatibility options menu was displayed too far on the right. [Torr Samaho]
* Fixed: RandomSpawner didn't always spawn something after a map reset in survival. [Torr Samaho]
* Fixed: The HUD mugshot never looked in direction of the last damage inflictor online. [Torr Samaho]
* Fixed some sync problems with A_Jump on weapons online. [Torr Samaho]
* Fixed: Clients were not always informed about the armor amount and type of other non-opponent players. [Torr Samaho]
* Fixed some client side display problems caused by the "give health" and the "give armor" cheats. [Torr Samaho]
* Fixed: Dropping a backpack online crashed the clients. [Torr Samaho]
* Fixed: Newly connecting clients were not informed about all the weapons, keys and backpacks players already in game have. [Torr Samaho]
* Fixed: The automap was not reset during a map reset online on the clients. [Torr Samaho]
* Fixed: When a player turns into a spectator the palette flash of this player is not reset. [Torr Samaho]
* Fixed: Clients were not informed about "pusher" additions or changes. [Torr Samaho]
* Fixed: Dead actors with a crash state locally crash on the client again while connecting. [Torr Samaho]
* Fixed: After a "changemap" map change clients forgot about the max health and armor bonuses of players. Furthermore, newly connecting clients were not informed about these bonuses of players already in game. [Torr Samaho]
* Fixed: After a "changemap" map change clients didn't draw the HUD icons of runes obtained in the previous level. Furthermore, newly connecting clients were not informed about the runes of players already in game. [Torr Samaho]
* Fixed: When using the give weapons cheat online, the player possibly switched to one of the newly given weapons instead of keeping the current one. [Torr Samaho]
* Fixed: For some of the cheats, clients other than the one who did the cheat printed printed the "is a cheater" line twice. [Torr Samaho]
* Fixed: When picking up a dropped backpack online, clients wrongly assumed that the backpack gives ammo. [Torr Samaho]
* Fixed: After a "changemap" map change the client side inventory ordering of the console player got reversed. [Torr Samaho]
* Fixed: Under some circumstances a client wrongly displayed an "in console" icon over a player's head. [Torr Samaho]
* Fixed: When coop spying another player for the first time the initial view height of that player was sometimes wrong. [Torr Samaho]
* Fixed: Trying to pick up a white flag in one flag CTF while already carrying a white flag gave a point. [Torr Samaho]
* Fixed: If a player carrying the flag/skull in CTF/ST suicided while "sv_instantreturn 1", the return message said "Returned by: playername" instead of "Returned automatically". [Torr Samaho]
* Fixed: Newly connecting clients were not informed whether existing corpses were gibbed. [Torr Samaho]
* Fixed: The ACS commands SetActorProperty( APROP_Gravity ), SetGravity and SetAircontrol didn't work properly online. [Torr Samaho]
* Fixed client / server weapon sync issues after spawning / respawning. [Torr Samaho]
* Fixed: The server didn't inform the clients about the weapon changes of bots. [Torr Samaho]
* Fixed: Savegames didn't retain the multiplayer emulation state. [Torr Samaho]
* Fixed: When a player carrying the terminator sphere/hellstone disconnected the terminator sphere/hellstone wasn't dropped. [Torr Samaho]
* Fixed: Under certain rare circumstances the clients displayed friendly fire obituaries in DM. [Torr Samaho]
* Fixed: The windows server GUI didn't properly handle spaces in the value sv_banfile. [Torr Samaho]
* Fixed: When a player initially joins the game, he doesn't get the respawn invulnerability in DM. [Torr Samaho]
* Fixed: Newly connecting clients were not informed about flag changes (compared to the initial spawn values) of the actors already in the game. [Torr Samaho]
* Fixed: Friendly monster didn't play their active sound on the clients while chasing. [Torr Samaho]
* Fixed: The server didn't inform the clients of flag changes made with A_ChangeFlag. [Torr Samaho]
* Fixed: When a player turns into a spectator the Gravity and the Speed properties of the player body are not reset to the default values. [Torr Samaho]
* Fixed: The menu_player command opened the main menu instead of the player setup menu. [Torr Samaho]
* Fixed some weapons sync problems with unassigned voodoo dolls online that could happened with "alwaysapplydmflags 1" and "sv_weaponstay 0". [Torr Samaho]
* Fixed: Under certain circumstances killing a bot could give the killer a Llama medal. [Torr Samaho]
* Fixed some problems with the client side Z positioning of players online. [Torr Samaho]
* Fixed: Removing a morphed bot crashed the game. [Torr Samaho]
* Fixed some client side problems that happened online when a client connected while one of the in game players was morphed. [Torr Samaho]
* Fixed some coop spy issues that happened online in levels with a team selection room. [Torr Samaho]
* Fixed: PowerupGiver items with PowerMorph were not removed from the local inventory of a client online when they were activated. [Torr Samaho]
* Fixed: When a grenade fell on a 3D floor over a real floor with a sky texture, it vanished instead of bounce. [Torr Samaho]
* Fixed: Players lost a life when being spawn telefragged in survival invasion. [Torr Samaho]
* Fixed some problems with the Z positioning of map spawned actors on 3D floors after a map reset. [Torr Samaho]
* Fixed: Offline, the player could join in progress survival and survival invasion games with the "join" command and in progress teamlms games with the "team" and "changeteam" commands. [Torr Samaho]
* Fixed: After a "changemap" map change in survival invasion online, an in game player was possibly forced to spectate. [Torr Samaho]
* Fixed: When binding the LAN socket to port 15101 failed, Skulltag still tried use the socket to listen for LAN packets causing the console to be flooded with error messages. [Torr Samaho]
* Fixed: When adding a bot in a team game while players can't join, the bot was added as spectator but still assigned to a team. [Torr Samaho]
* Fixed: Dead spectators are not properly handled if a changemap map change is made while a TLMS game is in progress and sv_keepteams is true. [Torr Samaho]
* Fixed: Dead spectators in TLMS didn't see the ally icon for their teammates. [Torr Samaho]
* Fixed: Various strings (the cl_identifytarget message, "assist" messages, several parts of the scoreboard, etc.) were not displayed properly on some platforms. [Torr Samaho]
* Fixed: After a changemap map change from an invasion level to a non-invasion level online, the clients still thought the gamemode was invasion. [Torr Samaho]
* Fixed: If bots were put in the join queue in a team based game mode, they possibly all joined the same team after a changemap map change. [Torr Samaho]
* Fixed: Immediately after joining a server with cl_startasspectator set to false or after a changemap map change while being in the game, the client thought is was lagging. [Torr Samaho]
* Fixed: Bots were not properly frozen during the special game mode result sequences, e.g. the "mission failed" screen in survival. [Torr Samaho]
* Fixed: When starting a survival invasion skirmish with bots while already in a survival invasion game with bots, the consoleplayer is spawned as spectator and leaves a ghost player upon joining. [Torr Samaho]
* Fixed: A "map" map change possibly triggered the "mission failed" screen in survival. [Torr Samaho]
* Fixed: Switch sounds were played with the wrong z position online. [Torr Samaho]
* Fixed: Adding a bot in a team game on a map with a team selection room could crash the game. [Torr Samaho]
* Fixed: When a player turned into a spectator, he didn't lose his medals and the current medal progress wasn't reset. [Torr Samaho]
* Fixed: When sv_maxplayers was set to a value lower than the numbers of players currently in the game during a team game mode online, some players ended up as spectators while still being on a team after a "changemap" map change. [Torr Samaho]
* Fixed some problems online when sv_maxplayers is increased while players are in the join queue. [Torr Samaho]
* Fixed: If a team won a round in teamlms after the game entered sudden death, this team possibly wasn't awarded a win. [Torr Samaho]
* Fixed some bugs caused by the spawning of the hellstone and the terminator sphere: When it was spawned the first player possibly tried to pickup whatever he was standing on at this moment. Furthermore, it was possibly spawned at the location of the first player even though there was still a free spawn spot. [Torr Samaho]
* Fixed: Clients mispredicted the Z position of things respawning above a 3D floor. [Torr Samaho]
* Fixed: When a server admin tried to set the CVAR fraglimit to a value beyond its bounds, the "fraglimit changed to" message appeared twice. [Torr Samaho]
* Fixed: Newly connecting clients were not informed about the cheats players already in game have. [Torr Samaho]
* Fixed: "compat_silentpickup" had no effect if "compat_soundslots" is true. [Torr Samaho]
* Fixed: Savegames didn't store the player's team. [Torr Samaho]
* Fixed: Clients didn't set am_cheats to 0 after a "map" map change if sv_cheats was changed from to true to false. [Torr Samaho]
* Fixed: The scoreboard line of the player currently carrying the terminator sphere wasn't drawn in red. Instead, some seemingly random parts of the scoreboard were drawn red when someone had the terminator sphere. [Torr Samaho]
* Fixed: When a player got a flag/skull/terminator sphere/hellstone while he still had a medal icon, the carrier icon was not shown until the medal faded away. [Torr Samaho]
* Fixed some problems with unlagged when the player was standing on a 3D floor. [Torr Samaho]
* Fixed: If a player carrying a flag/skull/terminator sphere/hellstone dies while being awarded a medal, the medal is announced a second time. [Torr Samaho]
* Fixed: If a "map" map change is done during the possession hold countdown online to a CTF/ST map, the hold counter is still displayed on the clients after the map change. [Torr Samaho]
* Fixed: When possession entered sudden death online, the sudden death message was not displayed properly on the clients. [Torr Samaho]
* Fixed: If a player respawned while being awarded a medal, the medal icon turned invisible. [Torr Samaho]
* Fixed: If the second last player leaves a possession game, the current round is not stopped. [Torr Samaho]
* Fixed: When adding a bot it used the handicap value of the player who previously occupied the player slot. [Torr Samaho]
* Fixed: Newly connecting clients are informed about the other player's handicap only after they players are spawned locally on the new client. This information is already necessary during the local spawning though. [Torr Samaho]
* Fixed: Clients possibly mispredicted the Z position of other players that were standing close to a sector boundary. [Torr Samaho]
* Fixed: "cl_showlargefragmessages 1" was ignored in (T)LMS if fraglimit was bigger than zero and the player had at least "fraglimit - 1" frags. [Torr Samaho]
* Fixed a problem with the client side prediction for a high ping clients (250+) on low gravity servers (sv_gravity 200). [Torr Samaho]
* Fixed: Clients with cl_startasspectator == 0 were not informed about which weapons the players already in game are using while joining the server. [Torr Samaho]
* Fixed: When a sector movement was triggered by an unlagged client shooting at a linedef, the sector movement was possibly messed up. [Torr Samaho]
* Fixed: When respawning or teleporting the client side prediction didn't clear the old movement commands recorded before the respawn/teleport. [Torr Samaho]
* Fixed a vote related server crash. [Torr Samaho]
* Fixed: On a Mac "zdoom.ini" instead of "skulltag.ini" was used as name foe the config file. [Torr Samaho]
* Fixed: The command line argument "+sv_maxteams 1" didn't have any effect. [Torr Samaho]
* Fixed: Newly connecting clients were not informed about gravity changes of the actors already in the game. [Torr Samaho]
* Fixed: When an RCON client executed exit or quit on the server, the command was not logged to the console on non-Windows servers. [Torr Samaho]
* Fixed: Clients were not informed about the value of lmsspectatorsettings in non-LMS games even though it is possibly necessary due to sv_applylmsspectatorsettings. [Torr Samaho]
* Fixed: The ACS command CancelFade didn't work properly online. [Torr Samaho]
* Fixed: The sounds of A_CustomMeleeAttack didn't work properly online. [Torr Samaho]
* Fixed: When a player turned into a true spectator (i.e. not a dead spectator) in possession or TLMS or turned from dead spectator to true spectator in LMS, the points/wins of that player where not reset. [Torr Samaho]
* Fixed: Newly connecting clients didn't properly display the running animation of players already in the game who were running while the new client was receiving the snapshot of the level. [Torr Samaho]
* Fixed: Newly connecting clients were not properly informed about the parts of the default inventory players already in the game lost before the new client connected. [Torr Samaho]
* Fixed: Spectators were treated like normal players while determining the winner of a DM game when the timelimit was hit. Thus a spectator could be declared to be the winner of the map. [Torr Samaho]
* Fixed: When the countdown for a new round in (team)possession started, clients played the "PrepareToFight" announcer entry instead of the "NextRoundIn" one. [Torr Samaho]
* Fixed: PointPusher and PointPuller actors that moved from their initial spawn positions stopped working after a map reset. [Torr Samaho]
* Fixed: There was no pointlimit vote option in the menu. [Torr Samaho]
* Fixed: After a "changemap" map change online, a client played the "x frags left" announcer sounds if fraglimit was between 1 and 3. [Torr Samaho]
* Fixed: non-"map spawned", CLIENTSIDEONLY actors were not removed during a map reset on the clients online. [Torr Samaho]
* Fixed: A_Countdown could lead to sync problem online. [Torr Samaho]
* Fixed: Grenades that exploded due to the timer didn't have transparency applied to their explosion. Thanks to Popsoap for submitting the DECORATE fix for this. [Torr Samaho]
* Fixed: When A_Chase should have set an actor to the idle state, on the clients online that actor was set to the spawn state instead. [Torr Samaho]
* Fixed: When a player was spawned on the client, under some circumstances the client locally played the death animation of the previous player body. [Torr Samaho]
* Fixed: NOSKIN didn't work properly on player classes. [Torr Samaho]
* Fixed: If a player fragged another player during the first two seconds after the map was started, that player got an incredible medal. [Torr Samaho]
* Fixed: Clients online only used the KEYCONF lump for their own player but ignored it for all other players locally. [Torr Samaho]
* Fixed a typo in the protected lumps warning and clarified the client warning. [Torr Samaho]
* Fixed: Clients applied TERRAIN damage by themselves leading to sync problem online. [Dusk, Torr Samaho]
* Fixed: Additive translucent lines were not additive translucent after a map reset anymore. [Dusk]
* Fixed: Clients weren't told about -NOGRAVITY or +DROPPED that is explicitly set for dropped items. [Dusk]
* Fixed: The line special Thing_Stop didn't work properly online. [Dusk]
* Fixed: The position of grenades bouncing off another actor online got out of sync on the clients. [Dusk, TIHan, Torr Samaho]
* Fixed: A_FireCustomMissile played the SeeSound on the clients twice, wasted network bandwidth and spawned the missile on the clients imprecisely. [Dusk, TIHan, Torr Samaho]
* Fixed: If a player with a TID is morphed/unmorphed, clients assumed the TID is reverted to 0. [Torr Samaho]
* Fixed: Newly connecting clients were not informed about the current movedir of the actors already in the game. [Torr Samaho]
* Fixed: If a morphed player is unmorphed while running, its animation got stuck. [TIHan]
* Fixed: Newly connecting clients were not properly informed about the current state of dehacked actors. [Torr Samaho]
* Fixed: Sliding polyobject doors broke during a map reset. [TIHan, Torr Samaho]
* Fixed: Replaying a sound on the same channel with A_PlaySound restarted the sound on the clients online. [Dusk]
* Fixed: The "oof" sound was played multiple times on a client when bumping into walls in low friction sectors online. [TIHan, Torr Samaho]
* Fixed: Dead players/bots are not separated from the rest on the scoreboard in survival invasion. [TIHan, Torr Samaho]
* Fixed: The vertical spacing between two players in coop info was too small on maps with SECTINFO. [Torr Samaho]
* Fixed: The "You cannot rejoin the game until the round is over!" message is printed twice, once when pressing space and once when releasing space. Thanks to Dusk and Edward-san for suggesting the fix. [Torr Samaho]
* Fixed: Clients didn't reset their join queue position on a "map" map change. [Dusk]
* Fixed: Louder/duplicate DSOOF sounds from other players online landing on things. [TIHan]
* Fixed: Weapon pieces vanish from the status bar on clients after map changes online. Furthermore, newly connecting clients were not informed about the weapon pieces of the players already in the game. [Dusk, Torr Samaho]
* Fixed: When a dead player turned into a spectator after A_SkullPop was called, the spectator couldn't slide on walls. [Torr Samaho]
* Fixed: Clients were not properly informed about Hexen armor values. [Dusk, Torr Samaho]
* Fixed: Client's didn't properly respect the arguments of bridges. [TIHan]
* Fixed: The server doesn't try to tick the master anymore if skulltag_masterip can't be resolved, but prints a warning instead. Previoulsly, an invalid skulltag_masterip setting led to WSAEADDRENOTAVAIL errors. [Torr Samaho]
* Fixed: When the value of timelimit was changed online, the notification messaged displayed the new value as integer instead of as float. [Torr Samaho]
* Fixed: Newly connected clients were not properly informed of certain properties of players and other actors. The same happened after "changemap" map changes to the client's consoleplayer. [TIHan]
* Fixed: Rapidly activating 'chase' before joining a game with high ping results 'chase' being activated even with sv_cheats 0. [TIHan, Torr Samaho]
* Fixed: In offline mode for team games, RESPAWN scripts were fired upon player entering the game instead of ENTER scripts. [TIHan]
* Fixed: Player kept his custom skin color after morphing online. [TIHan, Torr Samaho]
* Fixed: A morphed player possibly changed his skin back to his unmorphed custom skin online after starting to move. [Torr Samaho]
* Fixed: Clients were not informed of MorphFlash and UnMorphFlash. [TIHan]
* Fixed: The server could crash if changemus was called with a too long argument. [Edward-san]
* Fixed: The freeze cheat could be activated during demo playback. [Dusk]
* Fixed "1 minutes" typo in muting message. [Dusk]
* Fixed: Mystic Ambit Incant use code was executed on the clients and the server did not tell clients about its usage properly. [Dusk]
* Fixed: A malformed launcher packet could crash the client. [Torr Samaho]
* Fixed: The server sent broken launcher challenges to the clients if timelimit was smaller than one and bigger than zero. [Torr Samaho]
* Fixed: Opening the "Configure server" window in the Windows server console rounded the timelimit value to integer. [Torr Samaho]
* Fixed: The gameplay tab of the "Configure server" window in the Windows server console didn't allow non-integer timelimit values to be entered. [Torr Samaho]
* Fixed: When a player turned into a spectator offline, the disconnect particle effect was missing. [Torr Samaho]
* Fixed: Newly connected clients are not informed of other clients' PowerupGiver. [TIHan]
* Fixed: The player's view could bob on a client after unmorphing online while the player was still frozen due to rectiontime. [TIHan, Torr Samaho]
* Fixed: Newly connected clients were not informed of other actors' reaction time. [TIHan]
* Fixed: Morphed players turning into spectators leave dummy players behind. [TIHan]
* Fixed: Clients weren't informed of damage caused by initial poisoning or of the accompanying cough sound caused by PoisonCloud. Clients were calling poison-caused Pain states on their own. [Dusk]
* Fixed: Picking up a weapon piece caused the local ammo count on the client to go out of sync. [Dusk]
* Fixed: Clients weren't told of pigplayers' bite sound. [Dusk]
* Fixed: Stray Hexen bridge balls (and other actors spawned by A_BridgeInit) were included in snapshots the server sends to connecting clients. [Dusk]
* Fixed: Clients were not informed of alwaysapplydmflags' value. [TIHan]
* Fixed: Some scrolling textures were not handled properly between client and server. [TIHan]
* Fixed: Clients weren't told of monsters' strafe counts, causing desyncs in 'fast-chasing' monster movement. [Dusk, Torr Samaho]
* Fixed: Zedek's Quietus attack was not handled properly, appearing silent and invisible. [Dusk, Torr Samaho]
* Fixed: Puzzle item usage was handled improperly on the clientside, causing no item use sound when a puzzle was solved with it. Also changed puzzle item fail message to only print on the client that activated it, rather than to everybody. [Dusk]
* Fixed: Under certain circumstances after a monster was resurrected, it did not get reset when the map reset. [TIHan]
* Fixed: Spectators were blocked by SOLID things on steps. [Torr Samaho]
* Fixed: The remains of crushed actors were not removed on the clients online by a map reset. [Torr Samaho]
* Fixed: Poly object doors were not handled properly online. [TIHan]
* Fixed: Newly connected clients were not properly informed of poly objects. [TIHan]
* Fixed some Z position sync problems of floating monsters online. [TIHan]
* Fixed: Players could choose their team by using "team" or "changeteam" commands as a spectator when sv_noteamselect was true. [TIHan]
* Fixed: Spectators were affected by the TimeFreezeSphere in competitive modes. [TIHan]
* Fixed: When a non-spectator player disconnected his running CLIENTSIDE scripts were not terminated. [Torr Samaho]
* Fixed: When a map reset was done while a PowerTimeFreezer was in effect, the sound was not resumed after the reset. [Torr Samaho]
* Fixed: Grenade explosion sound was not unlimited. [Dusk]
* Fixed: Players could get medals from spawn telefrags. [Dusk]
* Fixed: Accuracy/Precision medals are now properly given when using the Rocket Launcher, Grenade Launcher, or BFG10K. [MP2E, Torr Samaho]
* Fixed problems with the LAN broadcast under Linux. [Koromix]
* Fixed: Console icon would stick on a player's head if the server missed the packet to remove the icon. [TIHan]
* Fixed: Medals weren't announced on spied players. [Dusk]
* Fixed: Wound state changes weren't sent to clients. [Dusk, Torr Samaho]
* Fixed: The server always instructed clients to use the standard pain state of an actor, not any custom one. [Dusk, Torr Samaho]
* Fixed: Newly connecting clients were not informed about non-standard death states of corpses already on the map. [Dusk, Torr Samaho]
* Fixed: Spectators were affected by SetPlayerProperty and SetActorProperty. [TIHan, Torr Samaho]
* Fixed: "Impressive"/"Most Impressive" medals are now properly given when the player has a spread rune. Note: If a player hits another player with multiple rails in one attack, this is intentionally counted as multiple hits. [MP2E, Torr Samaho]
* Fixed: The MageWandSmoke spawned by MageWandMissile is now properly client-sided. It was already spawned by the client before, but not properly treated as CLIENTSIDEONLY actor. [Dusk, Torr Samaho]
* Fixed: Certain effects in SetPlayerProperty were not working as intended online. [TIHan, Torr Samaho]
* Fixed: When no network socket can be allocated the console is not flooded with NETWORK_GetPackets warnings anymore. [Torr Samaho]
* Fixed: A malformed SERVER_LAUNCHER_CHALLENGE could cause the client to crash. [Torr Samaho]
* Fixed: SetActorVelocity didn't update velocity changes to clients. [Dusk]
* Fixed: Clients don't explode non-bouncing missiles hitting walls, ceilings or floors on their own anymore as the server tells them. [TIHan, Dusk, Torr Samaho]
* Fixed: The "Join server" command in the Windows server console didn't work if the server loaded wads that are not among those in FileSearch.Directories. [Torr Samaho]
* Fixed: The number of items and secrets found displayed in the alternative hud is not reset during a map reset. [Torr Samaho]
* Fixed: The number of items found displayed in the alternative hud is not updated online on the clients when an item is picked up. [Torr Samaho]
* Fixed: If all weapons except for the ones from the default inventory were forbidden by lmsallowedweapons, clients stared online with no weapon in hand. [Torr Samaho]
* Fixed: If gl_lightmode was 2 in the config file when starting the game, gl_lightmode was automatically changed to 3. [Torr Samaho]
* Fixed: Spectators were affected by pushers, e.g. wind. [Torr Samaho]
* Fixed: Switches that execute CLIENTSIDE scripts didn't animate or play any sounds when activated online. [Torr Samaho]
* Improved the X/Y/Z positioning of non-player actors moved by explosions online. [Torr Samaho]
* Fixed: sDamage_Hellslime and sDamage_SuperHellslime didn't the player's view green online. [Dusk, Torr Samaho]
* Fixed: "<name> is a cheater!" message was displaying on chasecam even if sv_chasecam was true. [Dusk]
* Fixed: Attempting to play instagib without a railgun resulted in a crash. [Dusk]
* Improved the code that removes containing incomplete color codes of type "\c[X" from player names. [Torr Samaho]
* Changed F12 to allow spectators full spying, with the exception of during LMS if it's disabled. [Eruanna]
* Changed F12 to allow full demo spying. [Eruanna]
* Players aren't forced to spectate after a "changemap" map change on a server with a join password anymore. [Torr Samaho]
* Player names are now automatically terminated with "\c-". This ensures that using a player name in a string doesn't affect the color of the string after the player name. [Torr Samaho]
* The linux binaries are now compiled with -fno-stack-protector in order to increase compatibility with distros using older glibc versions. [Torr Samaho]
* For security reasons cl_password and cl_joinpassword are not archived in the ini anymore. Thanks to kgsws for pointing us to this potential security problem. [Torr Samaho]
* The customizable "teamgame" game mode now uses the F1_TMGM lump as F1 help screen. [Torr Samaho]
* When a player cancels a vote, the other players are not prevented from making this type of vote again anymore. [Torr Samaho]
* Skulltag now refuses to delete the active body of a player if it does not have a next state, but the current state has a finite duration. Instead a warning is printed and the body is frozen in its current state. This should fix the Neodoom crashes. [Torr Samaho]
* The clients are now informed whenever the server uses the puke command. [Torr Samaho]
* Players can't join during intermission anymore. Instead they are put in line and will join immediately after intermission ends (if there free player spots only of course). [Torr Samaho]
* The CVAR fraglimt now can't be made bigger than 32767 (SHRT_MAX) anymore. Furthermore, the CVAR timelimit is now limited to the same range as fraglimt. [Torr Samaho]
* If a spectator uses "team/changeteam teamname" during intermission, he is now put on the join queue instead of the command being ignored completely. [Torr Samaho]
* Since TLMS just went on as usual when the timelimit was hit (although claiming to enter sudden death mode), timelimit is now deactivated in this gamemode. [Torr Samaho]
* In gamemodes that reset the map time during a map reset, the timelimit counter is now hidden on the score board while the game is not in progress. [Torr Samaho]
* If a client isn't allowed to know the health and armor of another player due to the gamemode, health and armor of this player are not displayed in coop info anymore. Furthermore, the mugshot of these players through coop spy is displayed as if the player had full health. [Torr Samaho]
* The server now logs RCON connects to the console. It already logged RCON disconnects, so it should log connects, too. [Torr Samaho]
* The CVAR chase_dist now can't be made smaller than 0 anymore. [Torr Samaho]
* When a client disconnects from a server, sv_gravity on the client is reset to its default value, discarding the value the server told the client to use before. [Torr Samaho]
* Changed the default value of the CVAR skulltag_masterip to master.skulltag.net. [Torr Samaho]
* The "sv_cheats must be true to enable this command." message is not displayed more than once per second on a client online anymore. [Torr Samaho]
* Being killed by a teammate doesn't count towards "You Fail It" or YSINE medals anymore, making it consistent with excellent/incredible medals that ignore team kills. [Torr Samaho]
* When a connecting client is disconnected due to an error, any further net packet from its IP are now ignored for 10 seconds to prevent log flooding. [Torr Samaho]
* Clients are now informed about the server's sv_coop_damagefactor value and, if not 1, the value is displayed on the scoreboard. [TIHan]
* Adjusted kickfromgame commands to have more verbosity in error messages. [Dusk]
* The ally, chat and rune sprites are now also available in non-Doom games. [Torr Samaho]
* Renamed CVAR skulltag_masterip to masterhostname. [Torr Samaho]
* Removed the skulltag_data.pk3 auto loading mechanism. skulltag_data.pk3 should now be loaded explicitly like any other add-on. [Torr Samaho]
* snes_spc and hqnx are now linked statically, eliminating the need to distribute the corresponding dlls. [Torr Samaho]
* CVAR "stillbob" has a range limit of -16 to 16. [TIHan, Torr Samaho]
* Removed the ancient code that was erasing ZDoomGL settings from a player's config. [Torr Samaho]
* If GetPlayerInput is called from a world activated CLIENTSIDE script with a negative player number, the input of the local consoleplayer is returned. [Torr Samaho]
* Converted the ACS function GetTeamScore to be compatible with ZDaemon's version of this function. [Torr Samaho]
* Raised the maximum number of players from 32 to 64. sv_maxclients and sv_maxplayers still default to 32 to stay compatible with existing mods. [Torr Samaho]
* When a spectator enters the game its associated scripts are stopped. Previously the scripts just were disassociated, causing them to continue running even after the player disconnects. The old behavior can be restored with compat_dont_stop_player_scripts_on_disconnect. [Torr Samaho]