소스 검색

Merge pull request #95192 from Faless/mp/quite_relay_to_disconnected

[MP] Avoid error spam in relay protocol when clients disconnect
Rémi Verschelde 1 년 전
부모
커밋
4359c28fea
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      modules/multiplayer/scene_multiplayer.cpp

+ 4 - 2
modules/multiplayer/scene_multiplayer.cpp

@@ -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;
 			bool should_process = false;
 			if (get_unique_id() == 1) { // I am the server.
-				// Direct messages to server should not go through relay.
-				ERR_FAIL_COND(peer > 0 && !connected_peers.has(peer));
+				// The requested target might have disconnected while the packet was in transit.
+				if (unlikely(peer > 0 && !connected_peers.has(peer))) {
+					return;
+				}
 				// Send relay packet.
 				relay_buffer->seek(0);
 				relay_buffer->put_u8(NETWORK_COMMAND_SYS);