promotional bannermobile promotional banner

LeanCore

LeanCore keeps Hytale server RAM under control: idle map areas cool off, view distance trims when heap is tight, chunks unload when nobody needs them, and retention weights learn from player activity.

File Details

LeanCore-1.1.0.jar

  • R
  • Jun 8, 2026
  • 157.26 KB
  • 16
  • 0.5

File Name

LeanCore-1.1.0.jar

Supported Versions

  • 0.5

Changelog (1.1.0)

Added

  • Scaled runtime profiles on embedded hosts: LITE (solo), STANDARD (friends), FULL (dedicated)
  • localHostMode AUTO (default): dormancy on solo with a 30s tick; ramps up when friends join
  • Regional entity counts per zone in /leancore probe (S4 via EntityChunk)
  • Unload counters in /leancore learn: policy sweeps vs engine unloads (ChunkUnloadEvent, opt-in)
  • OnlineLinearDemandModel for retention weights (feature schema v1)
  • LeanCoreAPI for other mods: tier query, zone pin, player snapshot
  • 10% holdout cohort: bandit learns on treatment players; holdout skips view-radius cuts
  • Unit tests for runtime profiles, activation policy, feature normalization, and demand model

Changed

  • Runtime uses HytaleServer.SCHEDULED_EXECUTOR with 30s initial delay (lighter on local solo)
  • Safer defaults: governEnabled=false, viewRadiusGovernanceEnabled=false, hudFeatureEnabled=false, learningEnabled=false
  • View-radius governance disabled on embedded solo (1 player + not dedicated) even when governor is on
  • Policy applier only pushes view-radius when policy actually changes (throttled)
  • /leancore status shows active runtime profile (LITE / STANDARD / FULL)
  • /leancore learn shows featureSchema=v1, demand model status, and unload stats

Fixed

  • Embedded local worlds no longer stutter from a heavy 5s background tick + HUD + learning loop
  • Chunk-unload event tracking off by default (avoids engine thread assert on some worlds)

Notes

  • Solo: keep localHostMode: AUTO. Dedicated: dedicatedServerMode: true then tune governor