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)