Raised This Month: $51 Target: $400
 12% 

[ANY] ConVars Anomaly Fixer


Post New Thread Reply   
 
Thread Tools Display Modes
Dragokas
Veteran Member
Join Date: Nov 2017
Location: Ukraine on fire
Old 10-27-2020 , 17:39   Re: [ANY] ConVars Anomaly Fixer
Reply With Quote #21

You can add your cfg files in the exclusion list:
Code:
- "convar_cfg_files_exclude" - if you need exclude some cfg-files from processing, place them here, separated by star (*)
If that plugin is popular, I could add a similar exclusion ConVar for the whole folder and add "mapconfig" there by default.
__________________
Expert of CMD/VBS/VB6. Malware analyst. L4D fun (Bloody Witch & FreeZone)
[My plugins] [My tools] [GitHub] [Articles] [HiJackThis+] [Donate]
Dragokas is offline
Dragokas
Veteran Member
Join Date: Nov 2017
Location: Ukraine on fire
Old 11-17-2020 , 14:06   Re: [ANY] ConVars Anomaly Fixer
Reply With Quote #22

Tonblader, I took a closer look.
You need to set "convar_anomaly_roundstart" to 0 for preventing the conflict.
That's about Extended Map configs by Milo.

As about similar one Map configs from berni, it is incompatible at all and cannot be used together with this plugin.

This happens because of ConVar Fix order. We are both using OnAutoConfigsBuffered(). If his plugin is first in load order, then my plugin thinks ConVar has a bugged value and overwrites it. I can't see how that can be resolved.
__________________
Expert of CMD/VBS/VB6. Malware analyst. L4D fun (Bloody Witch & FreeZone)
[My plugins] [My tools] [GitHub] [Articles] [HiJackThis+] [Donate]
Dragokas is offline
Wolfyy
Junior Member
Join Date: Nov 2020
Old 02-14-2021 , 03:02   Re: [ANY] ConVars Anomaly Fixer
Reply With Quote #23

Hello, I have had problems reading individual cfg values on every server for years.
Nothing could help me so far and all attempts were unsuccessful.
Then I found this plugin and everything works perfectly now.
I can finally have a server just the way I want it and without compromise.
That's why I thank you a thousand times over.
You are my Hero ! ❤️*🔥
Wolfyy is offline
Dragokas
Veteran Member
Join Date: Nov 2017
Location: Ukraine on fire
Old 03-25-2022 , 12:57   Re: [ANY] ConVars Anomaly Fixer
Reply With Quote #24

Updated.

Quote:
1.10 beta (25-Mar-2022)
- ConVar default value for "convar_anomaly_fix_nondefault" forced to 1.

1.9 beta (29-Jan-2020) - Unfinished.
- added "ConVar handles leak" detection method and partial fix (Note: no more actual in SM v.1.10, SM v.1.11).
Details on bug: https://github.com/alliedmodders/sourcemod/issues/1166
(PS. This is already fixed 11-Feb-2020 in SM >= 1.10.6462, and SM >= 1.9.6462)
If you have a lower SM version, to check for leaking and fix it:
* set "convar_cvar_check_areas" to -1 (or to 32 for checking this area only).
* enable log "convar_anomaly_logpos" to -1 (or to 4 to write to logfile only).
* execute "sm_convar_anomaly_show"
* search log "logs/CVar_Anomaly.log" for [LEAK] lines.
* follow instruction from the log by renaming your ConVars to correct case of letters.
* wait for SourceMod update and install it, if possible, to fix leak competely.
* Note, "ConVar Anomaly fixer" is unable to find such leaks coming from 3rd party plugins at the moment,
use sm_dump_handles addons/sourcemod/handles.txt to make 2 dumps: current and after new map start,
and compare convar handles count using online service: https://hexer10.github.io/Sourcemod-HandleDumpParser/

- Included and extended ConVar precision fix made by asherkin: https://forums.alliedmods.net/showthread.php?t=300683
Technical info:
* fix is applied to both affected parts of ConVar: floating and integer;
* fix is limited by signed integer range, because it is SourceMod limitation;
* (TODO) when "string" part of value is exceeds signed integer range,
"Anomaly fixer" set ConVar float/int part to the maximum / or minimum value preserving the sign
to allow game correctly process < > arithmetics, e.g.: 9999999999 => +2147483647 (affected) and -9999999999 => -2147483648 (actually, usual behaviour),
nevertheless, "string" part is not touched;
* fix is checked against all numeric ConVars;
* fix is enabled for all games at the moment.

-todo: find the way to clarify the maximum value length of individual cvars (like sv_tags).

Other corrections:
- commands list, used for exclusions, is more complete now, retrieved on all plugins loaded stage.
- fixed missing CloseHandle of commands list iterator.
- nested config names are correctly displayed now in log when executed with "exec" command from the root config.
- improved "number" validation functions. Allowed "+" sign before numbers in ConVars (this is by design).

- Log lines are prefixed now, depending on the reason:

* [MISFORMAT] - incorrect value type
* [LIMIT] - out of bounds value
* [LENGTH] - value is exceed the maximum length allowed
* [DIFFERENT] - value differs from the one set in the cfg settings
* [FAILURE] - plugin is unable to fix the value
* [SUCCESS] - plugin is successfully fixed the value
* [WARNING] - some specific messages
* [UNUSED] - convar is not exist, possibly, the original plugin has been removed
* [LEAK] - incorrect ConVar name causes handles leak - you have to check letter case in the ConVar name or update your SM version.

// TODO: Add global forward OnConVarAnomalyFixed() to give ability for conflicting 3rd party plugins to replace the value if required.
__________________
Expert of CMD/VBS/VB6. Malware analyst. L4D fun (Bloody Witch & FreeZone)
[My plugins] [My tools] [GitHub] [Articles] [HiJackThis+] [Donate]
Dragokas is offline
shinubee
Junior Member
Join Date: Mar 2022
Old 03-30-2022 , 05:07   Re: [ANY] ConVars Anomaly Fixer
Reply With Quote #25

Server restarts infinitely when plugin is used with HarryPotterInfected Bots Control Improved Version 2.6.8
Quote:
L 03/30/2022 - 16:430: Staying on original map c5m1_waterfront
L 03/30/2022 - 16.43.30 CDirector::RunScript, scriptedmode, level: 1
ScriptMode loaded coop and now Initializing
L 03/30/2022 - 16.43.30 CDirector::RunScript, director_base, level: 0
Initializing Director's script
Couldn't find any entities named spawn_fryingpan_demo, which point_template template_demo is specifying.
jukebox_script executing script: jukebox_main
L 03/30/2022 - 16.43.30 Preventing spawning
L 03/30/2022 - 16.43.30 CDirector::RunScript, scriptedmode, level: 1
ScriptMode loaded coop and now Initializing
L 03/30/2022 - 16.43.30: CDirector::RunScript, director_base, level: 0
Initializing Director's script
L 03/30/2022 - 16.43.30 World triggered "Round_Start"
Server waking up from hibernation
Server is hibernating
ConVarRef test_progression_loop doesn't point to an existing ConVar
L 03/30/2022 - 16.43.30 server_cvar: "sv_tags" "gravity,hidden"
L 03/30/2022 - 16.43.30 World triggered "L4D_Scenario_Restart" (Infected "0") (Survivor "0")
L 03/30/2022 - 16.43.30 Team "Infected" scored "0" with "0" players
L 03/30/2022 - 16.43.30 Team "Survivor" scored "0" with "0" players
L 03/30/2022 - 16.43.30 World triggered "Round_End"
L 03/30/2022 - 16.43.30 Staying on original map c5m1_waterfront
L 03/30/2022 - 16:430: CDirector::RunScript, scriptedmode, level: 1
ScriptMode loaded coop and now Initializing
L 03/30/2022 - 16:430: CDirector::RunScript, director_base, level: 0
Initializing Director's script
Couldn't find any entities named spawn_fryingpan_demo, which point_template template_demo is specifying.
jukebox_script executing script: jukebox_main
L 03/30/2022 - 16:430: Preventing spawning
L 03/30/2022 - 16:430: CDirector::RunScript, scriptedmode, level: 1
ScriptMode loaded coop and now Initializing
L 03/30/2022 - 16:430: CDirector::RunScript, director_base, level: 0
Initializing Director's script
L 03/30/2022 - 16:430: World triggered "Round_Start"
Server waking up from hibernation
Server is hibernating
ConVarRef test_progression_loop doesn't point to an existing ConVar
L 03/30/2022 - 16:430: server_cvar: "sv_tags" "gravity,hidden"
L 03/30/2022 - 16:430: World triggered "L4D_Scenario_Restart" (Infected "0") (Survivor "0")
L 03/30/2022 - 16:430: Team "Infected" scored "0" with "0" players
L 03/30/2022 - 16:430: Team "Survivor" scored "0" with "0" players
L 03/30/2022 - 16:430: World triggered "Round_End"
L 03/30/2022 - 16:430: Staying on original map c5m1_waterfront
L 03/30/2022 - 16:430: CDirector::RunScript, scriptedmode, level: 1
ScriptMode loaded coop and now Initializing
L 03/30/2022 - 16:430: CDirector::RunScript, director_base, level: 0
Initializing Director's script
Couldn't find any entities named spawn_fryingpan_demo, which point_template template_demo is specifying.
jukebox_script executing script: jukebox_main
L 03/30/2022 - 16:430: Preventing spawning
L 03/30/2022 - 16:430: CDirector::RunScript, scriptedmode, level: 1
ScriptMode loaded coop and now Initializing
L 03/30/2022 - 16:430: CDirector::RunScript, director_base, level: 0
Initializing Director's script
L 03/30/2022 - 16:430: World triggered "Round_Start"
./srcds_run: line 312: 864513 Alarm clock
$HL_CMD
Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem
Server restart in 10 seconds
sorry my english is not good, use google translate to do it
shinubee is offline
Dragokas
Veteran Member
Join Date: Nov 2017
Location: Ukraine on fire
Old 03-30-2022 , 10:06   Re: [ANY] ConVars Anomaly Fixer
Reply With Quote #26

shinubee, please, provide your cfg/sourcemod/l4dinfectedbots.cfg file.

Also, check if cfg/sourcemod/sm_convar_anomaly.cfg:
Code:
convar_anomaly_roundstart 0
convar_anomaly_fix_nondefault 0
helps.
__________________
Expert of CMD/VBS/VB6. Malware analyst. L4D fun (Bloody Witch & FreeZone)
[My plugins] [My tools] [GitHub] [Articles] [HiJackThis+] [Donate]
Dragokas is offline
shinubee
Junior Member
Join Date: Mar 2022
Old 03-31-2022 , 01:30   Re: [ANY] ConVars Anomaly Fixer
Reply With Quote #27

Quote:
Originally Posted by Dragokas View Post
shinubee, please, provide your cfg/sourcemod/l4dinfectedbots.cfg file.

Also, check if cfg/sourcemod/sm_convar_anomaly.cfg:
Code:
convar_anomaly_roundstart 0
convar_anomaly_fix_nondefault 0
helps.
l4dinfectedbots.cfg
Quote:
// This file was auto-generated by SourceMod (v1.11.0.685
// ConVars for plugin "l4dinfectedbots.smx"


// If server has more than 4+ alive players, increase the certain value to 'l4d_infectedbots_default_commonlimit' each 'l4d_infectedbots_add_commonlimit_scale' players joins
// -
// Default: "2"
// Minimum: "0.000000"
l4d_infectedbots_add_commonlimit "2"

// If server has more than 4+ alive players, zombie common limit = 'default_commonlimit' + [(alive players - 4) ÷ 'add_commonlimit_scale' × 'add_commonlimit'].
// -
// Default: "1"
// Minimum: "1.000000"
l4d_infectedbots_add_commonlimit_scale "1"

// If server has more than 4+ alive players, increase the certain value to 'l4d_infectedbots_max_specials' each 'l4d_infectedbots_add_specials_scale' players joins
// -
// Default: "2"
// Minimum: "0.000000"
l4d_infectedbots_add_specials "2"

// If server has more than 4+ alive players, how many special infected = 'max_specials' + [(alive players - 4) ÷ 'add_specials_scale' × 'add_specials'].
// -
// Default: "2"
// Minimum: "1.000000"
l4d_infectedbots_add_specials_scale "2"

// If server has more than 4+ alive players, increase the certain value to 'l4d_infectedbots_default_tankhealth' each 'l4d_infectedbots_add_tankhealth_scale' players joins
// -
// Default: "500"
// Minimum: "0.000000"
l4d_infectedbots_add_tankhealth "500"

// If server has more than 4+ alive players, how many Tank Health = 'default_tankhealth' + [(alive players - 4) ÷ 'add_tankhealth_scale' × 'add_tankhealth'].
// -
// Default: "1"
// Minimum: "1.000000"
l4d_infectedbots_add_tankhealth_scale "1"

// If 1, adjust and overrides zombie common limit by this plugin.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_adjust_commonlimit_enable "1"

// Reduce certain value to maximum spawn timer based per alive player
// -
// Default: "1"
// Minimum: "0.000000"
l4d_infectedbots_adjust_reduced_spawn_times_o n_player "1"

// If 1, The plugin will adjust spawn timers depending on the gamemode
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_adjust_spawn_times "1"

// If 1, adjust and overrides tank health by this plugin.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_adjust_tankhealth_enable "1"

// If 1, only admins can join the infected team in coop/survival. (Access: generic_admin)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_admin_coop_versus "1"

// 0=Plugin off, 1=Plugin on.
// -
// Default: "1"
l4d_infectedbots_allow "1"

// If 1, announce current plugin status when the number of alive survivors changes.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_announcement_enable "1"

// Sets the limit for boomers spawned by the plugin
// -
// Default: "2"
// Minimum: "0.000000"
l4d_infectedbots_boomer_limit "2"

// Sets the limit for chargers spawned by the plugin
// -
// Default: "2"
// Minimum: "0.000000"
l4d_infectedbots_charger_limit "2"

// If 1, players can join the infected team in coop/survival (!ji in chat to join infected, !js to join survivors)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_coop_versus "1"

// If 1, clients will be announced to on how to join the infected team
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_coop_versus_announce "1"

// If 1, attaches red flash light to human infected player in coop/survival. (Make it clear which infected bot is controlled by player)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_coop_versus_human_light "1"

// Sets the limit for the amount of humans that can join the infected team in coop/survival
// -
// Default: "2"
// Minimum: "0.000000"
l4d_infectedbots_coop_versus_human_limit "2"

// If 1, tank will always be controlled by human player in coop/survival.
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_coop_versus_tank_playable "0"

// If 1, bots will only spawn when all other bot spawn timers are at zero
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_coordination "0"

// Sets Default zombie common limit.
// -
// Default: "30"
// Minimum: "1.000000"
l4d_infectedbots_default_commonlimit "30"

// Sets Default Health for Tank, Tank hp is affected by gamemode and difficulty (Example, Set Tank health 4000hp, but in Easy: 3000, Normal: 4000, Versus: 6000, Advanced/Expert: 8000)
// -
// Default: "4000"
// Minimum: "1.000000"
l4d_infectedbots_default_tankhealth "4000"

// Sets the limit for hunters spawned by the plugin
// -
// Default: "2"
// Minimum: "0.000000"
l4d_infectedbots_hunter_limit "2"

// Toggle whether Infected HUD announces itself to clients.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_infhud_announce "1"

// Toggle whether Infected HUD is active or not.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_infhud_enable "1"

// The spawn timer in seconds used when infected bots are spawned for the first time in a map
// -
// Default: "10"
// Minimum: "0.000000"
l4d_infectedbots_initial_spawn_timer "10"

// Sets the limit for jockeys spawned by the plugin
// -
// Default: "2"
// Minimum: "0.000000"
l4d_infectedbots_jockey_limit "2"

// Amount of seconds before a special infected bot is kicked
// -
// Default: "30"
// Minimum: "1.000000"
l4d_infectedbots_lifespan "30"

// Defines how many special infected can be on the map on all gamemodes(does not count witch on all gamemodes, count tank in all gamemode)
// -
// Default: "2"
// Minimum: "0.000000"
l4d_infectedbots_max_specials "2"

// Turn on the plugin in these game modes, separate by commas (no spaces). (Empty = all).
// -
// Default: ""
l4d_infectedbots_modes ""

// Turn off the plugin in these game modes, separate by commas (no spaces). (Empty = none).
// -
// Default: ""
l4d_infectedbots_modes_off ""

// Turn on the plugin in these game modes. 0=All, 1=Coop/Realism, 2=Survival, 4=Versus, 8=Scavenge. Add numbers together.
// -
// Default: "5"
l4d_infectedbots_modes_tog "5"

// If 1, spawn special infected before survivors leave starting safe room area.
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_safe_spawn "0"

// Disable sm_zs in these gamemode (0: None, 1: coop/realism, 2: versus/scavenge, 4: survival, add numbers together)
// -
// Default: "6"
// Minimum: "0.000000"
// Maximum: "7.000000"
l4d_infectedbots_sm_zs_disable_gamemode "6"

// Sets the limit for smokers spawned by the plugin
// -
// Default: "2"
// Minimum: "0.000000"
l4d_infectedbots_smoker_limit "2"

// The minimum of spawn range for infected in final stage rescue. (coop/realism only)
// -
// Default: "0"
// Minimum: "0.000000"
l4d_infectedbots_spawn_range_final "0"

// The maximum of spawn range for infected. (default: 1500, coop/realism only)
// -
// Default: "2000"
// Minimum: "1.000000"
l4d_infectedbots_spawn_range_max "2000"

// The minimum of spawn range for infected. (default: 550, coop/realism only)
// -
// Default: "0"
// Minimum: "0.000000"
l4d_infectedbots_spawn_range_min "0"

// Sets the max spawn time for special infected spawned by the plugin in seconds.
// -
// Default: "60"
// Minimum: "1.000000"
l4d_infectedbots_spawn_time_max "60"

// Sets the minimum spawn time for special infected spawned by the plugin in seconds.
// -
// Default: "40"
// Minimum: "1.000000"
l4d_infectedbots_spawn_time_min "40"

// If 1, Plugin will disable spawning infected bot when a tank is on the field.
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_spawns_disabled_tank "0"

// Sets the limit for spitters spawned by the plugin
// -
// Default: "2"
// Minimum: "0.000000"
l4d_infectedbots_spitter_limit "2"

// Sets the limit for tanks spawned by the plugin (does not affect director tanks)
// -
// Default: "1"
// Minimum: "0.000000"
l4d_infectedbots_tank_limit "1"

// When each time spawn S.I., how much percent of chance to spawn tank
// -
// Default: "5"
// Minimum: "0.000000"
// Maximum: "100.000000"
l4d_infectedbots_tank_spawn_probability "5"

// If 1, The plugin will force all players to the infected side against the survivor AI for every round and map in versus/scavenge
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_versus_coop "0"

// Amount of seconds before a witch is kicked. (only remove witches spawned by this plugin)
// -
// Default: "200"
// Minimum: "1.000000"
l4d_infectedbots_witch_lifespan "200"

// Sets the limit for witches spawned by the plugin (does not affect director witches)
// -
// Default: "10"
// Minimum: "0.000000"
l4d_infectedbots_witch_max_limit "10"

// If 1, still spawn witch in final stage rescue
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_infectedbots_witch_spawn_final "0"

// Sets the max spawn time for witch spawned by the plugin in seconds.
// -
// Default: "120.0"
// Minimum: "1.000000"
l4d_infectedbots_witch_spawn_time_max "120.0"

// Sets the mix spawn time for witch spawned by the plugin in seconds.
// -
// Default: "90.0"
// Minimum: "1.000000"
l4d_infectedbots_witch_spawn_time_min "90.0"

When I put convar_anomaly_roundstart or convar_anomaly_fix_nondefault set to 0 All restored are normal
shinubee is offline
z282846139
Member
Join Date: Aug 2018
Old 01-11-2023 , 09:36   Re: [ANY] ConVars Anomaly Fixer
Reply With Quote #28

[SM] Displaying 14 extensions:
[01] Automatic Updater (1.11.0.6927): Updates SourceMod gamedata files
[02] Webternet (1.11.0.6927): Extension for interacting with URLs
[03] SDK Tools (1.11.0.6927): Source SDK Tools
[04] BinTools (1.11.0.6927): Low-level C/C++ Calling API
[05] Top Menus (1.11.0.6927): Creates sorted nested menus
[06] SDK Hooks (1.11.0.6927): Source SDK Hooks
[07] Client Preferences (1.11.0.6927): Saves client preference settings
[08] SQLite (1.11.0.6927): SQLite Driver
[09] DHooks (1.11.0.6927): Dynamic Hooks
[10] <OPTIONAL> file "steamtools.ext.so": /home/l4d2server/serverfiles/left4dead2/addons/sourcemod/extensions/steamtools.ext.so: cannot open shared object file: No such file or directory
[11] SteamWorks Extension (1.2.3): Exposes SteamWorks functions to Developers
[12] <OPTIONAL> file "curl.ext.so": /home/l4d2server/serverfiles/left4dead2/addons/sourcemod/extensions/curl.ext.so: cannot open shared object file: No such file or directory
[13] <OPTIONAL> file "socket.ext.so": /home/l4d2server/serverfiles/left4dead2/addons/sourcemod/extensions/socket.ext.so: cannot open shared object file: No such file or directory
[14] Source Scramble (0.7.1): Tools for working with memory.

Code:
l4d2server@kaze:~/serverfiles/left4dead2/addons/sourcemod/scripting$ ./compile.sh sm_convar_anomaly.sp 

Compiling sm_convar_anomaly.sp...
SourcePawn Compiler 1.11.0.6927
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2021 AlliedModders LLC

sm_convar_anomaly.sp(312) : warning 242: function "Timer_FixCvars" should return an explicit value
Code size:         21700 bytes
Data size:         28372 bytes
Stack/heap size:      16600 bytes
Total requirements:   66672 bytes

1 Warning.
I compiled and it comes 1 warning.
z282846139 is offline
Dragokas
Veteran Member
Join Date: Nov 2017
Location: Ukraine on fire
Old 01-11-2023 , 14:30   Re: [ANY] ConVars Anomaly Fixer
Reply With Quote #29

Skip it.
__________________
Expert of CMD/VBS/VB6. Malware analyst. L4D fun (Bloody Witch & FreeZone)
[My plugins] [My tools] [GitHub] [Articles] [HiJackThis+] [Donate]
Dragokas is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:14.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode