From cc85173fa942c088abaa65a70f7886b04e5cca2b Mon Sep 17 00:00:00 2001 From: Collecting Date: Thu, 22 Jan 2026 05:31:36 +0100 Subject: [PATCH] fix(multiplayer): Add sleep_for & remove yield for Stabilization Signed-off-by: Collecting --- src/core/internal_network/socket_proxy.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/core/internal_network/socket_proxy.cpp b/src/core/internal_network/socket_proxy.cpp index b6368e4b5..4d2e706e2 100644 --- a/src/core/internal_network/socket_proxy.cpp +++ b/src/core/internal_network/socket_proxy.cpp @@ -34,14 +34,13 @@ void ProxySocket::HandleProxyPacket(const ProxyPacket& packet) { const auto my_ip = room_member->GetFakeIpAddress(); - // If the sender (local_endpoint) is OUR IP, ignore it. - // We don't want to process our own sent packets. + // 1. Ignore our own echo if (packet.local_endpoint.ip == my_ip) { return; } - // Only accept packets meant for us or actual broadcasts. - if (packet.remote_endpoint.ip != my_ip && !packet.broadcast) { + // 2. Ignore packets meant for other people + if (!packet.broadcast && packet.remote_endpoint.ip != my_ip) { return; } @@ -173,7 +172,7 @@ std::pair ProxySocket::RecvFrom(int flags, std::span message, So return {-1, Errno::AGAIN}; } - std::this_thread::yield(); + std::this_thread::sleep_for(std::chrono::milliseconds(1)); const auto time_diff = std::chrono::steady_clock::now() - timestamp; const auto time_diff_ms =