Wiki

Clone wiki

gokz / Release Notes

GOKZ v2.9.0 - 2020/5/29

  • Enforcing a minimal fps_max value of 120 now to prevent exploits
  • Reduced the ladder checkpoint cooldown unless the ladder is in a trigger
  • Pause and saveloc now preserve stamina
  • Increase control over TP limits for races and duels
  • Allow races on bonuses
  • Re-enabling the settings enforcer or reloading gokz-global now requires a map change
  • The FixHintColorMessages plugin is now integrated and no longer needed as an external dependency
  • Force the cmdrate and uploadrate of the server to 128 in gokz-global to prevent bhop exploits
  • Enforce sv_turbophysics to 0 cause it might break certain maps
  • Improved console logging for certain commands
  • Added slopefix and duckspamming to the KZT mode
  • Reduced the amount of dependencies between the plugins which enables late loading
  • Fixed a bug that would cause you to get stuck in crouch tunnels when returning from spectating
  • The built-in admin command !slap now invalidates runs and jumpstats
  • Cancel the replay controls menu as soon as you return from spectating
  • Move the timer text to the replay controls menu if you would usually have it in the TP menu during a replay

GOKZ v2.8.2 - 2020/5/10

  • Fixed bug that might cause data loss for replays

GOKZ v2.8.1 - 2020/5/9

  • Fixed possible logspam from the replays
  • Jumpstat PB's are now hidden if jumpstats are disabled

GOKZ v2.8.0 - 2020/5/4

  • Added HUD while spectating bots
  • Added controls for replay bots (see !replaycontrols/!replaygoto)
  • Added option to remove the run type from the timer text
  • Fixed some jumpstat exploits
  • Always save replays of cheaters

GOKZ v2.7.2 - 2020/4/16

  • Added crouch indicator to the standalone speed text
  • Fixed timer tech exploit involving end timer zones
  • Fixed jumpstats not counting if you duck during the last tick
  • Fixed SteamID display for blockstats

GOKZ v2.7.1 - 2020/4/10

  • Fixed bug that wouldn't disable jumpstat broadcast
  • Fixed bug that would not invalidate jumpstats after TP's
  • Enabled blockstats for the new jumptypes
  • Removed Fall jumptype from jumptop
  • Display player name for broadcast jumpstat report
  • Fixed multi-jumpbugs being recognized as a longjump
  • Added measures to prevent some forms of jumpbug abuse
  • Added steamid to the jumptop output
  • Fixed jumpbug takeoff origin and adjusted its tiers accordingly
    • Important: Because of this change, cfg/sourcemod/gokz/gokz-jumpstats-tiers.cfg had to be edited again (for the last time in hopefully a while) in case you customized those tiers.
  • Enable failstats for the new jumptypes
  • Improved bitrate of wrecker sound
  • Fixed bug that would make sm_deletejump not work on MySQL
  • Increased number of saved top jumps per player to 20

GOKZ v2.7.0 - 2020/4/9

  • Added the Jumpbug jumptype.
  • Added an 'Always-on' jumpstats mode that will skip validations and always print jumpstats. Can be toggled with !jsalways or in the menu. See the new jumpstats wiki here for more information.
  • Added an additional jump tier above Ownage called 'Wrecker'.
    • Important: This change modifies the two config files below. If you have customized those files before, make sure to remove them from the upgrade package before you install it.
      • cfg/sourcemod/gokz/gokz-jumpstats-sounds.cfg
      • cfg/sourcemod/gokz/gokz-jumpstats-tiers.cfg
  • Reworked most of the jumpstat tiers. You can find them here.
  • Added additional lowpre jumptypes for Bunnyhops and Weirdjumps that match the KZTimer precaps.
  • Added local jumpstat broadcasting that can be turned on/off client sided. Defaults can be set in cfg/sourcemod/gokz/gokz-jumpstats-broadcast.cfg.
  • Added a stat to indicate how many ticks the player crouched before landing.
  • Added W-release stat for weirdjumps.
  • Added a stat to track the crouch release of jumpbugs.
  • Improved ladder jump failstat accuracy.
  • Improved ladder offset validation.
  • Fixed bug that would make failstats appear randomly during runs.
  • Fixed bug where the jump wouldn't count if you crouch really late.
  • Reduced minimal jump distance to include strafeless jumps.
  • Increased VNL and KZT mode version.

GOKZ v2.6.3 - 2020/3/23

  • Fixed SQL injection with mapname.
  • Fixed Map Pool file location for the documentation of !updatemappool command.
  • Jumpstat PB commands now accept an optional “jumper” argument, see updated COMMANDS.md

GOKZ v2.6.2 - 2020/2/16

  • Fixed an exploit with !autorestart.
  • Allow usage of !gocheck, !next and !prev while dead.
  • Fixed behaviour of teleporting commands when the player hasn't joined a team yet.
  • Improved detection of telehops.

GOKZ v2.6.1 - 2020/2/7

  • Fixed !goto when used before joining a team.
  • Fixed a missing phrase when using !jumptop and there are no relevant jumpstats in the database.
  • Updated default gokz_chat_prefix from "{grey}[{green}KZ{grey}] " to "{green}KZ {grey}| ".
  • Bumped KZTimer mode version in anticipation of KZTimer 1.93's release.

GOKZ v2.6.0 - 2020/1/27

  • Replaced race "Teleport Rules" with "Checkpoint Rules" and added 2 new options.
    • 1 minute checkpoint cooldown.
    • 10 checkpoint limit.
  • Fixed gokz-jumpstats array indexing error.
  • Fixed Updater support for gokz-clantags and gokz-racing.
  • Bumped KZTimer mode version in anticipation of KZTimer 1.92's release.

GOKZ v2.5.1 - 2020/1/21

  • Fixed an issue with gokz-replays erroneously writing unreasonable amounts of files.
    • Server owners are OK to delete any replay files in addons\sourcemod\data\gokz-replays\_cheaters under 100 KB. This is approximately the new minimum size.

GOKZ v2.5.0 - 2020/1/4

  • Added timer style option that controls the precision of the timer text e.g. 1:23 or 01:23.45.
    • This defaults to "Standard" and can be changed in the !options menu or using the !timerstyle command.
  • Added the !virtualbuttonindicators/!vbi command to quickly toggle virtual button indicators.
  • Added checkpoint count to checkpoint messages.
  • Added checkpoint and teleport counts to teleport menu.
  • Adjusted colours of non-critical and crouchjump indicator text in centre panel.
  • Player chat is now logged to console.
  • Teleport menu will now redisplay frequently if loss is detected to help prevent it from disappearing.
  • Reduced some of the jumpstat distances required for Ownage due to distbug being fixed.
    • Note: Configs are not included in -upgrade releases so you may wish to update the config manually.

GOKZ v2.4.1 - 2019/12/20

  • Added toggle option for virtual button indicators. The options defaults to Disabled.
  • Fixed holding down +jump making the player jump when they teleport.
  • Added a few new tips.

GOKZ v2.4.0 - 2019/12/15

  • Moved mode clan tag feature out of gokz-core into gokz-clantags so that it can be disabled separately.
  • Added virtual button (timer tech) indicator circle. Note that the virtual button range is actually a sphere.
  • Fixed joining spectator while paused stopping your timer.
  • Reduced bunnyhop cheat false positives in cases involving palm trees and slopes.

GOKZ v2.3.2 - 2019/12/12

  • Adjusted how player velocity is adjusted after teleporting (to prevent booster exploits) to feel less clunky and delayed.
  • Fixed !jumptop query not working for a common SQL configuration (but for real this time).

GOKZ v2.3.1 - 2019/12/11

  • Adjusted when timer sounds are played to feel responsive despite the recent changes to "timer tech".
  • Reduced bhop block checkpoint blocking duration from 0.15 to 0.11 seconds.
  • Fixed a case where max speed would be recorded incorrectly for bunnyhops.
  • Fixed !jumptop query not working for a common SQL configuration.
  • Fixed a memory leak in gokz-jumpstats.

GOKZ v2.3.0 - 2019/12/7

  • Added a way to lock virtual buttons (timer tech). This prevents them from moving even if you press the timer button.
    • Use the new !virtualbuttons/!vb command to toggle this lock.
  • Pressing +use will now press virtual buttons every tick for 0.6 seconds.
    • Timer sound will not play every tick even if the button is being pressed (for your comfort).
  • Added crouch-jump indicator to centre panel speed text.
  • Added Get Block Distance to the !measure menu for measuring gaps between blocks.
  • Using the !spec command now has the same restrictions as pausing.
  • Reduced bunnyhop cheat false positives in cases involving teleporting and hopping.
  • !bhopcheck/sm_bhopcheck is now an admin only command as it is part of the anticheat.
  • GOKZ now targets SourceMod 1.10.

Jumpstats Overhaul

  • Jumpstats are now measured using a method inspired by GameChaos' "distbugfix".
    • This relies on the new version of MovementAPI.
  • Added new stats including:
    • Deadair (DA) - Number of ticks where no directional keys are being pressed.
    • Overlap (OL) - Number of ticks where pressed directional keys cancelled each other out.
    • W Release (W) - Tick, in relation to when you jumped, when you released your +forward.
    • Width - Amount in degrees you turned per strafe.
    • Edge - [BLOCKSTAT] Distance you were from the edge of the block when you jumped.
    • Deviation - [BLOCKSTAT] Distance you landed left or right of where you jumped from.
  • Added blockstats and failstats for all jump types (not just LongJumps).
  • Updated and condensed chat and console reports to show the new stats, blockstats and failstats.
    • Failstats reports are toggleable for chat and console in the !options/!o/!jumpstats/!js menu.
    • Added a new "Extended Chat Report" option to show a second line of stats in chat.
  • Added support for jumpstats to the local database, storing personal bests. This includes the following commands:
    • !ljpb - Show your Long Jump personal best in chat.
    • !bhpb - Show your Bunnyhop personal best in chat.
    • !mbhpb - Show your Multi Bunnyhop personal best in chat.
    • !wjpb - Show your Weird Jump personal best in chat.
    • !lajpb - Show your Ladder Jump personal best in chat.
    • !lahpb - Show your Ladderhop personal best in chat.
    • !jumptop/!jstop - Open a menu showing the top jumpstats.
    • !deletejump - [ADMIN] Remove the top jumpstat of a SteamID. Usage: !deletejump <STEAM_1:X:X> <mode> <jump type> <block?>

GOKZ v2.2.0 - 2019/9/4

  • Added gokz-saveloc allowing players to save/load locations that preserve position, angles, and velocity. Please refer to the new wiki page for more info.
  • SimpleKZ - Check out the new wiki page for details about some of the mode's mechanics.
    • Prestrafe has been reworked. The strict turn rate requirement has been removed in favour of your prestrafe scaling with how fast you're turning and also how fast you're moving.
    • Duck speed slowdown is now greatly mitigated. This is done by enforcing a minimum duck speed, and also resetting it any time you complete a duck or unduck.
    • The above changes aim to make SimpleKZ more refined for those who were a fan of the mode, and potentially more accessible for those that weren't, especially those that were struggling to prestrafe.
  • Jumpstats console report has been simplified.
  • Centre panel HUD is no longer unnecessarily tall.
  • Replay bots now wield a USP-S (except Vanilla replays which still hold a knife).
  • Rewrote the interaction between map buttons, map starts, map zones, start positions (including custom ones), and the auto-restart option, fixing many bugs and exploits in the process.
  • Made it so the player must now touch the ground in a start zone before being able to start your timer by leaving it.
  • GOKZ officially supports and is developed for 128 tickrate servers, but now only the following plugins will strictly require it: gokz-global, gokz-mode-kztimer, gokz-mode-simplekz, gokz-replays.
  • Source code and documentation is no longer packaged in releases.
  • Some forwards and natives have been updated or replaced.
    • GOKZ_OnTeleportToStart forward - removed customPos parameter
    • GOKZ_OnTeleportToStart_Post forward - removed customPos parameter
    • GOKZ_OnCustomStartPositionSet_Post forward - replaced by GOKZ_OnStartPositionSet_Post
    • GOKZ_OnCustomStartPositionCleared_Post forward - replaced by GOKZ_OnStartPositionSet_Post
    • GOKZ_GetHasStartPosition native - replaced by GOKZ_GetStartPositionType

GOKZ v2.1.1 - 2019/8/12

  • Fixed start zone exploit involving teleporting.
  • Entering the start zone of a course the player is currently not running will now stop their timer and set their start position to the start of that course.
    • Note also that start position is set to the Main Course start upon connecting.
  • Added some relatively new radio commands to the block list.
  • Radio commands are now blocked from gokz-chat instead of gokz-core.

GOKZ v2.1.0 - 2019/8/9

This update introduces a couple of new experimental features for mappers. These features will have to be further tested and reviewed before maps utilising them can be globally approved. Mappers are encouraged to try them out.

Timer Zones

  • Start timer zones start the player's timer when they leave them.
  • End timer zones end the player's timer when they enter them.
  • Start zones allow the timer to be started in midair, unless they have hit a perfect bunnyhop.
  • Timer zones do not create a virtual button (for "timer tech") when activated.
  • Entering a start timer zone will set your start position to that course's start.

Course Starts

  • Course starts mark where players will be placed when they are teleported to a course.
  • Two new associated commands have been added.
    • !main/!m - Teleport to the start of the main course.
    • !bonus/!b - Teleport to the start of a bonus. Usage: !b <#bonus>

For further details, please see the Mapping documentation.

Other Changes

  • Start timer will no longer ignore inputs (but will still not play a sound every time).
  • Vanilla bunnyhops now show the correct reduced pre-speed (286).
  • Made leaving noclip mode (letting go of +noclip) keep you paused if you are paused.
  • Fixed !gmaptop always opening for Vanilla mode even when selecting another mode.
  • Fixed gokz-anticheat not logging to SourceMod logs and the logs being inaccurate.
  • Database tables are now created using a threaded query.
  • Map courses are now are saved in the DB only if a start and end are found (instead of just a start).
  • Add a forward and a native related to how courses are now being registered.
  • Map names are now consistently retrieved and in all lower case.

GOKZ v2.0.4 - 2019/6/30

  • Bumped KZTimer mode version number to match new KZTimer plugin release

GOKZ v2.0.3 - 2019/4/5

  • Added a check to prevent an exploit related to virtual buttons (timer tech)

GOKZ v2.0.2 - 2019/3/21

  • Fixed exploit related to prestrafe and teleporting in SKZ and KZT
  • Added additional precision (decimal places) to console jumpstats output
  • You can now get jumpstats on the kz_sz_halicarnassus LJ block (only one way), and likely other maps too

GOKZ v2.0.1 - 2019/3/7

  • Fixed incorrect mode configuration.

GOKZ v2.0.0 - 2019/3/6

Racing

  • Added !duel/!challenge menu which lets you challenge other players to a 1v1 duel.
  • Added !race menu which lets you invite everyone on the server to race. By default, you need to be a VIP (admin flag a) to access this command.

Mechanics

  • In SimpleKZ, you can now prestrafe when only one directional key is pressed. This matches previous Counter-Strike games, enabling more grounded movement options.
  • Fixed inaccuracies in the adaptation of KZTimer prestrafe. Mechanics such as "prekeeping" now work correctly.

HUD

  • Timer text and speed text now have a much higher update rate.
  • Timer text now has two decimal places for your numerical pleasure.
  • Timer text can now be set to appear at the top of the teleport menu. You will see the timer text there even if you have the teleport menu disabled.

General

  • Added shortcut command !o to open the options menu.
  • Jumpstats options have been added to the options menu, which is now sorted into sections.
  • Changed defaults for the following options (can still be customised via config):
    • Mode – KZTimer
    • TP Menu – Advanced
  • Reworked how options are loaded. They should always load correctly now.
  • Spectator chat prefix is now simply * instead of *S*.
  • Fixed some cases where map boosters could be abused for jumpstats.
  • Some tips have been rewritten and some new ones have been added.
  • Separated gokz-anticheat autoban duration cvar into two - one for bhop macros and the other for bhop hacks.
  • sv_autobunnyhoppping can now be changed with gokz_settings_enforcer disabled.
  • Fixed an exploit related to gokz_settings_enforcer.
  • Fixed an exploit related to "timer tech".
  • Fixed a server freeze that could happen upon spawning.
  • Fixed various rare, minor bugs.

Technical

This section talks about the technical changes that make this a major update. If you are developer or are responsible for a server, it’s recommended to have a quick read. Otherwise, not so much.

  • GOKZ has been reviewed and refactored significantly.
    • There are now 22 plugins, each focusing on certain functionality. This change mostly consists of features being pulled out of gokz-core and into their own plugins to reduce coupling. This allows servers to easily disable features by removing a plugin. Servers can also customise many more features in code without touching gokz-core, which should be left unmodified on global servers.
    • Some plugins were renamed to better suit their current and future focus.
    • The entire project’s code style has been revised.
  • Player options have been technically reworked.
    • Player options are now stored using the clientprefs extension that comes with SourceMod. Servers may want to revise their databases.cfg for clientprefs. Migration from the old database is not officially supported.
    • Options are now registered through gokz-core in a dynamic fashion. They can be referred to by their name (a string). This provides a convenient way for other plugins to set up new options which are also stored in the clientprefs database.
  • The order of events that occur and functions that are called during a tick has been carefully revised to generally be more sensible. This ensures that the timer is accurate to the tick, and modded movement occurs before jumpstats and replays are recorded. It also became possible to remove a tick of delay from jump pre-speed being recorded and displayed to the player.
  • Configs in csgo/cfg/sourcemod/gokz have been revised. Reconfiguring from scratch is recommended.
    • A default option values config for all registered options will now automatically generate.
    • Plugin cvar configs will now automatically append any cvars added in the future.
    • gokz.cfg now contains many more highly recommended cvars.
    • A config to sort the options menu has been added. Edit this to mess with people.
  • Several technical features have been removed in favour of simpler implementations or logic. For example:
    • Radar is now disabled via sv_disable_radar 1 in gokz.cfg.
    • Command triggers are no longer blocked from chat. Instead, servers can set silent chat triggers in csgo/addons/sourcemod/configs/core.cfg.
    • Removed or altered some plugin forwards and natives to suit the new implementation of certain features.
  • Several forwards and natives have been added for new and old features, including a forward for when gokz-replays saves a replay.
  • Fixed some plugin late-loading behaviour mostly for development purposes.
  • Fixed gokz-global not auto-updating.
  • Thanks to a detailed report from sneaK, several memory leaks have been addressed. Any reports on the performance, with vprof data or handle dumps if possible, are greatly appreciated.
    • Some CPU optimisation work has been done, however the increased HUD update rates may counteract this somewhat (worth it!).

Server Updating Steps

Be sure to take any necessary precautions before deleting files.

  1. Delete all gokz-* plugins in csgo/addons/sourcemod/plugins.
  2. Delete all files in csgo/cfg/sourcemod/gokz (or delete the entire folder).
  3. Optionally, remove any other files included in previous releases to reduce clutter.
  4. Install GOKZ 2.0.0 by following the normal installation instructions. Be sure to update MovementAPI to 2.0.0.

GOKZ v1.3.2 - 2018/12/11

  • Modes now control the new movement ConVars introduced with the Danger Zone update

GOKZ v1.3.1 - 2018/10/6

  • Fixed false end sound getting spammed when touching a touchable end button

GOKZ v1.3.0 - 2018/10/6

  • Added sounds for when end timer is pressed while timer isn't running, aiding 'timer tech' setup
  • Changed Vanilla timer sounds to a 'classic' sound
  • Added the "Disabled" pistol option that enables players to have only their knife
  • Fix player top menu (!top) not working correctly
  • Updated URLs used for Updater plugin

GOKZ v1.2.1 - 2018/9/13

  • Fixed incorrect version increment in previous version (1.2.0)

GOKZ v1.2.0 - 2018/9/9

  • Added R8 Revolver as a pistol option
  • Fixed running speed not being 250 u/s for certain weapons (SKZ, KZT)
  • Added restrictions to 'timer tech' to match KZTimer and prevent exploits
  • Fixed first spawn detection and anti-macro warning not printing sometimes
  • Fixed a core plugin error and it breaking when changing to certain maps
  • Added support for SourceBans++ 1.6.3
  • Revamped project documentation on BitBucket

GOKZ v1.1.0 - 2018/8/3

  • Adjusted centre panel colours for panorama UI update
  • Adjusted timer and speed text colours and position for panorama UI update
  • Round timer is no longer hidden due to the panorama UI update
  • Added 'auto-crouch' functionality to teleporting to prevent getting stuck
  • Added mode selection to !top and !maptop menu sequences
  • Fixed a bug that resulted in ending the player's time
  • Fixed auto-restart not working from on a ladder
  • Fixed inaccuracies in replay recording, jumpstats, and speed/keys HUD that resulted from modes setting the player's speed or keys

GOKZ v1.0.4 - 2018/1/20

  • Fix error in phrases file causing Chinese message to show up when using English
  • Add extra check to prevent the round from ending/restarting
  • Add mp_buytime 0 to gokz.cfg
  • Fix !spec and !goto menus breaking over time
  • Some adjustments and fixes to gokz-antimacro
  • Fixed SourceBans++ support for common versions (hopefully)
  • Add 128 tickrate check to assist server configuration

GOKZ v1.0.3 - 2018/1/13

  • Added Simplified Chinese translations (thanks Kxnrl)
  • Fixed database table creation for older versions of MySQL
  • Stopped printing message when falling too far for WJ with jumpstats disabled

GOKZ v1.0.2 - 2018/1/11

  • Fix a feature crashing the server
  • Fix local !maptop being inaccurate (thanks Chuckles)
  • Add functionality to allow the map/round to end when time left runs out
  • Add mp_ignore_round_win_conditions 1, mp_match_end_changelevel 1 to gokz.cfg
  • Fix KZTimer prestrafe to be more like the KZTimer plugin (now lingers for 0.2 seconds)
  • Adjust SimpleKZ prestrafe to work when playing with low fps (should NOT be any different otherwise)
  • Fix exploit when starting timer

GOKZ v1.0.1 - 2018/1/10

  • Fix SQL errors that affected some databases and somehow resulted in broken triggers
  • Fix a problem with verifying the map's global status
  • Prevent multiple global bans for same player from being submitted
  • Add mp_spectators_max 32 to gokz.cfg

GOKZ v1.0.0 - 2018/1/9

First release.

Updated