From bcbe9a56e1146873cfd9872a32ed3ed4932c2a02 Mon Sep 17 00:00:00 2001 From: JAJames Date: Wed, 27 Jan 2016 17:00:15 -0500 Subject: [PATCH] RenX.Core: * Added safety check in Server::banCheck(). RenX.Commands: * Added confirmation message for "addban" command * Fixed in-game "ban" command not taking reason parameters (wrong variable was being used) --- Release/Plugins/RenX.Core.lib | Bin 156476 -> 156476 bytes RenX.Commands/RenX_Commands.cpp | 3 ++- RenX.Core/RenX_Server.cpp | 5 +++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 19525bcce0f52e04939a60c6b50d9a29bd7257b4..c86fad1511b1affa37d7ca8435f229d92b0e9058 100644 GIT binary patch delta 10445 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 L=AQUjPQw2IYFK`L delta 10445 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 Mj+=Ypr#lJ%2Q-bV3;+NC diff --git a/RenX.Commands/RenX_Commands.cpp b/RenX.Commands/RenX_Commands.cpp index 1bf063d..443cd97 100644 --- a/RenX.Commands/RenX_Commands.cpp +++ b/RenX.Commands/RenX_Commands.cpp @@ -2179,6 +2179,7 @@ void AddBanIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &c RenX::banDatabase->add(name, ip, prefix_length, steamid, rdns, banner, reason, duration); RenX::getCore()->banCheck(); + source->sendMessage(channel, Jupiter::StringS::Format("Ban added to the database with ID #%u", RenX::banDatabase->getEntries().size() - 1)); } } } @@ -3056,7 +3057,7 @@ void KickBanGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, { Jupiter::StringS name = Jupiter::StringS::getWord(parameters, 0, WHITESPACE); Jupiter::StringS reason = parameters.wordCount(WHITESPACE) > 1 ? Jupiter::StringS::gotoWord(parameters, 1, WHITESPACE) : STRING_LITERAL_AS_REFERENCE("No reason"); - RenX::PlayerInfo *target = source->getPlayerByPartName(parameters); + RenX::PlayerInfo *target = source->getPlayerByPartName(name); if (target == nullptr) source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); else if (player == target) diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index fecfe22..e9e9573 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -387,8 +387,9 @@ void RenX::Server::forceKickPlayer(const RenX::PlayerInfo *player, const Jupiter void RenX::Server::banCheck() { - for (Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); node != nullptr; node = node->next) - this->banCheck(node->data); + if (RenX::Server::players.size() != 0) + for (Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); node != nullptr; node = node->next) + this->banCheck(node->data); } void RenX::Server::banCheck(RenX::PlayerInfo *player)