
LeanCore lowers JVM heap use on Hytale servers. When memory climbs, it cools idle map areas, trims player view distance under pressure, and unloads chunks nobody needs. Tier thresholds adjust from your server's heap history over time.
On local / solo worlds, LeanCore runs profile LITE: a lightweight memory governor with adaptive view-radius, AFK chunk reclaim, and on-by-default demand learning. No governEnabled required on solo. When friends join, profile STANDARD kicks in. Dedicated servers get profile FULL (5s tick). Set embeddedStandardProfile: true for solo local testing of STANDARD governor/learning without full dedicated mode.
Does not touch client FPS or TPS.
Features
- Runtime profiles:
LITE solo, STANDARD friends, FULL dedicated (localHostMode: AUTO)
- LITE solo governor (1.5.0): adaptive view, zone demotion, AFK unload, demand learning; 30s tick (60s when idle)
- Heap tiers: COMFORT, WATCH, TIGHT, CRITICAL. Rolls back if a cut causes problems.
- Zone dormancy: HOT near players. Empty wilderness steps down WARM, DORMANT, FROZEN on timers you set.
- Retention budget: global cap with per-player weight from activity scores
- View-radius cuts: throttled when heap or chunk pressure is high (LITE on solo; STANDARD/FULL on multi-player / dedicated)
- Chunk unload: drops chunks in frozen/dormant zones when tiers require it; probe gate blocks unload until
/leancore probe passes
- Learning data: heap windows, policy bandit (STANDARD/FULL), demand model; v7 gzip snapshot with player prune/TTL
- LITE learning: demand model shapes view cuts on solo; no bandit or holdout in LITE
- Activity Sense: online softmax classifier (MINER, LUMBERJACK, FARMER, BUILDER, FIGHTER, EXPLORER)
- Session savings:
/leancore savings reports JVM heap peak/baseline/delta, lite or standard governor activity, optional gcHint stats
- Dedicated bootstrap: one-time preset on first dedicated boot
- Admin HUD (
/leancore hud on): small heap/tier overlay. Off by default.
- Heatmap, zone pin, LeanCoreAPI, optional CRITICAL webhook
Installation
- Download LeanCore from the Files tab
- Drop the JAR in your world's mods/ folder (or
%AppData%\Hytale\UserData\Mods\ on Windows)
- Start the server. Config lands at mods/durkz_LeanCore/LeanCore.json
- Run
/leancore probe if you rely on chunk unload (LITE or STANDARD/FULL)
- Run
/leancore memory and /leancore status after a few minutes of uptime
Commands
Main command: /leancore
/leancore status
/leancore memory
/leancore savings
/leancore zones
/leancore learn
/leancore learn player
/leancore probe
/leancore hud on|off|status
/leancore heatmap [limit]
/leancore zone pin|unpin|pins
Staff admin commands, permissions, and full config reference: DurkzPRG Mods
Found a bug? Issues
Recommended
- Solo / local: keep
localHostMode: AUTO (default). LITE governor and learning are on by default in 1.5.0.
- Dedicated or friends: enable
governEnabled / learningEnabled / unloadEnabled as needed; run /leancore probe before policy unload.
- After upgrading from 1.4.x, existing
LeanCore.json is kept; new lite* keys appear on next save. Run /leancore probe again if you use unload.
License: MIT