Suggestion:
The dedicated server consumes significant CPU while completely idle (no players connected), causing unnecessary load. Reproduced on both Windows and Linux (Docker).
Details:
When no players are connected, the server burns CPU at a high rate. As soon as any player connects, CPU usage drops to near zero. This has been reproduced on two platforms:
Windows (Process Explorer, thread-level view):
- Idle (no players): ~10% CPU total
- With 1 player connected: ~0.01% CPU total
Linux / Docker (top -b -H inside container):
- Idle (no players): three GameThread instances each at ~100% of one core (~20% of total host CPU)
- With 1 player connected: CPU drops to near zero
PID 123 GameThread ~100% CPU
PID 150 GameThread ~100% CPU
PID 151 GameThread ~100% CPU
All Wine-level processes (wineserver, winedevice, rpcss) show 0.0% CPU throughout, confirming this is not a Wine or Docker issue — it reproduces natively on Windows as well.
The behavior is consistent with an uncapped game loop: with no clients connected, the server ticks as fast as the CPU allows with no sleep or yield between iterations. When a player joins, the loop synchronizes with network I/O, which introduces natural throttling and CPU usage collapses.
Expected behavior: the server should throttle its tick rate (or use blocking waits in the GameThread pool) when no players are connected, reducing idle CPU to near zero.
Logs / Saves / DxDiag:
The issue can be reproduced on any system using process explorer or built-in windows tools. Can provide logs / screenshots if needed.


next update has the fix for this