sourcemod/extensions/sdktools
Asher Baker fcafd0784c
Workaround CS:GO Stringtable bug (#1046)
The cause of the infamous "Index error writing string table baseline"
error appears to be a timing issue between the engine's network message
processing, the stringtable encoding, and command processing when adding
stringtable entries in OnConfigsExecuted.

When the first client connects the map is re-loaded which causes a full
refresh, the game's stringtable entries are added at tick 65, the client
connection is registered at tick 66, and stringtable entries added in
OnConfigsExecuted are registered as being added in tick 67. The engine
later calls WriteBaselines with the client's signon tick, and neglects
to encode the SM added entries as it considers them from the future.

To avoid this, always pass INT_MAX as the current tick when encoding
the baseline, so all stringtable entries are included regardless of when
they were added. Tested on both Windows and Linux.
2019-07-19 09:13:34 +01:00
..
AMBuilder 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
CellRecipientFilter.h Remove support for Source 1 Dota 2. (#496) 2016-04-26 23:18:47 -04:00
clientnatives.cpp Fix crash in ReconnectClient and Inactivate client when IServer ptr is null (bug 6122, r=asherkin). 2014-05-15 10:49:32 -04:00
clientnatives.h Added InactivateClient and ReconnectClient natives to SDKTools (bug 4931, r=fyren). 2011-07-06 18:11:02 -04:00
extension.cpp Workaround CS:GO Stringtable bug (#1046) 2019-07-19 09:13:34 +01:00
extension.h Add additional TraceRay natives (#885) 2018-10-07 14:15:54 -07:00
gamerulesnatives.cpp Fix crash when accessing gamerules during mapchange (#593) 2017-03-11 08:54:38 -08:00
gamerulesnatives.h Added ability in SDKTools to get/set prop values on gamerules class (bug 4983, r=fyren). 2011-07-06 17:37:35 -04:00
hooks.cpp Fix OnPlayerRunCmd crashing with invalid CUserCmd ptr. (#693) 2017-09-23 23:27:32 -07:00
hooks.h Add OnPlayerRunCmdPost forward (#591) 2017-05-09 15:16:05 +01:00
inputnatives.cpp Add templated helper class to promote type-safety (#965) 2019-04-12 12:10:37 -07:00
output.cpp Migrate extensions to common AMTL string funcs (#785) 2018-03-25 13:00:53 -07:00
output.h Allow plugins to suppress entity outputs (fix 5515). 2015-12-30 17:51:57 +01:00
outputnatives.cpp PassType typo fixup (#1018) 2019-05-15 07:22:34 -04:00
smsdk_config.h Deduplicate a number of files used by extensions by moving them to the public directory (bug 5341, r=psychonic). 2014-04-23 21:19:28 -05:00
teamnatives.cpp Add GetTeamEntity native to SDKTools. 2015-03-10 07:27:43 -07:00
teamnatives.h Add GetPlayerResourceEntity to SDKTools; deprecate old, broken TF2-specific impl (bug 5491, r=asherkin). 2013-03-16 13:50:36 -04:00
tempents.cpp 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
tempents.h Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
tenatives.cpp Improve error message for EmitSound (#787) 2018-03-20 19:42:43 -06:00
trnatives.cpp Add additional TraceRay natives (#885) 2018-10-07 14:15:54 -07:00
util.h Added svn:keywords property to some files that didn't have them already 2008-04-10 19:28:26 +00:00
variant-t.cpp Add FireEntityOutput native. (#587) 2017-02-15 19:29:43 -05:00
variant-t.h Add FireEntityOutput native. (#587) 2017-02-15 19:29:43 -05:00
vcallbuilder.cpp 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
vcallbuilder.h Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
vcaller.cpp Handle NULLs in SDKCall string return (Fixes #874) (#906) 2018-10-11 00:18:03 +01:00
vdecoder.cpp 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
vdecoder.h Added a new ValveCallType that allows for arbitrary |this| parameters, as well as associated features in gamedata and for reading/writing memory (bug 3520, r=dvander, sr=fyren). 2010-01-11 22:46:44 -08:00
version.rc Overhauled versioning information (bug 5453, r=dvander). 2012-08-26 01:33:54 +01:00
vglobals.cpp 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
vglobals.h Add support for getting g_pGameRules without a byte signature / symbol. 2014-12-13 16:35:32 -05:00
vhelpers.cpp Remove support for Source 1 Dota 2. (#496) 2016-04-26 23:18:47 -04:00
vhelpers.h Add GetPlayerResourceEntity to SDKTools; deprecate old, broken TF2-specific impl (bug 5491, r=asherkin). 2013-03-16 13:50:36 -04:00
vnatives.cpp Hmm... 2018-12-06 20:31:29 -05:00
vnatives.h Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
voice.cpp Remove support for Source 1 Dota 2. (#496) 2016-04-26 23:18:47 -04:00
vsound.cpp Update SDKTools sound functionality for hl2sdk-csgo changes. 2018-07-07 08:57:00 -04:00
vsound.h Update SDKTools sound functionality for hl2sdk-csgo changes. 2018-07-07 08:57:00 -04:00
vstringtable.cpp Remove support for Source 1 Dota 2. (#496) 2016-04-26 23:18:47 -04:00