From 95fc8ac687bde58a74a6bc269d1a5cf2ca501819 Mon Sep 17 00:00:00 2001 From: Mr_Goldberg Date: Sat, 7 May 2022 16:37:09 -0400 Subject: [PATCH] Send huge unreliable packets by TCP when they are too big. --- dll/network.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dll/network.cpp b/dll/network.cpp index 892e4d6..3999b72 100644 --- a/dll/network.cpp +++ b/dll/network.cpp @@ -1153,6 +1153,9 @@ bool Networking::sendTo(Common_Message *msg, bool reliable, Connection *conn) { if (!enabled) return false; + size_t size = msg->ByteSizeLong(); + if (size >= 65000) reliable = true; //too big for UDP + bool ret = false; CSteamID dest_id((uint64)msg->dest_id()); if (std::find(ids.begin(), ids.end(), dest_id) != ids.end()) { @@ -1178,7 +1181,6 @@ bool Networking::sendTo(Common_Message *msg, bool reliable, Connection *conn) ret = true; } } else { - size_t size = msg->ByteSizeLong(); char *buffer = new char[size]; msg->SerializeToArray(buffer, size); send_packet_to(udp_socket, conn->udp_ip_port, buffer, size);