Whenever you update your Get5 plugin, remember to always update the translations
folder. If you only replace the
.smx
files, Get5 will likely error as translations are often changed between versions.
Please see the installation instructions for details.
This update changes the behavior of configuration parameters to make parameters apply consistently. Previously, only some configuration parameters would reset on map change while others would not.
The FCVAR_DONTRECORD
flag has been
removed from all parameters, which means they all reset to the value stored in the
main configuration file when the map
changes. In practice this means that any value you change during the course of a map via the console will not persist
through a map change. If you want configuration parameters to be match-specific, you must either change them in the main
config file or include them in the cvars
section of your
match configuration, which is loaded immediately following
a map change. If you already use cvars
and don't set parameters via console, you can safely update to 0.15.0.
The following configuration parameters are now FCVAR_PROTECTED
, which means you can only set their values, never
read them back from the console (it will output 1
if set and 0
if empty):
Bugfix.
- Fix missing loading of
cvars
if also usingveto_mode
with a KeyValues match configuration.
Bugfix and minor adjustments.
- Fix missing acknowledgement of the
--side_type
argument forget5_creatematch
. - Rename helper function
SideTypeFromString
toSideChoiceFromString
. - Add
get5_demo_upload_use_put
andget5_demo_upload_timeout
to improve flexibility of demo uploads.
Bugfix.
- Prevent the presence of coaches in teams from messing up the stats in JSON events.
Minor bugfix.
- Fix invalid parsing of workshop maps with IDs consisting of 64-bit integers.
Minor bugfix.
- Prevent first joining player from resetting the ready waiting timer back to zero.
Hotfix of stuff that should have been in 0.14.0.
- Fixed "create match with current teams" from the
!get5
menu. - Add option to disable formatting known map names
via
get5_format_map_names
.
Note: Removed from releases. Please use newest 0.14.x instead. All changes below still apply.
-
The
Get5_OnPlayerSay
event now includes messages sent from Console (or potentially GOTV). You should filter out these messages on your end if you don't want to react to them. Note that console is alwaysuser_id
0 and GOTV's name is alwaysGOTV
. Alternatively, you can ignore all messages with an emptysteamid
. -
The stats system has been updated. This means that the structure has been modified to allow for more information, specifically the starting side and score for each side for each team, full stats for players as well as a new option to add team IDs.
If you use any of the stats extensions, you must also update those plugins (
get5_mysqlstats.smx
andget5_apistats.smx
)!These changes affect the structure of the
get5_matchstats.cfg
file generated byget5_dumpstats
and theKeyValues
returned by theGet5_GetMatchStats
native. These are not changes to the JSON objects (see below for that) or the schema of the MySQL extension. If you don't use the native or dump match stats to a file, this does not affect you.Keys changed in the map root (i.e.
map0
):team1_name
andteam2_name
removed.team1
andteam2
added (objects), each with anid
and aname
key.
Keys changed for each team (i.e.
map0 -> team1
):- Players' SteamIDs and stats have moved from the root of the team object into an object called
players
. - Added
score_ct
- Added
score_t
- Added
starting_side
(2
for T,3
for CT as this is an integer enum)
-
The structure of the
Get5_OnSeriesInit
JSON event has changed:Old:
{ "event": "series_start", "matchid": "29844", "team1_name": "TeamName", "team2_name": "AnotherTeamName" }
New:
{ "event": "series_start", "num_maps": 3, // Bo3 "matchid": "29844", "team1": { "id": "482", // nullable in JSON, empty string in SourceMod. "name": "TeamName" } // same for team2 }
-
The structure of the
Get5_OnMapResult
JSON event has changed:Old:
{ "event": "map_result", "matchid": "29844", "map_number": 0, "winner": { "team": "team1", "side": "t" }, "team1_score": 10, "team2_score": 12 }
New:
{ "event": "map_result", "matchid": "29844", "map_number": 0, "winner": { "team": "team1", "side": "t" }, "team1": { "id": "482", // nullable in JSON, empty string in SourceMod. "name": "TeamName", "series_score": 1, "score": 10, "score_ct": 4, "score_t": 6, "side": "t", "starting_side": "ct", "players": [ { "name": "Nyxi", "steamid": "76561197996426755", "stats": { // Full player stats. } } ] }, // same for team2 }
-
Similarly to 4., the structure of the
Get5_OnRoundEnd
JSON event has changed:Old:
{ "event": "round_end", "matchid": "29844", "map_number": 0, "round_number": 21, "round_time": 34944, "reason": 8, "winner": { "team": "team1", "side": "t" }, "team1_score": 10, "team2_score": 12 }
New:
{ "event": "round_end", "matchid": "29844", "map_number": 0, "round_number": 21, "round_time": 34944, "reason": 8, "winner": { "team": "team1", "side": "t" }, "team1": { "id": "482", // nullable in JSON, empty string in SourceMod. "name": "TeamName", "series_score": 1, "score": 10, "score_ct": 4, "score_t": 6, "side": "t", "starting_side": "ct", "players": [ { "name": "Nyxi", "steamid": "76561197996426755", "stats": { // Full player stats. } } ] } // same for "team2" }
These changes affect the corresponding forwards as well, so if you have a plugin that reads this data, you must update it. For full details and the SourceMod properties, see the event documentation.
-
Get5 no longer sets its game state to
none
immediately following the end of the series, but now waits until the restore timer fires. Get5 will be inpost_game
until the timer runs out, similarly to when waiting for the next map. This means that GOTV broadcasts will have a chance to finish before Get5 releases the server. -
The map is now always reloaded when a match configuration is loaded if a game was previously played on the same map with no map reload in between. This is in effort to clear the game state and prevent bugs such as the warmup countdown timer stopping at 0.01.
-
The
get5_creatematch
command has been replaced by a CLI-like command which lets you configure almost any type of match with a single command. -
num_maps
in the match schema now defaults to1
instead of3
. -
get5_scrim
and the accompanyingscrim_template.cfg
file is now considered legacy, and you should instead useget5_creatematch --scrim --team1 home_team
and add your home team to the new teams file to achieve the same result. -
Get5 now uses version 5.x of
sm-json
, which contains important fixes to plugin forwards. If you have any custom plugins reading from Get5 forwards, they should also update their version of this library and be recompiled. -
Removed
HasAssist()
andHasAttacker()
fromGet5PlayerDeathEvent
in SourceMod forwards. You should simply checkAssist
andAttacker
for null, respectively. -
Validation of JSON files is stricter than before. For instance; an empty string for a boolean or numeric value will now throw an error. As will
"0"
and"1"
. The reasoning behind this is to prevent silent errors such as a match file loading "correctly" but with unexpected behavior. Anyone using JSON files should consult the match schema prior to upgrading. -
Validation of KeyValues files (
.cfg
) is also stricter than before, and the feedback on errors should be better.
- Get5 is now built with SourceMod 1.11.
- The JSON "pretty print" spacing string has changed from 4 spaces to 2 spaces. This is strictly to reduce the size of the JSON payload and has no practical effect on the objects.
- The
get5_mysqlstats
extension now uses a transaction to update stat rows for each player. This improves performance via reduced I/O between the game server and the database server. It now also runs on the JSON methodmaps provided to forwards instead of copying the KeyValue stat object. - The documentation of events is now rendered separately using ReDocly instead of being embedded in the Get5 documentation website. This allows for more space and makes it easier to browse/read. It also allows you to link directly to an event.
- The team configuration
parameters (
mp_teamname_1
,mp_teamflag_1
,mp_teamlogo_1
etc.) are now reset to blank when Get5 ends a series. Previously, these parameters would linger and would have to be manually reset or replaced by loading a new match configuration. - You can now provide an
id
parameter to your team objects in match configurations, which is echoed back in the forwards and JSON events. side_type
now acceptsrandom
as a parameter.- Workshop maps are now correctly formatted in the map veto system, assuming they contain a known map.
I.e.
workshop/82722474/de_nuke_2
would format toNuke
, since it containsde_nuke
. Previously, a complete match was required. The default Wingman maps now also format correctly (de_lake
=>Lake
etc.). - The
!get5
menu has been significantly upgraded and now supports creating almost any type of match, similarly to the newget5_creatematch
command, but using in-game menus only. It now also lets you browse recent backups and set a winner if force-ending a match. - Any match configuration file can now take
scrim: true
in order to load in scrim mode, andteam2
will then not be required. - Cobblestone is now correctly detected in the chat-based veto system when typing
!ban cobble
. This needed a workaround as the map file is the only one that's actually misspelled (de_cbble
).
- Fix critical memory leaks and heap size issues.
- Fix missing HTTP event for
Get5_OnTeamReadyStatusChanged
if a team goes from ready to unready.
-
The map selection ("veto") system has been entirely reworked and can now be customized. Please see the development documentation for details. It is now also chat-based instead of using in-game menus. As the map selection system uses the
!ban
command, Get5 will now unload the defaultbasebans.smx
SourceMod plugin to prevent conflicts, as this also uses the!ban
command. You are encouraged to instead simply remove this plugin from your server (delete it or move it to thedisabled
folder). -
Get5_OnMatchUnpaused
'steam
property now always reflects the team that started the pause. Previously, this would be the team that triggered the unpause. -
Technical pauses can now be enabled without enabling tactical pauses. Previously, you would have to enable tactical pauses via
get5_pausing_enabled
to have access to technical pauses viaget5_allow_technical_pause
. These have now been decoupled. -
get5_server_id
is now a string instead of an integer, which changes a few things:4.a. If you use the default MySQL extension for stats, you must run this command to make your
server_id
column accept a string. If you don't run this, and you set a non-integer value as yourget5_server_id
, your server will error. If you continue to use a regular integer for the cvar, it will still work without modifying your database schema.get5_server_id
also still defaults to"0"
for backwards compatibility.ALTER TABLE `get5_stats_matches` MODIFY COLUMN `server_id` VARCHAR(64) NOT NULL DEFAULT '0'
4.b. The native has changed from:
native int Get5_GetServerID();
to this, accepting a buffer instead of returning an integer:
native void Get5_GetServerID(char[] id, int length);
-
get5_surrender_required_votes
is now limited by the value provided toplayers_per_team
, so you will not have a situation where you don't have enough players to successfully vote to surrender. -
Pauses are not consumed until they actually start, which means they can be canceled if you
!unpause
before the round ends. This behavior can be controlled viaget5_allow_pause_cancellation
.
- Admins can now use the
command
get5_add_ready_time
to add more time during ready-up phases if a team needs more time. - Tactical pauses now default to 60 seconds fixed-duration
via
get5_fixed_pause_time
instead of a total pause time of 300 viaget5_max_pause_time
. This changes nothing for existing servers and only affects new installations of Get5. - The in-game pause counters are now used for tactical timeouts, which makes them work properly with various GOTV overlays.
- To bring pauses more in line with the built-in ones, the ability to unpause fixed-duration tactical pauses if both
teams
!unpause
can now be disabled viaget5_allow_unpausing_fixed_pauses
. - There is a new forward/event
called
Get5_OnPauseBegan
, which fires when a pause begins, unlikeGet5_OnMatchPaused
, which fires when pause is called by a player, even if it does not begin until the next round. - If the map the server is on also happens to be the first map to be played after map selection, the server will not reload and ask everyone to ready, but instead simply start the match.
- Get5 now speaks Greek, Turkish and Swedish. (Thanks @GekasD, AliOnIce and OmegaSkid, respectively).
- You can now add Workshop maps to the
maplist
. Please note that this requires a Steam Web API key, or your match configuration will fail to load. - Get5 now officially supports Wingman. If you are upgrading a Get5
installation, remember to copy in the new wingman config file from
cfg/get5/live_wingman.cfg
if you want to run Wingman matches. get5_pause_on_veto
now defaults to enabled for new installations.- You can now
set
get5_kick_on_force_end 1
if you wantget5_endmatch
to adhere to the value ofget5_kick_when_no_match_loaded
.
This is a bugfix release. There are no breaking changes or translation changes, so you only need to replace
the get5.smx
for this one.
If you use the Get5_OnEvent
forward in another plugin, please make sure it still works. It had wrong syntax, so it's
unlikely you would have been using it in its previous format anyway.
- Fix syntax error for SM 1.11+ in the
Get5_OnEvent
forward. @hammy2899 in #964 - Fix a problem
where
get5_demo_delete_after_upload
was not working ifget5_demo_path
was set. @nickdnk in #965
- @hammy2899 made their first contribution in #964
Full Changelog: https://github.com/splewis/get5/compare/v0.12.0...v0.12.1
0.12 is now available. A bunch of stuff has been improved, bugs have been fixed and new features have been introduced.
Please test it out and report any problems. As always, remember to update your translations
folder and read the
breaking changes (since 0.11).
Translations are still a bit hit-and-miss for some languages, so if you want to help complete them, head over to the documentation for instructions on how to help.
Get5-DemoName
header when uploading demos has been renamed toGet5-FileName
, as this now also applies to uploading backups.- Player connect/disconnect events/forwards now only fire when a match config is loaded (but now include
matchid
). - You must now
provide
get5_time_to_start_veto
separately fromget5_time_to_start
. If you don't set this variable, players will have infinite time to ready for veto. maplist
is now required in match configurations. There is now no "default map list" in Get5.- The
filename
property of thedemo_finished
anddemo_upload_ended
events now includes the folder, i.e. the full path to the file, ifget5_demo_path
is set. Get5_OnPreLoadMatchConfig()
no longer fires when loading a backup file.- If you use
fromfile
, make sure to always have JSON files end with.json
, or Get5 will assume they are KeyValues, regardless of the format of the match config.
- You can now opt to disable the
!stop
command usingget5_stop_command_no_damage
andget5_stop_command_time_limit
. - Bots are now considered players in deciding the knife round winner and will also trigger 1vX player stats.
- You can now use
fromfile
when loading bothmaplist
,spectators
andteam1/team2
in the match configurations, and both JSON and KeyValues is supported. - You can use
{TEAM1_SCORE}
and{TEAM2_SCORE}
inget5_hostname_format
. - ConVars can now be up to 512 characters, previously limited to 128. Note that the source of setting Cvars might
impose a shorter length (direct console input seems to only allow up to around 128, but
get5.cfg
allows you to set up to 512). Your mileage may vary. - You can prevent Get5 from restoring parameters provided in the
cvars
section of a match configuration to their pre-Get5-value usingget5_reset_cvars_on_end
- this is useful if you only use Get5 and want to provide parameters in your configs that don't like to be reset when the series ends. - You can now automatically upload backups and also load
backups from a remote URL
using
get5_loadbackup_url
. - All HTTP requests sent by Get5 (loading match config, loading backup, uploading demo, uploading backup, sending
events) now include a
Get5-Version
HTTP header with the SemVer of Get5 (i.e.0.12.0
or0.12.0-353cee5
for a nightly), so you can gracefully handle breaking changes on the server-side - or outright refuse to communicate with an outdated server. - You can now add custom aliases to all chat commands.
- Fixed a problem where players at index 0 in JSON match configurations were not elected as captains for veto.
- Increased max heap size from 4kb to 128kb to prevent various out-of-memory errors (Thanks @thelitlej).
- Fixed a problem with the backup system that would cause problems if restoring from the first round of the second half to any round in the first half.
- Lots of improvements to error handling/feedback related to match loading, team loading and backups.
- The hostname set
via
get5_hostname_format
now properly resets when a series ends. - Fixed a problem where loading a backup on a non-live server that happens to be on the correct map would not trigger a ready-up for backup restore, but instead immediately load the backup.
- Players are no longer marked as ready if they suicide in warmup
when
get5_auto_ready_active_players
is enabled (killed via!coach
for instance).
- @thelitlej made their first contribution in #944
Full Changelog: https://github.com/splewis/get5/compare/v0.11.0...v0.12.0
- Improved communication to players about the use/availability of
!coach
,!ready
and!unready
commands during warmup, depending on match and individual player state. - Doubled duration of the auto ready hint so players are less likely to miss it.
- Consumed pauses are now included in backups, so they can be properly restored if the game state is lost or if a new server is needed.
- The
Get5_OnSeriesResult
event/forward now has atime_to_restore
property, letting you know how long until Get5 no longer manages the server and GOTV broadcast has ended. - Demos are no longer split into two files if you
use
get5_loadbackup
for the **same match and map ** during the live phase. - Prevent suicide via console using
kill
orexplode
. - Updated German translation. (Thanks @Apfelwurm)
- Updated French translation. (Thanks @Iwhite67 @Gryfenfer97 @Maruchun0)
- Updated Russian translation. (Thanks @Saph1s)
- Updated Hungarian translation. (Thanks @enerbewow)
- Updated Portuguese transaltion. (Thanks @SidiBecker and Nathy)
- Updated Danish translation. (@nickdnk)
- Improved Polish and Spanish translation. (Thanks axsusxd)
- Lots of improvements to the documentation.
- Lots of improvements to CI (Thanks @PhlexPlexico @Apfelwurm).
- The format of Get5 backup files has changed to now
include
get5_server_id
to prevent backup file collisions. - The
mp_backup_round_file
convar is now managed by Get5 automatically and also usesget5_server_id
to prevent file collisions. - Backup files made with previous versions of Get5 cannot be used.
- The built-in backup files created by the game (
backup_round00.txt
etc.) are now removed automatically by Get5 when merged into the Get5 backup system. - A new game state has been
introduced:
pending_restore
, which is used when changing to a different map during a restore from backup. Previously, this would be eitherlive
orwarmup
. - Removed
get5_end_match_on_empty_server
as it was unreliable and buggy. You should instead use the new forfeiting system for similar behavior.
- Access to the
!forceready
command can now be disabled withget5_allow_force_ready
. ( @nickdnk) - You can now automatically start a tech pause if enough players leave a team. (@nickdnk)
- All Get5 events can now be sent as JSON over HTTP to any remote host. (@nickdnk)
- A new system for surrendering and forfeiting has been introduced. Note that the forfeit system is * enabled* by default, so you must turn it off if you don't want it. (@nickdnk)
- You can now automatically upload demos over HTTP when recording ends. (@PhlexPlexico and @nickdnk)
- Demos and backups can now be stored in subfolders. (@PhlexPlexico and @nickdnk)
get5_loadmatch_url
now takes optional header key/value arguments to allow for authorization. (@Apfelwurm)- You can now choose to include coaches in the
!ready
-system using thecoaches_must_ready
property in your match configuration. (@nickdnk)
- Fixed a problem where players would sometimes spawn in odd places when auto-placed onto teams when joining the server.
- Fixed a problem where you could not join a team even if no Get5 match configuration was loaded.
- Fixed a problem where a "CTs win!" callout would be heard as warmup ended, messing up the start of the knife round.
- Added missing
Player
property to theGet5PlayerSayEvent
. - Fixed a problem where the use of numbers in the cvars section of JSON match configurations would result in undefined behavior.
- Fixed a bunch of issues with runaway timers causing problems if ending and restarting matches at various times, such as when waiting for a map change or a knife round decision.
- We now prevent users from loading backups when it is not safe, and from issuing various commands that are not safe while waiting for a backup. This could cause all kinds of problems.
- We now prevent multiple backups from being loaded on top of each other if multiple
!stop
orget5_loadbackup
commands are issued in succession. - We no longer stop recording demos right after a match ends if there is a non-zero
tv_delay
, as it would cause the GOTV broadcast to freeze when the file is flushed to disk. This is a Valve bug we can only work around.
...and many, many more minor adjustments and tweaks. As always, big thanks to everyone who helped test and provide feedback on all the changes since 0.10, especially to OmegaSkid from SCL and @LukasW1337 from HLTV for daring to run nightly builds in production.
If I forgot to tag someone for something you helped with, @nickdnk.
Full Changelog: https://github.com/splewis/get5/compare/v0.10.5...v0.11.0
Small hotfix. Should have been in 0.10.4, but hindsight 20/20.
- Remove team
[READY]
tags if there is no knife round. #890.
Full Changelog: https://github.com/splewis/get5/compare/v0.10.4...v0.10.5
This is a bug-fix release.
- Fixed a case where multiple calls to
!stop
(such as all players spamming it) would cause Get5 to load multiple backups on top of each other. #887. - Fixed some lingering issues with timing of
!stay
or!swap
which were thought to have been fixed in 0.10.3. To truly mitigate this problem, you now cannot elect to stay or swap until the knife round has completely ended and the game has returned to warmup mode. The defaultmp_round_restart_delay
in the knife round has been reduced to 3 seconds, but you can set this even lower in the knife.cfg if you wish. #888 g_KnifeWinnerTeam
now gets properly reset so that an unfortunately-timed restart of a match will not mess up the knife round. #888
Full Changelog: https://github.com/splewis/get5/compare/v0.10.3...v0.10.4
This is strictly a bug-fix release. A problem has been identified and corrected that would cause a !swap
or !stay
command issued in a 1-second gap right as the knife-round ends to send the game directly into live mode, skipping the
countdown, with an incorrect round number for the Get5_OnRoundStart
event/forward.
- Fix problems with game going directly to live, skipping countdown.
Full Changelog: https://github.com/splewis/get5/compare/v0.10.2...v0.10.3
- You can now define
spectators
in scrim templates. - Some code was optimized and renamed.
-
Sorted some problems related to team assignment priority when players are defined in multiple places in the match configuration.
Players are now consistently assigned a slot in this order:
- Spectator
- Coach for
team1
- Coach for
team2
- Player on
team1
- Player on
team2
If not found in any of these places, or if their assignment has no free slots, players are removed from the server.
-
The number of spectators cannot exceed
mp_spectators_max
and additional spectators will be kicked similarly to how players are kicked if a team is full.
Full Changelog: https://github.com/splewis/get5/compare/v0.10.1...v0.10.2
A minor release here fixing some discovered problems with 0.10.0. There are no breaking changes.
-
The game no longer restarts (
mp_restartgame 1
) when loading a backup, as that would break some tournament logging systems. It now sends the game into warmup instead and then loads the backup. -
The secondary GOTV (
tv_enable1
) is no longer kicked when performing a team!swap
. It also no longer announces 2xPlayerX is now coaching Team X
if you have coaches in the game. -
As version 0.10.0 did not really work with
get5_check_auths
disabled, this has been remedied as well as it can. Note that running Get5 with team-locking disabled is discouraged and many things are not guaranteed to behave as you would expect. We recommend you leave it on (the default) and useget5_creatematch
when players have joined the teams they want to be on, instead of loading match configurations with no SteamIDs in the teams. The coaching bug still exists if you use!coach
without locking Steam IDs, as Get5 forwards to the internalcoach t
andcoach ct
commands in this case, which suffer from this problem, so beware of this! There is no coaching bug if locking the teams. -
Team names are now
team1
andteam2
internally if no team name was provided. The team name gets auto-corrected when a player joins a team (team_PlayerName
), but in between this, the team names would be empty, causing some messages to misbehave.
Full Changelog: https://github.com/splewis/get5/compare/v0.10.0...v0.10.1
Version 0.10.0 is now completed. A lot has changed in this release and many bugs have been fixed. This is probably what version 0.9.0 should have been, so we strongly encourage everyone on 0.9.0 to upgrade to this version as soon as possible.
-
If you are updating from a version prior to 0.9, please read the breaking changes for that release as well: https://github.com/splewis/get5/releases/tag/v0.9.0
-
Removed deprecated
bo2_series
andmaps_to_win
match config parameters. Usenum_maps
andclinch_series
to achieve similar behavior. See https://splewis.github.io/get5/latest/match_schema/#schema -
get5_creatematch
had its argument order changed to matchget5_scrim
: #806 -
If you update to this version from a previous Get5 version, ensure you make the following changes to your
cfg/sourcemod/get5.cfg
file:get5_time_format
must be"%Y-%m-%d_%H-%M-%S"
(or any equivalent with hours, minutes and seconds in it)get5_demo_name_format
must include{TIME}
, i.e:"{TIME}_{MATCHID}_map{MAPNUMBER}_{MAPNAME}"
If you don't make this change, your demos will be overwritten if you use the backup system!
-
Backup files created with previous versions of Get5 will not work correctly.
-
Backups are now never written for pre-veto or veto stages, as that would be equivalent to simply reloading the match configuration.
-
The coaching and player team assignment system has been completely rewritten. The default
coach
console command is disabled, and you must use!coach
in chat (orsm_coach
in console) instead. You must also never setplayers_per_team
to a value higher than the actual number of players you want on teams. If you don't use fixed coaches (that is, if you just put everyone inplayers
and tell them to call!coach
) and you want to be able to swap players for coaches, setcoaches_per_team
to 2 (or any higher value) to make room for a player to coach so that a coach can then become a player. Please consult the coach documentation for details. -
Not exactly a breaking change, but we would strongly recommend you go over the
Prohibited options
section of https://splewis.github.io/get5/latest/configuration/#phase-configuration-files and remove any of those from yourlive.cfg
,warmup.cfg
andknife.cfg
files, if they are present. These should also not go in yourcvars
section of a match configuration (except fortv_delay
)! -
First kills and first deaths are now per round, not **per team per round **: #660
-
A new
coaching
key in the stats now indicates if a player was a coach, and coaches no longer have theirroundsplayed
stat increased/set.
- A lot of updates to various parts of the documentation, which now also has versioning for latest and development.
- Added a new documentation section on GOTV: https://splewis.github.io/get5/latest/gotv/
- Added a new documentation section on coaching: https://splewis.github.io/get5/latest/coaching/
- Allow for setting the knife config file location: https://splewis.github.io/get5/latest/configuration/#get5_knife_cfg
- Allow for customizing team name colors: https://splewis.github.io/get5/latest/configuration/#get5_team1_color
- Added Hungarian translation.
- Added
!tac
pause alias: https://splewis.github.io/get5/latest/commands/#pause - Added support for subfolders for backups: https://splewis.github.io/get5/latest/configuration/#get5_backup_path (#344)
- Added option to disable clinching of a series, allowing for a full playout of the entire maplist, regardless if a
series can no longer be won: See
clinch_series
in the match schema: https://splewis.github.io/get5/latest/match_schema/#schema (#728) - Added
{GOLD}
color option: https://splewis.github.io/get5/latest/configuration/#color-substitutes - Added option to control the number of phase-change announcements, i.e. "Knife!" or "Match is LIVE" in chat: https://splewis.github.io/get5/latest/configuration/#get5_phase_announcement_count
get5_endmatch
now takes an optionalteam1
orteam2
parameter, forcing that team to win the series when it ends: https://splewis.github.io/get5/latest/commands/#get5_endmatch (#190)- Player names in chat messages are now always formatted with colors corresponding to their team side.
- #549: If
get5_end_match_on_empty_server
is enabled, the entire match series will sometimes end on map changes or when first joining the server. This will be addressed in 0.11 which will also contain logic for surrendering. We recommend you disableget5_end_match_on_empty_server
or live with this consequence.
- Player stats are now initialized to zero: #814
- Don't allow the use of
!ready
when a map change is pending: #832 - Pause timer hints are now visible to GOTV clients: #834
- Team ready-tags are now removed when the knife-round starts: #846
- The knife-round now has correct call-out of the winning team, even if "CTs run down the clock": #838
- A team's request to
!stop
is now reset when the round ends: #854 - Added server collision protection to the
get5_names.txt
player name file. - Pauses used/consumed are now stored in backup files.
- Fixed an invalid handle error when using
fromfile
when loading a team file in JSON. - The
Get5_OnSeriesResult
foward/event is now called immediately as the series ends, not after GOTV has finished broadcasting: #821 - Fixed a bunch of problems with backups, such as map draws breaking it completely, players being put on the wrong side if restoring to a round after halftime or restoring to the last round of a match simply ending the match immediately.
- Fixed invalid handle error when ending a match during veto, then restarting the veto.
- GOTV broadcast delay now auto-adjusts
mp_match_restart_delay
so it is never too short. cvars
of a match configuration are now always correctly applied after values inknife.cfg
,live.cfg
andwarmup.cfg
.- Players joining a game during halftime are now automatically put on their team as soon as the next round starts.
- The
Get5_OnBackupRestore
forward now correctly contains the match, map and round number being restored to. This can be used by other plugins to remove any data recorded after the beginning of that round, as the rounds will be replayed. - Fixed invalid client index errors in the veto system if a team is empty.
- All backups for live rounds now contain a "Valve backup" file, making the restore logic for round 0 (first round) similar to that of any other live round.
- Fixed a problem with server hibernation causing the use of
get5_autoload_config
to produceGamerules lookup failed
errors and not firing theGet5_OnSeriesInit
forward/event. - The game now restarts once when the game goes live, clearing lingering UI indicators of a round-win from the knife round.
- Fixed a problem where the game would change to live get5 state too early, causing the countdown and "going live" announcements to misbehave.
- If a match is canceled during veto countdown, it now correctly stops counting down and resets its countdown for the next attempt.
- Team ready tags have been moved behind the team names to prevent the UI from displaying
[
as a start-letter for both teams when viewed from the default GOTV overlay. - Color variables are now stripped from console messages, preventing garbled icon output in the log files.
- Fixed a problem where setting values to empty strings (such as
"get5_demo_format" ""
) in thecvars
section of a match configuration would be ignored. g_MatchID
is now correctly reset when a match ends, soget5_listbackups
will not be stuck listing the last ended match's backups only: #849- ... and many, many more minor bugs and adjustments. See the full commit list below if you want to inspect the changes (it's a lot)
Full Changelog: https://github.com/splewis/get5/compare/v0.9.0...v0.10.0
- @enerbewow made their first contribution in #805
- The entire event and forward system has been rewritten from the ground up. This means if you had any plugin using the SourceMod forwards or the JSON events, you will have to go through the event system documentation to update your implementation.
- The misspelled
get5_web_available
command has been removed. The Get5 Web proof-of-concept system has been updated to accommodate this. - The MySQL extension has had its schema changed. Please verify that you have all the columns as defined in the template schema found here.
- SourceMod 1.10 is now required. It also works fine on 1.11 though!
- A lot of translations have been adjusted, so you must merge in the
translations
folder to your SourceMod translations folder (addons/sourcemod/translations
) if you update from an earlier version of Get5!
- A lot of new information has been added to the events and forward system, including grenades thrown and their victims, every player death and bomb plants/defuses. (@nickdnk)
- The pausing-system has been totally reworked, using hints instead of the in-game counters. (@nickdnk + @PhlexPlexico with help from @rpkaul)
- A slick, new documentation site has been built, replacing the outdated GitHub Wiki. (@nickdnk and @PhlexPlexico)
- A complete CI-flow has been implemented (@PhlexPlexico). We plan to do a lot more frequent releases going forward and hopefully reach a 1.0 version in the not-too-distant future.
- Improved damage report to include kills, assists and flash assists. by @nickdnk in #725
- Implement "random" value for "veto_first" by @tapir in #765
- ... and a lot more minor stuff!
Breaking changes were merged into master after 0.7, and these ran under the 0.8.0 version internally in Get5, but no release was ever made, so we jumped straight to 0.9 instead of retconning 0.8.
This list is simply too long to go over. But it's a lot. We've closed around 50 issues since 0.7.2, and some of the changes can be found in these commits and pull requests:
- In-game timeout counter by @VilkkuV in #547
- Stats in JSON format by @jenrik in #686
- Increased JSON buffer from 8kb to 64kb by @TimiSillman in #723
- Pause/Unpause events and forwards by @PhlexPlexico in #626
- Include Pause Forwards in get5.inc by @PhlexPlexico in #727
- Fix g_BO2Match never being set to false on match load. by @PhlexPlexico in #726
- Pause Game While Veto is going on. by @TandelK in #696
- Match restore issues by @arildboifot in #652
- Update clan tag prevention message to be debug. by @PhlexPlexico in #764
- Update Dockerfile to debian 11 by @Apfelwurm in #760
- Change gMapSides when knife round swaps. by @PhlexPlexico in #753
- Create Github Pages Documentation by @PhlexPlexico in #752
- Include timeouts for tech pauses. by @PhlexPlexico in #749
- Add -E flag to spcomp to treat warnings as errors for workflow builds by @nickdnk in #766
- Bring in check to not allow users the ability to unpause admin pauses. by @PhlexPlexico in #767
- Swap pause type for restore to tracitcal by @PhlexPlexico in #769
- Maintain Pause Count On Match Restore by @PhlexPlexico in #770
- Fix pausing during match restore when users use a fixed pause timer. by @PhlexPlexico in #771
- More fixed pause timer fixes. by @PhlexPlexico in #772
- Match Restore Coach Fix by @PhlexPlexico in #754
- 0.9 Release by @nickdnk in #803
- @VilkkuV made their first contribution in #547
- @TimiSillman made their first contribution in #723
- @tapir made their first contribution in #765
Full Changelog: https://github.com/splewis/get5/compare/0.7.2...v0.9.0