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.
Back to Files

LeanCore-1.4.0.jar

File nameLeanCore-1.4.0.jar
Uploader
DurkzPRGDurkzPRG
Uploaded
Jun 10, 2026
Downloads
25
Size
224.7 KB
File ID
8226941
Type
R
Release
Supported game versions
  • 0.5

What's new

Changelog (1.4.0)

Added

  • Learning snapshot v7 (learning.state.gz): gzip binary format replaces unbounded text learning.state; automatic migration on first flush
  • Player profile pruning: learningMaxPersistedPlayers (default 512) and learningPlayerTtlDays (default 90) cap disk growth on long-running servers
  • embeddedStandardProfile: solo embedded hosts can run STANDARD (15s tick) without forcing dedicatedServerMode / FULL 5s megatick. Safer local dogfood.
  • World-thread dispatch layer: WorldDispatch, GovernorWorldContext, RuntimeGuard for safe governor work on Hytale's TickingThread worlds
  • Optional GC hint (gcHintEnabled): experimental LITE idle System.gc() nudge (off by default)

Changed

  • Governor runtime uses a daemon LeanCore-runtime scheduler (no longer pins HytaleServer.SCHEDULED_EXECUTOR)
  • FULL/STANDARD governor ticks: coalesced world.execute (at most one pending tick; scheduler no longer blocks up to 5s per tick)
  • Policy apply and chunk unload run inline when already on the world thread (world.isInThread())
  • ShutdownEvent triggers early runtime.shutdown(); HUD overlays removed on shutdown
  • Webhook HttpClient bound to a daemon executor thread

Fixed

  • Zombie java.exe after closing Hytale when using dedicated-style config (dedicatedServerMode + govern + unload + HUD on embedded host): nested world.execute + CompletableFuture.get from the world thread queued tasks that never drained before JVM exit; world TickingThread kept the process alive after Shutdown completed!
  • View-radius on embedded solo still skipped unless dedicatedServerMode: true (intentional rule preserved)

Notes

  • Solo local default remains profile LITE unless embeddedStandardProfile: true
  • Enable unloadEnabled only after /leancore probe baseline on dedicated hosts

This mod has no additional files