LeanCore

LeanCore is server-side memory governor for Hytale. Unloads idle map regions, trims view radius under heap pressure, and learns which zones get revisited so it keeps the ones you actually use.

File Details

LeanCore-1.7.0.jar

  • R
  • Jun 24, 2026
  • 277.34 KB
  • 35
  • 0.5

File Name

LeanCore-1.7.0.jar

Supported Versions

  • 0.5

Changelog (1.7.0)

Added

  • Content-aware zone dormancy: samples built-content density per zone (chests, benches, other block entities) and biases dormancy timers and eviction order toward keeping content-rich zones loaded longer, even when idle. On by default
  • Hot/simulation radius governance: under heap pressure, trims the server-side ticking radius (separate from client view radius, so no view pop-in) to cut simulation cost on top of the existing view-radius trims. On by default, same grace window as the view-radius governor
  • Per-chunk unload truth: engine chunk eviction is now counted exactly on the world thread instead of inferred from net loaded-chunk deltas, so the learning signal for a unload that stuck is far cleaner. On by default

Changed

  • Per-world reads (hot zones, chunk-set diff, content scan) are batched into a single world-thread dispatch per tick, reducing dispatch overhead
  • Hot-radius changes are now logged, so the ticking-radius governor reports its target the way the view-radius governor already does
  • Learning persistence schema bumped to v9 (adds a per-zone content score); older v7 and v8 snapshots are read and upgraded automatically

Fixed

  • Zone reuse stats are now immutable for safe cross-thread reads, false-cut counters are atomic, and the per-world chunk-set tracker no longer retains snapshots for worlds that went away
  • Dormancy aging no longer advances its clock when a per-world fan-out only partially completes under load, so idle zones still cool on time
  • Runtime shutdown is guarded against double execution, so a restart cannot run the save and teardown path twice
  • World-thread tasks that throw are now logged instead of being silently swallowed
  • Content-rich zones now persist even before they reach the normal visit threshold

Notes

  • New LeanCore.json keys are added on first run: per-chunk unload truth, content model, and hot-radius governance default to on. Set them to false to keep 1.6.x behavior
  • Existing LeanCore.json and learning.state.gz are kept and upgraded in place; no manual migration