diff options
Diffstat (limited to 'src/core/netserver.cc')
-rw-r--r-- | src/core/netserver.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/core/netserver.cc b/src/core/netserver.cc index 73aa73d..2639b97 100644 --- a/src/core/netserver.cc +++ b/src/core/netserver.cc @@ -159,9 +159,17 @@ void NetServer::reap() if (client->error()) { - // notify the game server - if (client->state() == NetClient::Connected) + // notify other clients + for (Clients::iterator cit = clients.begin(); cit != clients.end(); cit++) { + if ((*cit) != (*it)) { + send_player_disconnect_info((*cit), (*it)->player()); + } + } + + if (client->state() == NetClient::Connected) { + // notify the game server server()->player_disconnect((*it)->player()); + } // remove the client delete client; |