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.

Related reading