From 7dcb34577bbf839f01fd77a2169606f9164e73d8 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 5 Jan 2020 00:01:08 -0800 Subject: [PATCH] Ports TG/lummox fix to reduce impact of keysend floods --- code/modules/client/message.dm | 7 ++++--- code/modules/keybindings/bindings_client.dm | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/modules/client/message.dm b/code/modules/client/message.dm index a5c78008b4f..bcb69255eca 100644 --- a/code/modules/client/message.dm +++ b/code/modules/client/message.dm @@ -4,6 +4,7 @@ proc/addclientmessage(var/ckey, var/message) ckey = ckey(ckey) if(!ckey || !message) return - if(!(ckey in clientmessages)) - clientmessages[ckey] = list() - clientmessages[ckey] += message + var/list/L = GLOB.clientmessages[ckey] + if(!L) + GLOB.clientmessages[ckey] = L = list() + L += message \ No newline at end of file diff --git a/code/modules/keybindings/bindings_client.dm b/code/modules/keybindings/bindings_client.dm index d59e3da4e8e..f38e485d226 100644 --- a/code/modules/keybindings/bindings_client.dm +++ b/code/modules/keybindings/bindings_client.dm @@ -25,7 +25,7 @@ else log_admin("Client [ckey] was just autokicked for flooding keysends; likely abuse but potentially lagspike.") message_admins("Client [ckey] was just autokicked for flooding keysends; likely abuse but potentially lagspike.") - QDEL_IN(src, 1) + qdel(src) return ///Check if the key is short enough to even be a real key @@ -33,7 +33,7 @@ to_chat(src, "Invalid KeyDown detected! You have been disconnected from the server automatically.") log_admin("Client [ckey] just attempted to send an invalid keypress. Keymessage was over [MAX_KEYPRESS_COMMANDLENGTH] characters, autokicking due to likely abuse.") message_admins("Client [ckey] just attempted to send an invalid keypress. Keymessage was over [MAX_KEYPRESS_COMMANDLENGTH] characters, autokicking due to likely abuse.") - QDEL_IN(src, 1) + qdel(src) return //offset by 1 because the buffer address is 0 indexed because the math was simpler keys_held[current_key_address + 1] = _key