From e75d7561f090eca1a76b2bc0bb7de9dc3f1d5081 Mon Sep 17 00:00:00 2001 From: -ffs-PLASMA <33094646+ffsPLASMA@users.noreply.github.com> Date: Sat, 8 Feb 2025 01:52:39 +0100 Subject: [PATCH] Add recently introduced events, name and explosion/projectile checking (#588) --- [admin]/security/events.lua | 24 ++++++++- [admin]/security/meta.xml | 3 +- [admin]/security/players.lua | 101 ++++++++++++++++++++++++++++++++++- [admin]/security/utils.lua | 16 ++++++ 4 files changed, 141 insertions(+), 3 deletions(-) create mode 100644 [admin]/security/utils.lua diff --git a/[admin]/security/events.lua b/[admin]/security/events.lua index b918bedf9..50c2d4569 100644 --- a/[admin]/security/events.lua +++ b/[admin]/security/events.lua @@ -12,4 +12,26 @@ addEventHandler("onPlayerTriggerInvalidEvent", root, clientTriggersInvalidEvent) function clientTriggersEventThreshold() logViolation(source, "Exceeded event trigger threshold of "..tostring(getServerConfigSetting("max_player_triggered_events_per_interval"))); end -addEventHandler("onPlayerTriggerEventThreshold", root, clientTriggersEventThreshold); \ No newline at end of file +addEventHandler("onPlayerTriggerEventThreshold", root, clientTriggersEventThreshold); + + + +-- https://wiki.multitheftauto.com/wiki/OnPlayerConnect +-- we use onPlayerConnect event to check if the player got a valid username +function clientConnectServer(strPlayerNick, strPlayerIP, strPlayerUsername, strPlayerSerial, iPlayerVersionNumber, strPlayerVersionString) + if(not isPlayerNameValid(strPlayerNick)) then + logAction("Client "..strPlayerNick.." with IP "..strPlayerIP.." and Serial "..strPlayerSerial.." tried to join with invalid nickname! Version: "..iPlayerVersionNumber.." | "..strPlayerVersionString); + cancelEvent(true, "INVALID NICKNAME!"); + return; + end +end +addEventHandler("onPlayerConnect", root, clientConnectServer); + + + +-- https://wiki.multitheftauto.com/wiki/OnPlayerChangesWorldSpecialProperty +-- gets triggered when client changes world special property +function clientChangesWorldSpecialProperty(strProperty, bEnabled) + logViolation(source, "Changed world special property \""..strProperty.."\" to "..tostring(bEnabled)); +end +addEventHandler("onPlayerChangesWorldSpecialProperty", root, clientChangesWorldSpecialProperty); \ No newline at end of file diff --git a/[admin]/security/meta.xml b/[admin]/security/meta.xml index 736b40ee2..a255356de 100644 --- a/[admin]/security/meta.xml +++ b/[admin]/security/meta.xml @@ -1,8 +1,9 @@ - + +