Notas de la versión
QuantumHy Changelog
ActivoHytale • Latest version 0.4.0
Changelog version 0.4.0
Añadido
- Soporte para Hytale 0.7: compilado y probado en 0.7.0
- Límite de la distancia de dibujado del cliente (
clientRenderCapEnabled): la distancia de dibujado y la niebla del propio cliente siguen el radio recortado, así deja de dibujar lo que el servidor dejó de enviar - Alivio para clientes saturados (
clientStrainEnabled): un cliente que se queda atrás recibe un radio menor y un envío de chunks más suave - Presupuesto de efectos lejanos (
effectBudgetEnabled): partículas y sonidos 3D lejanos comparten un presupuesto por jugador; los efectos a menos de 16 bloques siempre pasan - Atención a la memoria de LeanCore (
leanCoreMemoryAware): radio menor mientras LeanCore informa el heap ajustado - Throttle de updates de entidades lejanas (
distantUpdateThrottleEnabled, desactivado por defecto): menos updates de posición para entidades lejanas - Merge de ítems bajo presión (
pressureItemMerge, desactivado por defecto): los ítems soltados se juntan desde más lejos mientras el servidor está bajo presión
Cambiado
- Umbrales de chunk-load ajustados al terreno de 0.7 (2800 / 5900 sections); las configs existentes migran en el primer arranque
Corregido
- Radio de visión atascado en el mínimo en 0.7: el radio vuelve a crecer en zonas abiertas
Changelog version 0.3.0
Añadido
- Opt-out por jugador: los jugadores pueden usar
/q optimize offo/q optimize on; la elección persiste enPlayerPreferences.json - Status con alcance: los jugadores normales ven su propio estado de optimización, mientras los admins y la consola conservan el informe completo del runtime
Cambiado
- Valores por defecto más seguros: el override global de LOD de entidades ahora es opt-in, los logs normales de decisión requieren
verboseLogy el bloqueo de spawn queda desactivado hasta configurarlo - Presión en múltiples mundos: las decisiones globales de LOD ahora usan la presión más alta entre los mundos activos, en vez del último mundo actualizado
- Limpieza del ciclo de vida: desconexiones, servidor vacío, mundos inactivos y shutdown liberan los overrides por jugador y limpian el estado de la sesión
Corregido
- Suelo y delta del radio de visión: el radio adaptativo respeta el mínimo configurado, el límite propio del jugador y
minViewRadiusDelta - Muestreo de densidad sin movimiento: la caché expira después de 15 segundos, así que los cambios locales se detectan aunque el jugador no se mueva
- Recuperación del streaming: catch-up, liberación de la pausa de spawn y restauración al apagar ya no dejan límites temporales activos
- Recuperación de la config: las claves ausentes o inválidas se normalizan y reescriben, mientras los archivos corruptos se aíslan antes de guardar los valores por defecto
Changelog version 0.2.3
Añadido
- Update checker: al arrancar, QuantumHy lee la página del mod y avisa a operadores o a quien tenga
durkz.quantumhy.admincuando hay un JAR más nuevo. Opt-out concheckForUpdates: false
Cambiado
- Allocaciones en el hot-path: pesos del scan de densidad precalculados, el cull de tope de entidades reusa buffers, contadores de cull en lote. Misma config y misma posesión de LeanCore
Corregido
/q perfno es un subcomando público. El medidor de dev local se queda en la clase si un build privado lo incluye; los jugadores no pueden activarlo
Changelog version 0.2.2
Añadido
- Rampa e histéresis de expand: el radio de visión se mueve como máximo +1 / −2 chunks por pasada (shrink −4 bajo presión MSPT); el expand espera pasadas seguidas con carga calmada
- Presupuesto de escritura en el hilo del mundo (
worldPassBudgetMs, por defecto 8): tras el presupuesto, la pasada sigue muestreando y registrando, pero no escribe radios - Omite el escaneo de densidad al entrar, en vuelo, en streaming, con caché del mismo chunk, y mientras está en el mínimo con el expand congelado (sin barrido de 49 columnas en esas pasadas)
Cambiado
- Hytale 0.6 estable: umbrales de streaming en sections (
chunkLoad700/1550, backlog 80,maxChunksPerTick8) verboseLogdesactivado en instalaciones nuevas- Radio de entidades en
[min]baja al suelo en una pasada, no en gotas durante ~35s - El
QuantumHy.jsonexistente migra aconfigVersion5
Corregido
- Diente de sierra del radio de visión 6↔13 en cada pasada adaptativa
- Expand volando, bajo presión MSPT, o con el disco de density solo a medio cargar (parecía cielo abierto)
- Pressure soltando en medio de un hitch (la salida ahora exige el promedio de 10s y el último tick calmados)
- Paquetes de recorte de bloom/sunshaft durante un hitch (espera last tick ≤ 50ms)
Notas
- Compilado para Hytale 0.6 estable. Instala QuantumHy-0.2.2.jar sobre 0.2.1
- El
QuantumHy.jsonexistente migra en el primer arranque; borra el archivo si quieres la hoja por defecto limpia de 0.2.2 - Los números CapFrameX de la página del mod siguen siendo las capturas de 0.2.1
Changelog version 0.2.1
Añadido
- Densidad con peso por anillo: los chunks centrales cuentan al 100%, el anillo exterior del escaneo cuenta menos (todas las entidades, sin tablas por especie)
baselineShrinkFraction: recorte ligero incluso con densidad “abierta”- Shrink por carga de chunks: tira más según chunks cargados + en streaming (separado del radio hot/sim de LeanCore)
- Migración
configVersion: actualizaQuantumHy.jsondesde 0.2.0 al cargar; registra cada campo remapeado
Cambiado
- Valores por defecto recalibrados para juego normal: densidad 1,0/4,0 por chunk, LOD 2,0x, cull vertical 32 bloques, tope de 80 entidades visibles
- Gobernador MSPT: enter 48, sustain 4s, multiplicador de densidad bajo presión 1,45
- Benchmark de juego normal (~5 min cada uno, CapFrameX): +42% FPS medio, +60% P5, +155% media 1% low, 95% menos tiempo bajo 60 FPS (mod on vs off)
- README e imágenes de benchmark actualizadas (incluye gráfico de comparación)
Corregido
- La migración de config ya no se salta cuando Gson ejecuta el constructor vacío antes de aplicar el JSON (valor por defecto del campo
configVersion) - Migraciones v1 parciales (umbrales atascados en valores 0.2.0) reparadas en
configVersion2
Notas
- Solo del lado del servidor. Instala QuantumHy-0.2.1.jar sobre 0.2.0
QuantumHy.jsonexistente migra en el primer arranque; borra el archivo si quieres la hoja por defecto limpia de 0.2.1
Changelog version 0.2.0
Añadido
- Sistema de cull de entidades: poda vertical (Y) y tope opcional de entidades visibles por jugador (
maxVisibleEntitiesPerPlayer) - Comando
/q: subcomandosstatus,helpyperf, con snapshot de runtime en la salida de status - Pausa del stream de spawn: frena el spawn ambiental mientras el
ChunkTrackerdel jugador aún tiene chunks cargando - Gobernador de presión MSPT: recorta palancas de render cuando sube el tick del servidor (efectos en cliente activos por defecto, palancas de mundo opt-in)
- Icono en la lista de mods (256×256) y descripción actualizada en el manifest
Cambiado
- Coexistencia con LeanCore: dueños claros de cada palanca; QuantumHy cede el chunk streaming cuando la gobernanza de throughput de LeanCore está activa
- Pasada adaptativa: escaneo de densidad circular, menos asignaciones por tick, lecturas de tracker en caché
- Curva de densidad: smoothstep entre umbrales bajo/alto para transiciones de visión menos bruscas en los bordes
- Tope de entidades visibles: heap de los más cercanos acotado en lugar de ordenación completa
- Apagado de presión: restauración paralela por mundo dentro de un solo presupuesto de timeout
- README: sección de benchmark CapFrameX, specs del PC de prueba, imágenes de gráficos, vídeos nuevos
Corregido
/q statusy/q helpahora se ejecutan correctamente- Los fallos al guardar la config aparecen en el registro
- El bridge de LeanCore ya no escribe dos veces el radio de visión del cliente ni la tasa de chunks cuando ambos mods están instalados
Notas
- Solo del lado del servidor. Instala QuantumHy-0.2.0.jar sobre 0.1.0
- Se conserva el
QuantumHy.jsonexistente; las claves nuevas se añaden en el primer arranque con valores seguros
Changelog version 0.1.0
Añadido
- Primer lanzamiento público (
0.1.0) - Radio de visión en chunks adaptativo: muestrea la densidad de entidades alrededor de cada jugador y recoge el radio de visión del cliente cuando se llena, lo abre de nuevo en campo abierto, nunca por encima de lo que el jugador pidió
- Radio de stream de entidades adaptativo: reduce a qué distancia se transmiten las entidades al cliente en lugares llenos de mobs, guiado por la misma señal de densidad. La gran ganancia cuando miras a una multitud
- Culling global por LOD de entidades: descarta entidades pequeñas y lejanas antes, para todo el servidor, con un único ajuste
- Suavizado de densidad: una media móvil exponencial para que la visión de quien se mueve no oscile ante picos momentáneos
- Toma de control de LeanCore: si LeanCore está instalado, QuantumHy apaga la gobernanza de radio de visión del cliente de LeanCore al arrancar y la controla él mismo, sin cambios de config en ninguno de los dos lados
- Registro detallado: una línea de registro por mundo en cada pasada con la densidad de cada jugador y la decisión de visión exacta
Notas
- Solo del lado del servidor. Ayuda donde está instalado, nunca en un servidor al que solo te conectas
- La config se crea en el primer arranque como
QuantumHy.jsonen la carpeta de datos del plugin