Quick answer: Godot 4 high-level multiplayer flooding new joins with state catch-up? Default initial sync sends every replicated property - throttle initial sync or compress.
Late-join client receives 800KB in the first second. Game stalls until catch-up completes.
Snapshot via compression
Serialize world state; gzip compress; send in chunks. Reduces 800KB to ~80KB typically.
Throttle initial sync
Spread initial state across 5-10 seconds. Player sees the world fade in; bandwidth peak smooths.
Use interest management
Only send state for the area around the joining player. Distant state streams in as they explore.
“Late-join is the worst-case for replication bandwidth. Treat it like the worst case.”
Profile late-join scenarios. Worst-case bandwidth surfaces here; the fix often improves steady-state too.