diff --git a/src/TNetwork.cpp b/src/TNetwork.cpp index 3cf8b75c..203805e2 100644 --- a/src/TNetwork.cpp +++ b/src/TNetwork.cpp @@ -1356,7 +1356,10 @@ bool TNetwork::UDPSend(TClient& Client, std::vector Data) { } std::vector TNetwork::UDPRcvFromClient(boost::asio::ip::udp::endpoint& ClientEndpoint) { - std::array Ret { }; + // Sized to the UDP maximum: recvfrom() truncates a datagram that exceeds the buffer + // (the tail is silently lost). A compressed position packet from a client with several + // moving vehicles can exceed 1024 bytes, so such updates were silently dropped. + std::array Ret { }; boost::system::error_code ec; const auto Rcv = mUDPSock.receive_from(boost::asio::mutable_buffer(Ret.data(), Ret.size()), ClientEndpoint, 0, ec); if (ec) {