summaryrefslogtreecommitdiff
path: root/src/network/network_admin.cpp
diff options
context:
space:
mode:
authorplanetmaker <planetmaker@openttd.org>2013-07-11 19:57:40 +0000
committerplanetmaker <planetmaker@openttd.org>2013-07-11 19:57:40 +0000
commit4a1bf704ee1d8de386fe9f5b5fd87a46fb7bb615 (patch)
treeed4438e49d3c85d2d2e1680a7303618dd1e45371 /src/network/network_admin.cpp
parent09a30ca7b5a1a6ddbd47fe062b0982f599c17284 (diff)
downloadopenttd-4a1bf704ee1d8de386fe9f5b5fd87a46fb7bb615.tar.xz
(svn r25587) -Add FS#5643: Conclude rcon output sent to admin clients with an RCON_END packet (Xaroth)
Diffstat (limited to 'src/network/network_admin.cpp')
-rw-r--r--src/network/network_admin.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/network/network_admin.cpp b/src/network/network_admin.cpp
index a78f0c869..93cfe2807 100644
--- a/src/network/network_admin.cpp
+++ b/src/network/network_admin.cpp
@@ -481,6 +481,20 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendChat(NetworkAction action
}
/**
+ * Send a notification indicating the rcon command has completed.
+ * @param command The original command sent.
+ */
+NetworkRecvStatus ServerNetworkAdminSocketHandler::SendRconEnd(const char *command)
+{
+ Packet *p = new Packet(ADMIN_PACKET_SERVER_RCON_END);
+
+ p->Send_string(command);
+ this->SendPacket(p);
+
+ return NETWORK_RECV_STATUS_OKAY;
+}
+
+/**
* Send the reply of an rcon command.
* @param colour The colour of the text.
* @param result The result of the command.
@@ -509,7 +523,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::Receive_ADMIN_RCON(Packet *p)
_redirect_console_to_admin = this->index;
IConsoleCmdExec(command);
_redirect_console_to_admin = INVALID_ADMIN_ID;
- return NETWORK_RECV_STATUS_OKAY;
+ return this->SendRconEnd(command);
}
NetworkRecvStatus ServerNetworkAdminSocketHandler::Receive_ADMIN_GAMESCRIPT(Packet *p)