Storage I/O and compression
Understand detached work, main-thread ownership, and the limits of queued saves.
Async chunk I/O
feature-flags.async-chunk-io selects a dedicated physical region I/O pool. Decode/compression preparation can use Paper’s CPU executor with detached data. Conversion requiring server state, live chunk construction, and world attachment stay on main.
Per-region ordering is preserved. Synchronous Bukkit chunk calls still wait for complete main-thread commits; plugins do not receive half-ready chunks. Ineligible snapshot paths fall back to native handling. More threads cannot repair unhealthy storage.
Change async-chunk-io.threads only after checking disk/profile evidence. Zero means automatic sizing. For diagnosis, compare the flag off/on in staging with the same workload and storage.
Region compression
region-file-compression.level controls the zstd writer. Higher compression trades CPU work against data size according to your world. No compression ratio or speedup is promised.
Nusa zstd needs a reader supporting its custom codec. Back up before migration and read rollback compatibility. Disabling writes does not convert old chunks.
Async player saves
Player NBT is captured/encoded on main. I/O workers perform gzip, disk sync, backup, and atomic replacement. Disk format remains gzip .dat with .dat_old. Per-UUID ordering and coalescing prevent an older snapshot overwriting a newer save.
Normal logout/autosave does not wait for disk. Immediate reads can see the latest pending snapshot. Explicit save-all flush and shutdown drain accepted saves and report failures. Statistics/advancements keep Paper behavior.
Queue warnings are advisory; the latest snapshot remains retained above thresholds. Persistent disk failures can grow memory use. A crash before queued writes finish can lose the latest save. Async saving is not a backup.
Verify changes
Test login/logout, chunk loads, saving, and a clean restart. Check inventory/position and storage errors. Investigate free space, permissions, and latency before increasing workers or warning thresholds. See storage settings.