View Single Post
Author Message
Silvers
SourceMod Plugin Approver
Join Date: Aug 2010
Location: SpaceX
Old 08-02-2018 , 19:00   [ANY] Command and ConVar - Buffer Overflow Fixer (2.9) [23-Jan-2024]
Reply With Quote #1

About:
  • This plugin fixes servers with too many ConVars, which causes a buffer overflow error in server console and the overflowed ConVars to use their default value instead of the one specified.
  • This should also fix commands which failed to be executed caused by the same buffer overflow.
  • Note: If your server is hibernating the fix will happen on the next frame when it wakes.
  • Initial thread and plugin version here.
  • This fixes "Cbuf_AddText: buffer overflow" error messages.



Related Plugins:


Supported Games:
  • CS:S
  • CSGO
  • L4D1
  • L4D2
  • OrangeBox [GoldenEye etc]
  • Team Fortress 2
  • Request support if your game suffers from this bug.



Thanks:
  • Peace-Maker (for DHooks Dev Preview and helping script this plugin).
  • Dr!fter (for initially creating DHooks extension).
  • Dragokas (optimizations , helping me understand the .cpp files and functions).
  • Lux (various scripting advice and helping figure out stuff).
  • Timocop (L4D1 Linux binary and testing).



ConVar Testing:
Spoiler




ConVars:

PHP Code:
// Command and ConVar - Buffer Overflow Fixer plugin version.
command_buffer_version 



Changes:
Code:
2.9 (23-Jan-2024)
    - Fixed memory leak from clearing ArrayList handles. Thanks to "HarryPotter" for help solving.

2.8b (11-Feb-2023)
    - Updated GameData signature for CS:GO. Thanks to "foxsay" for reporting.

2.8 (19-Jan-2022)
    - Fixed leaking handles when triggered to fix buffer issues.

2.7 (06-Dec-2021)
    - Fixed the last version breaking plugin functionality. Thanks to "sorallll" for reporting.

2.6 (27-Nov-2021)
    - Fixed "Failed to grow array" error. Thanks to "azureblue" for reporting.

2.5a (16-Jun-2021)
    - L4D2: Compatibility update for "2.2.1.3" update. Thanks to "ProjectSky" for reporting and "bedildewo" for fixing.
    - GameData .txt file and plugin updated.

2.5 (03-May-2021)
    - Fixed errors when inputting a string with format specifiers. Thanks to "sorallll" for reporting and "Dragokas" for fix.

2.4a (19-May-2020)
    - Added support for Team Fortress 2. Only GameData changed.

2.4 (10-May-2020)
    - Added better error log message when gamedata file is missing.
    - Various changes to tidy up code.

2.3 (03-Feb-2020)
    - Fixed debugging using the wrong methodmap. Thanks to "Caaine" for reporting.

2.2 (03-Feb-2020) by Dragokas
    - Added delete to an unused handle.
    - Changed "char" to "static char" in "OnNextFrame" to optimize performance.

2.1 (07-Aug-2018)
    - Added support for GoldenEye and other games using the OrangeBox engine on Windows and Linux.
    - Added support for Left4Dead2 Windows.
    - Gamedata .txt and plugin updated.

2.0.1 (02-Aug-2018)
    - Turned off debugging.

2.0 (02-Aug-2018)
    - Now fixes all ConVars from being set to incorrect values.
    - Supports CSGO (win/nix), L4D1 (win/nix) and L4D2 (nix).
    - Other games with issues please request support.

1.0 (27-Jun-2018)
    - Initial release.



Requirements:
  1. Click "Get Plugin" and put the .smx file into your servers \addons\sourcemod\plugins\ folder.
  2. Download the .txt gamedata file and put into your servers \addons\sourcemod\gamedata\ folder.
  3. You must restart the server.
Attached Files
File Type: txt command_buffer.games.txt (2.6 KB, 1363 views)
File Type: sp Get Plugin or Get Source (command_buffer.sp - 996 views - 8.3 KB)
__________________

Last edited by Silvers; 01-23-2024 at 15:23.
Silvers is offline