mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-09 15:41:15 +00:00
You can now still query a full server, as long as the maximum amount of allowed connections isn't reached. This means that as long as there are not 255 clients connected to a server, you can always connect to query.
This commit is contained in:
parent
b2f0491a90
commit
e31b5d3870
@ -305,7 +305,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::CloseConnection(NetworkRecvSta
|
|||||||
/* static */ bool ServerNetworkGameSocketHandler::AllowConnection()
|
/* static */ bool ServerNetworkGameSocketHandler::AllowConnection()
|
||||||
{
|
{
|
||||||
extern byte _network_clients_connected;
|
extern byte _network_clients_connected;
|
||||||
bool accept = _network_clients_connected < MAX_CLIENTS && _network_game_info.clients_on < _settings_client.network.max_clients;
|
bool accept = _network_clients_connected < MAX_CLIENTS;
|
||||||
|
|
||||||
/* We can't go over the MAX_CLIENTS limit here. However, the
|
/* We can't go over the MAX_CLIENTS limit here. However, the
|
||||||
* pool must have place for all clients and ourself. */
|
* pool must have place for all clients and ourself. */
|
||||||
@ -805,6 +805,11 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_JOIN(Packet *p)
|
|||||||
return this->SendError(NETWORK_ERROR_NOT_EXPECTED);
|
return this->SendError(NETWORK_ERROR_NOT_EXPECTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_network_game_info.clients_on >= _settings_client.network.max_clients) {
|
||||||
|
/* Turns out we are full. Inform the user about this. */
|
||||||
|
return this->SendError(NETWORK_ERROR_FULL);
|
||||||
|
}
|
||||||
|
|
||||||
std::string client_revision = p->Recv_string(NETWORK_REVISION_LENGTH);
|
std::string client_revision = p->Recv_string(NETWORK_REVISION_LENGTH);
|
||||||
uint32 newgrf_version = p->Recv_uint32();
|
uint32 newgrf_version = p->Recv_uint32();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user