/) /)
// _ _ _(/ _ _/_ _ _ _/_ _____
(/_(_(_(_/_(_(__(/_(___(/_(__(__(_)/ (_
.-/
(_/ GMod Server Lag Detection Routine
Written by Buzzkill -- thehundredacrebloodbath.com
https://github.com/100acrebb/thab_toolshttp://steamcommunity.com/sharedfiles/filedetails/?id=654334461LagDetector is a simple tool to help detect and manage server-side lag. It uses differences between SysTime() and CurTime() to detect
unexpected server lag, and once these deltas have exceeded a certain threshold, action can be taken to help correct.
These thresholds and actions are configurable through cvars:
lagdet_range - if the difference between SysTime and CurTime exceeds this value in a frame, we have detected frame lag and the system increments the lag counter. Default is 0.07
lagdet_count - if the lag counter reaches this value, we have detected server lag and we execute lagdet_execute. Default is 5
lagdet_quiet - indicates how long we must go (in seconds) with no frame lag before our lag counter resets to 0.
lagdet_execute - the console command(s) to execute if we detect server lag. Default is a simple say
lagcount_meltdown - if we detect this many frame lags without a reset, we execute lagexecute_meltdown. Default is 100
lagexecute_meltdown - these console command(s) are executed in the event of massive lag. Server is probably in a collision loop or something. Good time to restart the map. Default is a simple say
So, using the defaults..
LagDetector will compare SysTime and CurTime every second. If the difference between the two >= 0.07, the lag counter increases.
If we go 15 seconds without detecting frame lag, the lag counter resets to 0.
If the lag counter hits 5, we execute the commands in lagdet_execute
If the lag counter hits 100, we execute the commands in lagexecute_meltdown