Recurring simulation stutter server tick spikes of 100800 ms with healthy averages (2.3.0.2798)
**Version:** 2.3.0.2798
**Mode:** Single player, in-process server
**Session:** 2026-08-12, 03:18 → 03:43 (21 minutes of logged statistics)
**Symptom**
The game feels like it hitches regularly — smooth for a few seconds, then a visible jolt. The same construction in a different save does not do this. Framerate is not the issue: it sits around 100 fps throughout.
**Averages are healthy**
Across all 22 logged samples:
```
Main thread: 13.1 – 17.1 ms (budget 16.67 ms)
of which ServerSession: 10.8 – 15.9 ms (~85% of main thread)
Render thread: 7.8 – 10.3 ms
GPU: 7.8 – 8.2 ms
Frame time: 9.1 – 10.7 ms
Worker load: 36 – 47%
CPU load: 41 – 52%
```
**The peaks are the problem**
Every single 50-second sampling window contains at least one main-thread spike of 100–180 ms, and several windows contain much larger ones:
```
t(s) Main ServerSess | Max_Main Max_ServerSess Max_Frame CLRStalls
73 18.50 15.87 | 801.9 301.7 94.9 0.0357
201 13.93 11.20 | 421.3 287.7 205.5 0.0776
312 13.61 10.91 | 210.7 205.8 115.5 0.0376
366 13.53 11.04 | 541.2 111.6 401.9 0.3411
475 13.78 11.55 | 141.4 136.6 73.1 0.0177
624 16.17 13.69 | 384.3 102.3 368.3 0.2286
774 17.11 14.53 | 143.1 133.0 70.9 0.0289
876 15.78 13.43 | 175.7 172.5 87.0 0.0239
1087 15.70 13.43 | 166.9 163.3 94.1 0.0266
```
(all values in ms except CLRStalls in seconds; full 22-row set is in the attached log)
**Two separable causes**
1. **Server tick spikes.** In most windows Max_Main and Max_ServerSess move together (141.4 / 136.6, 175.7 / 172.5, 166.9 / 163.3). The stall happens inside the server simulation tick, not in rendering or input.
2. **GC pauses.** In two windows the pattern is different: at t=366 and t=624, Max_Main reaches 541.2 and 384.3 ms while Max_ServerSess stays at 111.6 and 102.3. What spikes instead is Max_Frame (401.9 and 368.3 ms), and CLRStalls jumps to 0.3411 s and 0.2286 s against 0.01–0.03 s in every other window. Managed allocation runs at roughly 26 MB/s steady state, with 21 gen-2 collections over the session.
The main-thread average also drifts upward between t=525 and t=825, peaking at 17.11 ms (103% of budget), so simulation briefly drops below 60 Hz before recovering.
**Save context**
```
PCU total: 273,000 – 323,000 over the session
NPC: 169,523
Local player: 128,923
Managed encounters: 91,619
Active contracts: 18,039
Grids (server): 202
Armor blocks: 27,771
Process memory: 27.13 GiB
```
Note: this same save also produces a recurring critical assertion about entities near the center of planet Verdure, which I am reporting separately.
**Questions**
1. Are server tick spikes of 100–180 ms per minute expected at this world size, or does this indicate a specific system stalling?
2. Is there a way to identify which server subsystem is responsible from the client-side logs?
**System**
- Windows 11 (10.0.26200)
- AMD Ryzen 7 7700, 8C/16T
- AMD Radeon RX 7900 XTX
- 32 GB RAM
- .NET 9.0.18
- Graphics preset: High (Texture, Terrain, RenderingDistance, Particles, Parallax High; FSR anti-aliasing; VSync disabled)
Full logs attached (main log with the 22 STATISTICS rows, Stats log, Render12 log, Mission log).
I have the same bug
Replies have been locked on this page!