From 62cda52342be93d21899420d1be3df471bc58f80 Mon Sep 17 00:00:00 2001 From: Evil Factory <36804725+evilfactory@users.noreply.github.com> Date: Thu, 10 Feb 2022 12:59:32 -0300 Subject: [PATCH] limit how many errors can be sent per second (prevents message queue from overflowing and stopping all commands from working) and removed useless semicolons that i added for some reason here --- Barotrauma/BarotraumaShared/Lua/LuaSetup.lua | 6 +++--- Barotrauma/BarotraumaShared/SharedSource/Lua/LuaSetup.cs | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Barotrauma/BarotraumaShared/Lua/LuaSetup.lua b/Barotrauma/BarotraumaShared/Lua/LuaSetup.lua index c84576746..4bcb3eb67 100644 --- a/Barotrauma/BarotraumaShared/Lua/LuaSetup.lua +++ b/Barotrauma/BarotraumaShared/Lua/LuaSetup.lua @@ -62,7 +62,7 @@ if SERVER then table.insert(modulePaths, (d .. "/Lua/?.lua")) if File.DirectoryExists(d .. "/Lua/Autorun") then - runFolder(d .. "/Lua/Autorun"); + runFolder(d .. "/Lua/Autorun") end end @@ -73,7 +73,7 @@ if SERVER then table.insert(modulePaths, (d .. "/Lua/?.lua")) if File.DirectoryExists(d .. "/Lua/Autorun") then - runFolder(d .. "/Lua/Autorun"); + runFolder(d .. "/Lua/Autorun") end end end @@ -85,7 +85,7 @@ for _, d in pairs(File.GetDirectories("Mods")) do if File.DirectoryExists(d .. "/Lua/ForcedAutorun") then table.insert(modulePaths, (d .. "/Lua/?.lua")) - runFolder(d .. "/Lua/ForcedAutorun"); + runFolder(d .. "/Lua/ForcedAutorun") end end diff --git a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaSetup.cs b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaSetup.cs index b4776601f..99743091f 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaSetup.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaSetup.cs @@ -36,6 +36,10 @@ namespace Barotrauma public LuaScriptLoader luaScriptLoader; + private double minErrorTime = 0.05f; + + private double lastSentError = 0; + public void Update() { hook?.Update(); @@ -61,6 +65,8 @@ namespace Barotrauma public void PrintError(object message) { + if (Timing.TotalTime - lastSentError < minErrorTime) return; + if (message == null) { message = "nil"; } string str = message.ToString(); @@ -85,6 +91,8 @@ namespace Barotrauma GameServer.Log(errorMsg, ServerLog.MessageType.Error); } #endif + + lastSentError = Timing.TotalTime; } }