Merge pull request #95192 from Faless/mp/quite_relay_to_disconnected

[MP] Avoid error spam in relay protocol when clients disconnect
This commit is contained in:
Rémi Verschelde 2024-08-06 12:32:27 +02:00
commit 4359c28fea
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 4 additions and 2 deletions

View File

@ -307,8 +307,10 @@ void SceneMultiplayer::_process_sys(int p_from, const uint8_t *p_packet, int p_p
int len = p_packet_len - SYS_CMD_SIZE; int len = p_packet_len - SYS_CMD_SIZE;
bool should_process = false; bool should_process = false;
if (get_unique_id() == 1) { // I am the server. if (get_unique_id() == 1) { // I am the server.
// Direct messages to server should not go through relay. // The requested target might have disconnected while the packet was in transit.
ERR_FAIL_COND(peer > 0 && !connected_peers.has(peer)); if (unlikely(peer > 0 && !connected_peers.has(peer))) {
return;
}
// Send relay packet. // Send relay packet.
relay_buffer->seek(0); relay_buffer->seek(0);
relay_buffer->put_u8(NETWORK_COMMAND_SYS); relay_buffer->put_u8(NETWORK_COMMAND_SYS);