/
This version of Chunker brings significant improvements in memory efficiency, GC behavior, and compatibility — especially under high parallel load configurations.
Coordinate Caching
Memory Leak Fixes
Smarter Memory Footprint
Added Support for Folia
Two tests were performed to compare memory usage between the old and new versions of Chunker, using the same world seed and identical start points.
| Test | Old Version | New Version | Improvement |
|---|---|---|---|
| parallel_tasks_multiplier = 16 (on all dimensions) | 7.2 GB | 3.3 GB | −54.2% |
| parallel_tasks_multiplier = 200 (on end dimnension only) | 26.7 GB (crashed) | 11.3 GB | −57.7% |
- Average memory usage reduced by about (50%)
- New version remained stable under extreme chunk rates(about 3200 ChunksPerSecond in the end) that caused the old version to crash.
start.bat):@echo off
java -Xms1G -Xmx30G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:+OptimizeStringConcat -XX:+UseCompressedOops -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -XX:+UseNUMA -XX:ParallelGCThreads=16 -XX:ConcGCThreads=16 -XX:MaxGCPauseMillis=50 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar --nogui
pause
Xms1G and Xmx30G should be updated to match your minimum(Xms) and max memory(Xmx) you want for your own serverXX:ParallelGCThreads and XX:ConcGCThreads to match your number of threadspaper-global.yml):chunk-loading-advanced:
auto-config-send-distance: true
player-max-concurrent-chunk-generates: -1 # removes per-player generation limits
player-max-concurrent-chunk-loads: -1 # removes per-player load limits
chunk-loading-basic:
player-max-chunk-generate-rate: -1.0 # removes chunk generation rate cap
player-max-chunk-load-rate: -1.0 # removes chunk load rate cap
player-max-chunk-send-rate: -1.0 # removes chunk send rate cap
chunk-system:
gen-parallelism: default # allows Paper to scale based on system threads
io-threads: 16 # matches CPU thread count for optimal throughput
worker-threads: 16 # matches CPU thread count for chunk processing
region-file-cache-size: 16 # reduced cache size to lower memory usage while pre-generating with no players online; 16 is a balanced middle ground (lowest allowed is 4)
level.dat, to keep the same world seed.(0, 0) in each test.parallel_tasks_multiplier and task_queue_timer based on your system’s CPU core count and available memory.print_update_delay of 10s+ to avoid excessive log output during long runs.region-file-cache-size if running pregen on a fresh world with no players online.
Fast and Efficient Async Minecraft World Pre-generator