Releases: shavitush/bhoptimer
Releases · shavitush/bhoptimer
v2.5.5
v2.5.5 update notes
This update features automatic database migrations. Backup your database and read this gist before updating.
Somewhat big update. I'm unmotivated recently so it'll probably be a while until next one.
prespeed
setting in style config now supports the value of 2. If it's set to 2, the value ofshavit_core_nozaxisspeed
will be respected by the style.- Fixed an error that occurs when someone finishes a map without having any sound in the "noimprovement" section.
- Fixed record cache issues when maps have more than 1000 records combined between all styles/modes.
- After opening the KZ menu manually, it will be kept open unless interrupted by other menus.
- Fixed points recalculation for long map names.
- Fixed SQL query issues when using table prefix.
- Fixed foreign key constraints issues when running multiple bhoptimer servers on the same database.
- Added new CS:GO radio commands to the radio block list.
- Split replay loaders for the different kinds of replay formats. (technical change, helps me maintain the code)
- Fixed the very first frame of replays from version 1.4b and below not being played.
- Added
shavit_rankings_llrecalc
cvar, see the section below. - Optimized chat plugin to not query the database for data saving unless it is needed.
- Added database migrations! Refer to my gist about it.
- Optimized the database structure by A LOT. Wait a while (depends on how big your database is) after starting the server, after updating. You should wait at least 30 min for big databases before restarting the server.
- Added the ability to force invisible zones to be shown the players. The use case is making glitch zones visible to players while not doing it for all of them.
- Added custom sv_airaccelerate zones.
- Changed the behavior of No Speed Limit zones to Custom Speed Limit. All old zones are unlimited speed limit.
- Added GitHub Sponsors. Sponsoring itself is not usable right now because I'm not accepted yet though.
- Fixed "weapon is not owned by client " error.
- Added tracking for map completions. It is shown in the submenu of a record's details.
- Added "simplerladders", see cvar section.
- Optimized rankings plugin to not query the database for recalculations more times than needed.
- Split database handles per-plugin instead of using the same connection for all of them.
- Fixed sync for HSW. Thanks @Nairdaa!
Console Variables
shavit_rankings_llrecalc
- Maximum amount of time (in minutes) since last login to recalculate points for a player.sm_recalcall
does not respect this setting. 0 - disabled, don't filter anyone. This setting optimizes recalculation time by a lot.shavit_core_simplerladders
- Allows using all keys on limited styles (such as sideways) after touching ladders. Touching the ground enables the restriction again.
v2.5.4
v2.5.4 update notes
This is a hotfix update with some changes requested shortly after the v2.5.3 update.
- Added
force_groundkeys
style property. It forces the key blocking settings even when on ground. e.g. enabling this on W-Only will not allow prestrafing with the A/D keys. - Fixed an issue that caused !r to not show up the menu that has "your timer will stop" warning.
- Slight reorganization the checkpoints menu. I moved the reset button one item below, and it now has a confirmation prompt when you try to reset your checkpoints.
- Fixed multiple issues with the KZ menu. Additionally, it will now not keep persisting when manually closed.
- Fixed an issue that caused autobhop WR submenus show the perfect jump %.
- Fixed a query error with the !rr command on servers running MySQL 5.7 and
ONLY_FULL_GROUP_BY
. Lower versions, and MariaDB servers are unaffected.
v2.5.3
v2.5.3 update notes
- Added pause button in KZ CP menu.
- In addition, the KZ CP menu now persists and will re-open in case it disappears.
- Fixed error when a player uses !top before the rankings have been calculated.
- Removed the pointless round restarting logic in the Dynamic Timelimit module.
- Made the default method for zoning to be aiming.
- Added warning that shows up before using functionalities that can stop the timer when your time passes a defined number of seconds. See the new added console variable
shavit_misc_stoptimerwarning
. This is triggered on noclip/stop and style changing commands. - Added
"noimprovement"
sound config file. The sound will play if you finish the map, but not beating your personal best.
Console Variables
shavit_misc_stoptimerwarning
- the amount of seconds someone's timer needs to have to receive the "your timer will be stopped" warning upon using !stop, !nc or changing their style.
API
- Added natives:
Shavit_CanPause
- determines whether a player is able to pause or not. A value of 0 means that they can pause or resume their timer. Otherwise, this native retrieves flags:CPR_ByConVar
,CPR_NoTimer
,CPR_InStartZone
,CPR_NotOnGround
. Sample usage:
if((Shavit_CanPause(client) & CPR_ByConVar) > 0)
{
// this code will be executed if the pause cvar is disabled
}
-
New native behavior:
Shavit_ResumeTimer
- now has a second parameter,teleport
. True will teleport the player to the position they paused at.
-
Added forwards:
Shavit_OnTeleport
- called upon teleporting with a checkpointShavit_OnStopPre
- called when the timer is stopping. Ignored whenShavit_StopTimer
is called with thebypass
parameter set to true. Returningfalse
here will prevent the timer from stopping.
v2.5.2
v2.5.2 update notes
- Fixed harmless error that occurs when a player is disconnecting before getting fully in-game.
- Fixed being able to break records by -0.000. Might or might not work. Probably does though.
- Added integrity checks to replay files.
- Fixed minor memory leak caused by loading corrupted replay files.
v2.5.1
v2.5.1 update notes
Highly recommended to update if you're on v2.5.0.
- Fixed a game breaking exploit related to persisted data.
v2.5.0
v2.5.0 update notes
- Added
enabled
,inaccessible
andkzcheckpoints
style modifiers.enabled
- 0 to disable a style, -1 to disable it from being shown in all menus.inaccessible
- disables manual switching to the style. You may only switch to such a style using external modules (use case is TP mode for KZ).kzcheckpoints
- enables a new mode for checkpoints. They don't modify the timer, you don't keep your speed and they get reset as soon as you start a new run.
- Added persisting for timer data (also known as "saveloc") on player disconnection.
- Optimizations to database structure have been applied. If your initial installation was prior to this release, please follow the database maintenance wiki page's instructions.
- Optimizations to database queries have been applied as well.
- Improved cvar enforcing in replay plugin.
- Re-added the "No Speed Limit" text to CS:S HUD.
- Fixed foreign key error in chat module.
- Fixed errors in chat module when running SQLite.
- Changed default zone modifier setting to 16 units.
- !replay now opens the menu at the same page if playback fails.
- Fixed a bug that allowed teleporting to deleted checkpoints.
- Fixed a rare bug with replay playback.
- Fixed WR counter being inaccurate.
- Fixed compatibility with
ONLY_FULL_GROUP_BY
database servers. - Removed very old table migration code due to it being slow.
- Now !style shows bonus rank 1 times if you're on bonus track.
- Added a decrease button for grid snap during zone setup.
- Added !mapsdone and !mapsleft commands.
- Maps left menu now shows map tier.
- Removed old delete function from admin menu.
- Fixed
mp_humanteam
setting being ignored. - Changed zone setup to be easier for bonus zones.
- Transition to last frame of the replay will be smoother now.
- Fixed replay HUD bug for styles with speed multipliers.
- Fixed issues with the replay counter for HSW.
- Revamped spawn point addition. It also supports bonus track now.
- Fixed rare bug caused by slow databases.
Console Variables
shavit_misc_hidechatcmds
- hides all commands in chat.shavit_misc_persistdata
- controls minimum time (in seconds) to persist timer data for a player that disconnects.
API
- Added forwards:
Shavit_OnTeleport
- called upon teleporting with a checkpointShavit_OnSave
- called upon saving a checkpoint
v2.4.1
v2.4.1 update notes
- Fixed exploit related to checkpoints.
- Added
sm_wipeplayer
command. - Added style ordering to menus. Use
ordering
style config to order styles without changing their IDs. - Added the ability to stop replay playback as the requester.
- *Improved logging of single-record deletion.
!replay
command moves you to spectator, and refers you to the replay bot upon use now.- Added PB split to HUD. The top-left HUD will split to two sections; "best" and "PB".
- Added map tier to start zone HUD.
- Fixed unintended behavior with checkpoints menu.
- Added the
{rank}
format specifier to custom clan tag console variable. !r
shows the track in the message if start zone doesn't exist.- Fixed HUD showing wrong time when playing with timescale.
- Fixed checkpoints not properly setting
targetname
andclassname
. - Fixed error when certain commands are used from the server's console. This fix allows them to work now.
- Changed
!deleteall
so you can delete all records per-style rather than just per-track. - Fixed an issue where deleted replays would not be overwritten.
- Added cooldown for replay playback/stop for non-admin users.
- Fixed replay bots breaking at certain interactions; such as stopping playback between the replay's end and its nullification and then requesting new playback.
- Improved smoothness of all replay playback.
- Fixed a bug that caused the last frame of replays seem out-of-place.
API
-
Added natives:
Shavit_ChangeClientStyle
Shavit_ReloadLeaderboards
Shavit_DeleteReplay
Shavit_GetOrderedStyles
Shavit_IsPaused
-
Added forwards:
Shavit_OnRankAssigned
A relatively big update considering it's a minor version, have fun!
v2.4.0
Note: bhoptimer now requires SourceMod 1.10 or above.
- Revamped HUD for CS:GO. CS:GO HUD has been technically modified so it is easier to manipulate for developers.
- Restructured the whole plugin to use
enum struct
. Code should be easier to understand. As far as I'm aware other modules should not break. However, they will need to be modified if a recompilation is desired. - Fixed chat colors in CS:GO.
- Deprecated
Shavit_GetPlayerPB
andShavit_GetWRTime
. UseShavit_GetClientPB
andShavit_GetWorldRecord
respectively. - Added
shavit_rankings_weighting
cvar. This allows you to control the weighting in rankings. Set this to1.0
to disable weighting and instead give users the exact amount of points shown in record submenus. - Changed
users.name
collation toutf8mb4_general_ci
. This is not an automatic migration and will require manual action for existing installations. - Added
shavit_core_nochatsound
to get rid of the chat ticking sound from timer messages. - Fixed exploit in chat plugin that allowed breakage of the chat in CS:S.
- Fixed RTLer not working in chat plugin.
- Fixed attempts to teleport a kicked/non spawning central bot resulting in logged errors and paused script execution.
- Changed !hud so it is easier to understand for the end-user. The menu now also has new settings that allow you to disable the main HUD's components individually.
- Added commands to toggle frequently changed HUD components. !keys, !master, !center, !zonehud, !hideweapon, !truevel
- Fixed exploit allowing users to submit segmented runs as if they were done in realtime.
- Fixed server crash exploit with checkpoints.
v2.3.6
bhoptimer v2.4.x and above will require SourceMod 1.10 (6371 or newer)
- Fixed out of bounds error in Shotgun Shot sound hook
- Prioritized custom spawns > server zones > prebuilt zones
v2.3.5
- Fixed some stats being off (map completion, ranks etc)
- Fixed targetnames and classnames not saving properly in checkpoints
- Updated run speed offset for CS:GO
- Made color formatting in
shavit-chatsettings.cfg
possible