diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 46ffb12..3ed995c 100644 Binary files a/Release/Plugins/RenX.Core.lib and b/Release/Plugins/RenX.Core.lib differ diff --git a/RenX.Commands/RenX_Commands.cpp b/RenX.Commands/RenX_Commands.cpp index e024162..269c6cb 100644 --- a/RenX.Commands/RenX_Commands.cpp +++ b/RenX.Commands/RenX_Commands.cpp @@ -99,6 +99,36 @@ RenX_CommandsPlugin pluginInstance; /** Console Commands */ +// RawRCON Console Command + +RawRCONConsoleCommand::RawRCONConsoleCommand() +{ + this->addTrigger(STRING_LITERAL_AS_REFERENCE("rrcon")); + this->addTrigger(STRING_LITERAL_AS_REFERENCE("rawrcon")); +} + +void RawRCONConsoleCommand::trigger(const Jupiter::ReadableString ¶meters) +{ + Jupiter::StringS msg = parameters; + msg += '\n'; + int i = RenX::getCore()->getServerCount(); + if (i == 0) + puts("Error: Not connected to any Renegade X servers."); + else if (parameters.isEmpty() == false) + while (--i >= 0) + RenX::getCore()->getServer(i)->sendData(msg); + else + puts("Error: Too Few Parameters. Syntax: rcon "); +} + +const Jupiter::ReadableString &RawRCONConsoleCommand::getHelp(const Jupiter::ReadableString &) +{ + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Sends data over the Renegade X server's rcon connection. Syntax: rrcon "); + return defaultHelp; +} + +CONSOLE_COMMAND_INIT(RawRCONConsoleCommand) + // RCON Console Command RCONConsoleCommand::RCONConsoleCommand() @@ -113,21 +143,15 @@ void RCONConsoleCommand::trigger(const Jupiter::ReadableString ¶meters) if (i == 0) puts("Error: Not connected to any Renegade X servers."); else if (parameters != nullptr) - { - RenX::Server *server; while (--i >= 0) - { - server = RenX::getCore()->getServer(i); - RenX::getCore()->send(server, parameters); - } - } + RenX::getCore()->getServer(i)->send(parameters); else puts("Error: Too Few Parameters. Syntax: rcon "); } const Jupiter::ReadableString &RCONConsoleCommand::getHelp(const Jupiter::ReadableString &) { - static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Sends data to the Renegade X server's rcon. Syntax: rcon "); + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Executes a command over the Renegade X server's rcon connection. Syntax: rcon "); return defaultHelp; } diff --git a/RenX.Commands/RenX_Commands.h b/RenX.Commands/RenX_Commands.h index 78aba29..3b1c76a 100644 --- a/RenX.Commands/RenX_Commands.h +++ b/RenX.Commands/RenX_Commands.h @@ -49,6 +49,7 @@ private: Jupiter::StringS adminPlayerInfoFormat; }; +GENERIC_CONSOLE_COMMAND(RawRCONConsoleCommand) GENERIC_CONSOLE_COMMAND(RCONConsoleCommand) //GENERIC_CONSOLE_COMMAND(RCONSelectConsoleCommand)