Unshown 81cbda0d56 Fix TCP connection drops caused by thread interleaving in TCPSend
This commit addresses the mysterious connection drops that occur under heavy load.

1. Added `TCPSendMutex` to `TCPSend` in `VehicleEvent.cpp`.
While `UDPSend`, `GameSend`, and `CoreSend` all had dedicated mutexes, `TCPSend` was missing one. This allowed the background `AutoPing` thread to occasionally collide with the main event loop while sending data. This interleaving corrupted the TCP headers, causing the server to instantly terminate the connection due to malformed packets. `TCPSend` is now safely locked with a `std::scoped_lock`.
2026-08-24 13:23:50 +02:00
2026-03-29 19:21:55 +02:00
2021-03-29 21:45:32 +03:00
2024-06-17 21:59:59 +02:00
2021-03-29 11:57:58 +03:00
2024-12-03 03:51:32 -05:00
2024-12-07 11:10:51 +01:00
2025-04-05 12:04:57 +02:00
2024-10-04 22:59:29 +02:00

BeamMP-Launcher

The launcher is the way we communitcate to outside the game, it does a few automated actions such as but not limited to: downloading the mod, launching the game, and create a connection to a server.

Getting started

License

BeamMP Launcher, a launcher for the BeamMP mod for BeamNG.drive Copyright (C) 2024 BeamMP Ltd., BeamMP team and contributors.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Languages
C++ 98%
C 1.9%
CMake 0.1%