← Back to documentation

Server documentation

LeanCore

Active

Hytale • Version 1.7.0

Instalación, comandos, config, permisos, perfil LITE, retención predictiva, modelo de movimiento, HUD, heatmap y zone pin de LeanCore.

Instalación, comandos, config y permisos de LeanCore.


Descripción general

LeanCore está hecho para reducir el uso de heap de la JVM en servidores Hytale. A medida que los jugadores exploran, cada zona que tocan mantiene sus chunks y entidades residentes en memoria, y el engine es lento para liberarlos, así que el heap sube y se mantiene alto mucho después de que todos se han ido. LeanCore decide qué sigue cargado y qué se libera, modelando dónde están los jugadores, hacia dónde van y qué partes del mapa realmente vuelven a visitar. Cuánto libera depende del mundo, y la descarga de chunks solo empieza tras /leancore probe. El solo integrado usa perfil LITE con gobernador real, vista adaptativa, reclaim AFK y aprendizaje de demanda activado por defecto. STANDARD y FULL añaden bandit, holdout y rutas completas cuando están habilitados. Desde 1.6.0, un modelo de movimiento por jugador hace retención predictiva de zonas (unload inclinado lejos de hacia dónde va el jugador, vista actual/prevista nunca descargada) y un modelo de reuse-distance + supervivencia ajusta la dormancia por zona. Incluye Activity Sense, /leancore savings, puerta de probe, bootstrap dedicado, diagnóstico [diag] siempre activo, snapshot v8 (gzip + poda, compatible con v7) y dispatch en world thread. Requiere servidor Hytale >=0.5.6. No afecta FPS, GPU ni TPS del cliente.


Instalación

  1. Descarga LeanCore-1.7.0.jar en la pestaña Files de CurseForge
  2. Coloca el JAR en la carpeta mods/ del servidor
  3. Inicia el servidor. Config en mods/durkz_LeanCore/LeanCore.json
  4. Ejecuta /leancore probe si dependes del unload de chunks (LITE o STANDARD/FULL)
  5. Concede acceso HUD/admin al staff (ver Permisos)
  6. Ejecuta /leancore memory y /leancore status tras un minuto

Perfiles en host integrado

JugadoresPerfilTickQué ejecuta
1 (solo local)LITE30s (60s idle)Gobernador lite, vista adaptativa, unload AFK, lite learning
1 + embeddedStandardProfileSTANDARD15sDogfood local sin tick FULL 5s
2–8 (amigos)STANDARD15sClasificador; govern/learning/HUD si están activos
9+ (local denso)FULL5sRuntime completo según config
JVM dedicadaFULL5sRuntime completo según config

Config: localHostMode: "AUTO" (por defecto). "PASSIVE" desactiva ticks en segundo plano. dedicatedServerMode: true en host JVM dedicado.

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


Perfil LITE (solo integrado)

FunciónComportamiento
Vista adaptativa100% en COMFORT hasta presión de chunks o heap; cortes suaves en WATCH; agresivo solo en TIGHT/CRITICAL
Señales doblesTier de heap JVM + presión de chunks (loaded / view budget)
Unload AFKZonas dormant/frozen en idle; puerta de probe; no requiere governEnabled
AprendizajeliteLearningEnabled=true por defecto; demand ajusta cortes de vista; sin bandit en LITE
Presupuesto de tickTrabajo pesado en muestra de heap (~60s), dispatch en world thread

STANDARD/FULL: view-radius y unload siguen requiriendo governEnabled, learningEnabled y unloadEnabled como antes.


Características

  • Perfiles de runtime: LITE, STANDARD, FULL
  • Gobernador LITE en solo: vista adaptativa, degradación, unload AFK, demand learning
  • Tiers de heap: COMFORT, WATCH, TIGHT, CRITICAL con rollback
  • Dormancia de zonas: HOT, WARM, DORMANT, FROZEN
  • Retención predictiva (1.6, motionModelEnabled): el modelo de movimiento por jugador inclina el unload lejos del rumbo; vista actual/prevista nunca descargada
  • Modelo de reuse-distance + supervivencia (1.6, zoneReuseModelEnabled): aprende zonas revisitadas y ajusta umbrales de dormancia por zona
  • Diagnóstico siempre activo (diagnosticLogEnabled): resúmenes de inicio/cierre y logs de decisión [diag] por perfil
  • Boost cinematográfico de vista (1.6, motionViewRadiusBoostEnabled, opt-in): sube la distancia de visión para quien se mueve rápido; desactivado por defecto
  • Session savings, puerta de probe, HUD, heatmap, zone pin

Comandos

Comando principal: /leancore

ComandoAccesoDescripción
/leancore statusTodosPerfil, preset, tier, flags lite, puerta unload
/leancore memoryTodosInstantánea de heap
/leancore savingsTodosHeap de sesión, gobernador lite/standard
/leancore learnTodosDiagnósticos; LITE muestra solo demand model
/leancore learn playerTodosFeatures, posterior, EMAs de actividad
/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

Permisos

PermisoDescripción
durkz.leancore.hudHUD de memoria (/leancore hud …)
durkz.leancore.adminHeatmap, zone pin, herramientas admin

Configuración (LeanCore.json)

Ruta: mods/durkz_LeanCore/LeanCore.json

ClavePor defectoDescripción
localHostModeAUTOAUTO, PASSIVE o FULL
governEnabledfalseGobernador STANDARD/FULL
learningEnabledfalseAprendizaje STANDARD/FULL
unloadEnabledfalseUnload STANDARD/FULL
unloadProbeGateEnabledtrueBloquea unload hasta que pase el probe
liteMemoryGovernorEnabledtrueGobernador lite en solo
liteLearningEnabledtrueDemand model + persistencia en solo
liteViewRadiusEnabledtrueVista adaptativa en solo
liteUnloadEnabledtrueReclaim AFK en solo
liteUnloadIdleSeconds180Idle antes de barridos lite
motionModelEnabledtrueModelo de movimiento + retención predictiva
zoneReuseModelEnabledtrueReuse-distance + supervivencia; umbrales de dormancia por zona
motionViewRadiusBoostEnabledfalseBoost cinematográfico de vista (opt-in)
diagnosticLogEnabledtrueLogs [diag] de sesión/decisión siempre activos
dormantAfterMinutes8WARM → DORMANT
frozenAfterMinutes20→ FROZEN

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


Recomendado

  • Solo / local: localHostMode: AUTO. LITE activado por defecto.
  • Dedicado o amigos: activa govern/learning/unload según necesites; ejecuta /leancore probe antes del unload por política.

Verificación

  1. Log: LeanCore 1.7.0 setup y profile=LITE en solo
  2. /leancore status: profile LITE, flags lite activos
  3. /leancore savings: lite governor ON tras ~60s en solo
  4. Amigo entra → profile LITE -> STANDARD
  5. Con unload habilitado, /leancore probe → puerta abierta

Licencia

MIT License. Copyright (c) 2026 DurkzPRG