← Back to documentation

Server documentation

LeanCore

Active

Hytale • Version 1.7.0

Instalação, comandos, config, permissões, perfil LITE, retenção preditiva, modelo de movimento, HUD, heatmap e zone pin do LeanCore.

Instalação, comandos, config e permissões do LeanCore.


Visão geral

O LeanCore é feito para reduzir o uso de heap JVM em servidores Hytale. Conforme os jogadores exploram, toda área que tocam mantém seus chunks e entidades residentes na memória, e o engine é lento para liberá-los, então a heap sobe e fica alta muito depois de todo mundo ter saído. O LeanCore decide o que continua carregado e o que é liberado, modelando onde os jogadores estão, para onde estão indo e quais partes do mapa eles realmente revisitam. O quanto ele libera depende do mundo, e o unload de chunks só começa depois do /leancore probe. Solo embutido usa perfil LITE com governador real, view adaptativa, reclaim AFK e learning de demanda ligado por padrão. STANDARD e FULL adicionam bandit, holdout e caminhos completos quando habilitados. A partir da 1.6.0, um modelo de movimento por jogador faz retenção preditiva de zonas (unload inclinado para longe de onde o jogador vai, view atual/prevista nunca descarregada) e um modelo de reuse-distance + sobrevivência ajusta a dormência por zona. Inclui Activity Sense, /leancore savings, portão de probe, bootstrap dedicado, diagnóstico [diag] sempre ligado, snapshot v8 (gzip + poda, compatível com v7) e dispatch na world thread. Requer servidor Hytale >=0.5.6. Não mexe em FPS, GPU ou TPS do cliente.


Instalação

  1. Baixe LeanCore-1.7.0.jar na aba Files do CurseForge
  2. Coloque o JAR na pasta mods/ do servidor
  3. Inicie o servidor. Config em mods/durkz_LeanCore/LeanCore.json
  4. Rode /leancore probe se depender de unload de chunks (LITE ou STANDARD/FULL)
  5. Conceda acesso HUD/admin à staff (veja Permissões)
  6. Rode /leancore memory e /leancore status após cerca de um minuto

Perfis em host embutido

JogadoresPerfilTickO que roda
1 (solo local)LITE30s (60s idle)Governador lite, view adaptativa, unload AFK, lite learning
1 + embeddedStandardProfileSTANDARD15sDogfood local de govern/learning sem tick FULL 5s
2–8 (amigos)STANDARD15sClassificador; govern/learning/HUD se habilitados
9+ (local denso)FULL5sRuntime completo conforme config
JVM dedicadaFULL5sRuntime completo conforme config

Config: localHostMode: "AUTO" (padrão). "PASSIVE" desliga ticks de fundo. dedicatedServerMode: true em host JVM dedicado.

Log (solo): LeanCore 1.7.0 setup (localHostMode=AUTO). e Runtime started profile=LITE. Amigo entra → profile LITE -> STANDARD.


Perfil LITE (solo embutido)

RecursoComportamento
View adaptativa100% em COMFORT até pressão de chunks ou heap; cortes leves em WATCH; agressivo só em TIGHT/CRITICAL
Sinais duplosTier de heap JVM + pressão de chunks (loaded / view budget)
Unload AFKZonas dormant/frozen em idle; portão de probe; não exige governEnabled
LearningliteLearningEnabled=true por padrão; demand molda cortes de view; sem bandit em LITE
Orçamento de tickTrabalho pesado na amostra de heap (~60s), dispatch na world thread

STANDARD/FULL: view-radius e unload ainda exigem governEnabled, learningEnabled e unloadEnabled como antes.


Recursos

  • Perfis de runtime: LITE, STANDARD, FULL
  • Governador LITE solo: view adaptativa, demotion, unload AFK, demand learning
  • Tiers de heap: COMFORT, WATCH, TIGHT, CRITICAL com rollback
  • Dormência de zonas: HOT, WARM, DORMANT, FROZEN
  • Retenção preditiva (1.6, motionModelEnabled): modelo de movimento por jogador inclina o unload para longe do rumo; view atual/prevista nunca descarregada
  • Modelo de reuse-distance + sobrevivência (1.6, zoneReuseModelEnabled): aprende zonas revisitadas e ajusta limiares de dormência por zona
  • Diagnóstico sempre ligado (diagnosticLogEnabled): resumos de início/fim e logs de decisão [diag] por perfil
  • Boost cinematográfico de view (1.6, motionViewRadiusBoostEnabled, opt-in): sobe a view distance para quem se move rápido; desligado por padrão
  • Session savings, probe gate, HUD, heatmap, zone pin

Comandos

Comando principal: /leancore

ComandoAcessoDescrição
/leancore statusTodosPerfil, preset, tier, flags lite, portão unload
/leancore memoryTodosSnapshot de heap
/leancore savingsTodosHeap da sessão, governador lite/standard
/leancore learnTodosDiagnósticos; LITE mostra só demand model
/leancore learn playerTodosFeatures, posterior, EMAs de atividade
/leancore probeTodosProbe S1–S5
/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

Permissões

PermissãoDescrição
durkz.leancore.hudHUD de memória (/leancore hud …)
durkz.leancore.adminHeatmap, zone pin, ferramentas admin

Configuração (LeanCore.json)

Caminho: mods/durkz_LeanCore/LeanCore.json

ChavePadrãoDescrição
localHostModeAUTOAUTO, PASSIVE ou FULL
governEnabledfalseGovernador STANDARD/FULL
learningEnabledfalseLearning STANDARD/FULL
unloadEnabledfalseUnload STANDARD/FULL
unloadProbeGateEnabledtrueBloqueia unload até probe passar
liteMemoryGovernorEnabledtrueGovernador lite no solo
liteLearningEnabledtrueDemand model + persistência no solo
liteViewRadiusEnabledtrueView adaptativa no solo
liteUnloadEnabledtrueReclaim AFK no solo
liteUnloadIdleSeconds180Idle antes de sweeps lite
motionModelEnabledtrueModelo de movimento + retenção preditiva
zoneReuseModelEnabledtrueReuse-distance + sobrevivência; limiares de dormência por zona
motionViewRadiusBoostEnabledfalseBoost cinematográfico de view (opt-in)
diagnosticLogEnabledtrueLogs [diag] de sessão/decisão sempre ligados
dormantAfterMinutes8WARM → DORMANT
frozenAfterMinutes20→ FROZEN

Snapshot: mods/durkz_LeanCore/learning.state.gz (v8, gzip; lê v7). HUD: mods/durkz_LeanCore/hud.state.


Recomendado

  • Solo / local: localHostMode: AUTO. LITE ligado por padrão.
  • Dedicado ou amigos: habilite govern/learning/unload conforme precisar; rode /leancore probe antes de unload por política.

Verificando

  1. Log: LeanCore 1.7.0 setup e profile=LITE no solo
  2. /leancore status: profile LITE, flags lite ligadas
  3. /leancore savings: lite governor ON após ~60s no solo
  4. Amigo entra → profile LITE -> STANDARD
  5. Com unload habilitado, /leancore probe → portão abre

Licença

MIT License. Copyright (c) 2026 DurkzPRG