High FXServer CPU usage on Linux
Linux servers used noticeably more CPU from 12913 on. A Cfx.re collaborator confirmed the fix shipped in 14193, which reverts the pplx library to its pre-Node 22 version.
No known issues, but FiveM no longer supports this build. Plan an update.
Linux servers used noticeably more CPU from 12913 on. A Cfx.re collaborator confirmed the fix shipped in 14193, which reverts the pplx library to its pre-Node 22 version.
Missing bounds checks in the connection handshake, the HTTP request parser and latent event reassembly could crash the server when it received crafted data. Anyone who can reach the server's port could trigger it. Update to 38435 or newer.
Before 37262 there was no core rate limit on netGameEvent packets. A single client could flood events such as weaponDamageEvent until the main thread hung and txAdmin restarted the server. The issue was reported on 35636 and 36727. 37262 drops clients that go over the new 'netGameEvent' rate limiter.
The server's reassembly of large client-to-server latent events got hard limits, plus diagnostics for 'latent ACK overflow'. Older builds let a client keep more partial event state than they needed to, which costs memory and CPU.
Rate limiting of latent (TriggerLatentServerEvent) traffic from clients was tightened in the reassembly packet handler. On older builds a client could push latent event traffic harder than intended.
With OneSync, a modified client could register more than one networked player object (CNetObjPlayer) for itself. That is a known abuse path for desync and crashes. Since 23984 the server rejects the extra ones.
Server owners can now block specific net game event types from clients with block_net_game_event (and undo it with unblock_net_game_event). Use it when an event type is being abused. The syntax was simplified in 16541.
This new replicated convar (default off) protects entities created by server scripts from being deleted by clients. If cheaters delete your server-spawned vehicles, peds or props, run 14317 or newer and set sv_protectServerEntities true.
Before 15859 anyone could connect to the built-in Mumble (voice) server, even without being a player on the game server. Now mumble_allowExternalConnections defaults to false, and voice clients must match a connected player who has finished routing. Set it to true only if you deliberately use an external Mumble client.
Oversized or invalid outgoing voice messages used to hit an assertion. They are now dropped cleanly, and the send queue is drained properly. The voice server should be less likely to stall or crash under bad traffic.