|
@@ -278,13 +278,13 @@ NetworkRecvStatus ServerNetworkGameSocke
|
|
|
this->savegame = nullptr;
|
|
|
|
|
|
this->CheckNextClientToSendMap(this);
|
|
|
}
|
|
|
|
|
|
NetworkAdminClientError(this->client_id, NETWORK_ERROR_CONNECTION_LOST);
|
|
|
Debug(net, 3, "Closed client connection {}", this->client_id);
|
|
|
Debug(net, 3, "[{}] Client #{} closed connection", ServerNetworkGameSocketHandler::GetName(), this->client_id);
|
|
|
|
|
|
/* We just lost one client :( */
|
|
|
if (this->status >= STATUS_AUTHORIZED) _network_game_info.clients_on--;
|
|
|
extern byte _network_clients_connected;
|
|
|
_network_clients_connected--;
|
|
|
|
|
@@ -945,12 +945,14 @@ NetworkRecvStatus ServerNetworkGameSocke
|
|
|
if (this->status == STATUS_DONE_MAP && !this->HasClientQuit()) {
|
|
|
std::string client_name = this->GetClientName();
|
|
|
|
|
|
NetworkTextMessage(NETWORK_ACTION_JOIN, CC_DEFAULT, false, client_name, "", this->client_id);
|
|
|
InvalidateWindowData(WC_CLIENT_LIST, 0);
|
|
|
|
|
|
Debug(net, 3, "[{}] Client #{} ({}) joined as {}", ServerNetworkGameSocketHandler::GetName(), this->client_id, this->GetClientIP(), client_name);
|
|
|
|
|
|
/* Mark the client as pre-active, and wait for an ACK
|
|
|
* so we know it is done loading and in sync with us */
|
|
|
this->status = STATUS_PRE_ACTIVE;
|
|
|
NetworkHandleCommandQueue(this);
|
|
|
this->SendFrame();
|
|
|
this->SendSync();
|