File Details
RoadArchitect v1.6.6+1.21.2 [Fabric/Quilt]
- R
- May 2, 2026
- 1.20 MB
- 10
- 1.21.2
- Fabric + 1
File Name
roadarchitect-1.6.6-fabric+1.21.2.jar
Supported Versions
- 1.21.2
Curse Maven Snippet
v1.6.6 β Cache flush race fix
Fixes
- π§΅ No more
NoSuchFileExceptionspam in the log when the cache is busy. Two background workers could try to save the same region at the same moment and step on each other's temporary file, leaving a stack trace in the log every time it happened. Each save now uses its own private temp file, and any leftovers from a previous crashed run are cleaned up at startup.
v1.6.5 β Config robustness
Fixes
- π‘οΈ Broken selector lists no longer crash the mod. A truncated or partially-corrupt config file (e.g. after a game crash mid-write) sometimes left
nullentries insidestructureSelectors/dimensionSelectors/forbiddenBiomes.selectors. These are now filtered out at load time and the mod keeps running on whatever entries are still valid. - π¬ Helpful hint when a structure id is mistyped. Invalid selectors used to log a flat
Structure selector 'X' is invalid. The mod now searches the registry for the closest-matching id or tag and addsdid you mean 'Y'?β handy when adding ids from Mo' Structures, Tectonic, etc.
v1.6.4 β Config & performance toggles
Added
- ποΈ Hide the scanning progress bar. New Debug β Show Scanning Bar toggle removes the road scanning overlay from the world loading screen for players who find it noisy. On by default.
- πΊοΈ Disable the road graph debug map. New Debug β Enable Debug Map toggle gates the keybind that opens the in-game graph view. On by default; turn it off if you don't want the map (or its draw cost) at all.
- βοΈ Choose how many cores RoadArchitect can use. New Debug β Async Worker Threads setting controls the size of the background worker pool.
0keeps the auto-sized default (CPU cores β 2, leaving headroom for the OS, the main game thread, and vanilla worldgen workers). Setting an explicit number above 0 caps it at that value. Useful for capping RA on shared servers or under Distant Horizons-heavy setups. Requires a game restart.
v1.6.3 β Cache stability hotfix
Fixes
- π‘οΈ Corrupted cache files no longer poison your world. If a region cache file ever ends up unreadable (after a server kill, disk hiccup, or any other failure), it is now safely set aside and the cache rebuilds from scratch β instead of silently spreading the damage across new writes.
- πΎ Hardened cache writes. Cache files are now flushed to disk before being committed, so a server kill or power loss while saving no longer leaves you with a
ZipException: invalid stored block lengthson the next launch. - π Memory budget actually respected. The cache previously underestimated its own size and could keep growing past the configured RAM limit, dragging TPS down. The accounting is fixed β the limit you set in the Cache config now reflects reality.
Tuning
- βοΈ Smarter default RAM split. Default Cache budgets retuned for typical 2β4 GB heap setups: runtime 256 β 128 MiB, snapshots 64 β 32 MiB, pages 128 β 192 MiB. Total drops from 448 to 352 MiB while the main page cache grows by 50 % β hot regions stay in RAM instead of being read from disk on every chunk load. Existing configs are untouched; only fresh installs pick up the new values (use Cache β Reset to defaults if you want them).
- β‘ No more multi-second freezes when loading into a world. Cache writes triggered by chunk loads are now handled on a background worker. Returning to a world with hundreds of chunks streaming in at once no longer stalls the server tick for seconds while region files decompress.
Compatibility: existing caches are read as before, no world migration needed.
v1.6.2 β Cache stack overhaul
Highlights
- π§ Tiered cache backend: Replaced the old SavedData maps with a WTinyLFU+Caffeine runtime cache backed by paged region stores per dimension. Chunk snapshots now live in their own cache with separate budgets, prefill works chunk-by-chunk with budget guards, and legacy
road_cache.datfiles are quarantined automatically while data is rebuilt on demand. - π οΈ Dedicated cache controls: Added a Cache tab to the config on all platforms covering runtime/snapshot/persisted RAM budgets, region page size, async prefill limits, and per-dataset persistence flags. Every budget is clamped to at most 65% of the JVM heap (never below 64 MB) before any cache starts so memory usage stays predictable.
- π§Ύ Debug visibility: Two new toggles,
enableCacheLogsandshowCacheStatsOverlay, gate the cache-specific log spam and the new F3 overlay (HudRenderCallback / RenderGuiOverlayEvent.Post) rendered byCacheDebugOverlayRenderer, showing runtime/snapshot/page usage, limits, and prefill status in real time.
Compatibility: No breaking world changes; caches migrate automatically and legacy cache files are moved aside safely.

