From 6f2ecfe9929774e34a4a43bd274b2b5cd7b2344a Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Sun, 8 Feb 2015 19:51:35 -0500 Subject: [PATCH] Added remaining events; fixed RenX_OnKill() killer-victim order. --- Release/Plugins/RenX.Core.lib | Bin 93934 -> 99250 bytes RenX.Core/RenX_Plugin.cpp | 50 ++++++++++++++++++++++++++++++++++ RenX.Core/RenX_Plugin.h | 10 +++++++ RenX.Core/RenX_Server.cpp | 37 +++++++++++++++++++++++-- 4 files changed, 95 insertions(+), 2 deletions(-) diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 3e9bb9f5eb3409561e4a16191e4e2974eb0929a2..88a8c715163fbca4d511aeea1d30387680f23116 100644 GIT binary patch delta 12715 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 Bt3dz& diff --git a/RenX.Core/RenX_Plugin.cpp b/RenX.Core/RenX_Plugin.cpp index 6b2b879..769b198 100644 --- a/RenX.Core/RenX_Plugin.cpp +++ b/RenX.Core/RenX_Plugin.cpp @@ -205,6 +205,56 @@ void RenX::Plugin::RenX_OnUnsubscribe(Server *, const Jupiter::ReadableString &) return; } +void RenX::Plugin::RenX_OnBlock(Server *, const Jupiter::ReadableString &, const Jupiter::ReadableString &) +{ + return; +} + +void RenX::Plugin::RenX_OnConnect(Server *, const Jupiter::ReadableString &) +{ + return; +} + +void RenX::Plugin::RenX_OnAuthenticate(Server *, const Jupiter::ReadableString &) +{ + return; +} + +void RenX::Plugin::RenX_OnBan(Server *, const Jupiter::ReadableString &, const Jupiter::ReadableString &) +{ + return; +} + +void RenX::Plugin::RenX_OnInvalidPassword(Server *, const Jupiter::ReadableString &) +{ + return; +} + +void RenX::Plugin::RenX_OnDrop(Server *, const Jupiter::ReadableString &, const Jupiter::ReadableString &) +{ + return; +} + +void RenX::Plugin::RenX_OnDisconnect(Server *, const Jupiter::ReadableString &) +{ + return; +} + +void RenX::Plugin::RenX_OnStopListen(Server *, const Jupiter::ReadableString &) +{ + return; +} + +void RenX::Plugin::RenX_OnResumeListen(Server *, const Jupiter::ReadableString &) +{ + return; +} + +void RenX::Plugin::RenX_OnWarning(Server *, const Jupiter::ReadableString &) +{ + return; +} + void RenX::Plugin::RenX_OnRCON(Server *, const Jupiter::ReadableString &) { return; diff --git a/RenX.Core/RenX_Plugin.h b/RenX.Core/RenX_Plugin.h index b5764e4..db6e553 100644 --- a/RenX.Core/RenX_Plugin.h +++ b/RenX.Core/RenX_Plugin.h @@ -83,6 +83,16 @@ namespace RenX virtual void RenX_OnExecute(Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &command); virtual void RenX_OnSubscribe(Server *server, const Jupiter::ReadableString &user); virtual void RenX_OnUnsubscribe(Server *server, const Jupiter::ReadableString &user); + virtual void RenX_OnBlock(Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &message); + virtual void RenX_OnConnect(Server *server, const Jupiter::ReadableString &user); + virtual void RenX_OnAuthenticate(Server *server, const Jupiter::ReadableString &user); + virtual void RenX_OnBan(Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &message); + virtual void RenX_OnInvalidPassword(Server *server, const Jupiter::ReadableString &user); + virtual void RenX_OnDrop(Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &message); + virtual void RenX_OnDisconnect(Server *server, const Jupiter::ReadableString &user); + virtual void RenX_OnStopListen(Server *server, const Jupiter::ReadableString &message); + virtual void RenX_OnResumeListen(Server *server, const Jupiter::ReadableString &message); + virtual void RenX_OnWarning(Server *server, const Jupiter::ReadableString &message); virtual void RenX_OnRCON(Server *server, const Jupiter::ReadableString &raw); /** Admin Type Logs */ diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index 574dc04..800573a 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -964,9 +964,9 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) } else kID = kIDToken.asInt(); - RenX::PlayerInfo *victim = getPlayerOrAdd(kName, kID, vTeam, kIsBot, 0, Jupiter::ReferenceString::empty); + RenX::PlayerInfo *killer = getPlayerOrAdd(kName, kID, vTeam, kIsBot, 0, Jupiter::ReferenceString::empty); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnKill(this, player, victim, damageType); + xPlugins.get(i)->RenX_OnKill(this, killer, player, damageType); } } else if (type.equals("died by")) @@ -1246,42 +1246,75 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) else if (subHeader.equals("Blocked;")) { // User | Reason="(Denied by IP Policy)" / "(Not on Whitelist)" + Jupiter::ReferenceString user = buff.getToken(2, RenX::DelimC); + Jupiter::ReferenceString message = buff.gotoToken(3, RenX::DelimC); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnBlock(this, user, message); } else if (subHeader.equals("Connected;")) { // User + Jupiter::ReferenceString user = buff.getToken(2, RenX::DelimC); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnConnect(this, user); } else if (subHeader.equals("Authenticated;")) { // User + Jupiter::ReferenceString user = buff.getToken(2, RenX::DelimC); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnAuthenticate(this, user); } else if (subHeader.equals("Banned;")) { // User | "reason" | Reason="(Too many password attempts)" + Jupiter::ReferenceString user = buff.getToken(2, RenX::DelimC); + Jupiter::ReferenceString message = buff.gotoToken(4, RenX::DelimC); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnBan(this, user, message); } else if (subHeader.equals("InvalidPassword;")) { // User + Jupiter::ReferenceString user = buff.getToken(2, RenX::DelimC); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnInvalidPassword(this, user); } else if (subHeader.equals("Dropped;")) { // User | "reason" | Reason="(Auth Timeout)" + Jupiter::ReferenceString user = buff.getToken(2, RenX::DelimC); + Jupiter::ReferenceString message = buff.gotoToken(4, RenX::DelimC); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnDrop(this, user, message); } else if (subHeader.equals("Disconnected;")) { // User + Jupiter::ReferenceString user = buff.getToken(2, RenX::DelimC); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnDisconnect(this, user); } else if (subHeader.equals("StoppedListen;")) { // Reason="(Reached Connection Limit)" + Jupiter::ReferenceString message = buff.gotoToken(2, RenX::DelimC); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnStopListen(this, message); } else if (subHeader.equals("ResumedListen;")) { // Reason="(No longer at Connection Limit)" + Jupiter::ReferenceString message = buff.gotoToken(2, RenX::DelimC); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnResumeListen(this, message); } else if (subHeader.equals("Warning;")) { // Warning="(Hit Max Attempt Records - You should investigate Rcon attempts and/or decrease prune time)" + Jupiter::ReferenceString message = buff.gotoToken(2, RenX::DelimC); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnWarning(this, message); } else {