summaryrefslogtreecommitdiff
path: root/src/network/network_server.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2010-10-17 17:37:26 +0000
committerrubidium <rubidium@openttd.org>2010-10-17 17:37:26 +0000
commitfe44944f326b08e6b005aef8bfcf546467b5b136 (patch)
tree5cfe8965da332f4d7299a4f11b86dfe4779a9aa7 /src/network/network_server.cpp
parent901c4a56bd29b687bee0cd7ffa49e8c9a08b9bf9 (diff)
downloadopenttd-fe44944f326b08e6b005aef8bfcf546467b5b136.tar.xz
(svn r20969) -Add: client info change notification to remote admins (dihedral)
Diffstat (limited to 'src/network/network_server.cpp')
-rw-r--r--src/network/network_server.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp
index ca446dfed..0a49a277b 100644
--- a/src/network/network_server.cpp
+++ b/src/network/network_server.cpp
@@ -284,6 +284,8 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendError(NetworkErrorCode err
new_cs->SendErrorQuit(this->client_id, error);
}
}
+
+ NetworkAdminClientError(this->client_id, error);
} else {
DEBUG(net, 1, "Client %d made an error and has been disconnected. Reason: '%s'", this->client_id, str);
}
@@ -985,6 +987,8 @@ DEF_GAME_RECEIVE_COMMAND(Server, PACKET_CLIENT_MAP_OK)
}
}
+ NetworkAdminClientInfo(this->GetInfo(), true);
+
/* also update the new client with our max values */
this->SendConfigUpdate();
@@ -1093,6 +1097,8 @@ DEF_GAME_RECEIVE_COMMAND(Server, PACKET_CLIENT_ERROR)
}
}
+ NetworkAdminClientError(this->client_id, errorno);
+
return this->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST);
}
@@ -1118,6 +1124,8 @@ DEF_GAME_RECEIVE_COMMAND(Server, PACKET_CLIENT_QUIT)
}
}
+ NetworkAdminClientQuit(this->client_id);
+
return this->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST);
}
@@ -1473,6 +1481,8 @@ void NetworkUpdateClientInfo(ClientID client_id)
FOR_ALL_CLIENT_SOCKETS(cs) {
cs->SendClientInfo(ci);
}
+
+ NetworkAdminClientUpdate(ci);
}
/* Check if we want to restart the map */