QuantumHy
ActiveHytale • Version 0.2.3
QuantumHy hace que tu cliente vaya más fluido en Hytale recortando cuánto le dice el servidor que dibuje, y lo ajusta por jugador según dónde estés. En campo abierto mantienes tu visión completa; en un sitio lleno y costoso recoge las cosas para que tus FPS no se caigan.
El cliente de Hytale es nativo, así que ningún mod toca el renderizador. Lo que un mod de servidor sí puede hacer es decidir cuánto tiene que renderizar cada cliente, y ese es todo el truco: menos chunks y entidades a la vista significan menos cosas que dibujar, lo que significa más frames.
Dos límites honestos. Solo ayuda donde está instalado (tu mundo en solitario, tu propio servidor, o un servidor que lo use), no en un servidor al que solo te conectas. Y nunca empuja tu visión más allá de lo que pediste: tu propio radio de visión es el tope, QuantumHy solo lo baja.
Rendimiento
Captura de frametime en Hytale Client. Mismo PC de prueba en todas las runs.
PC de prueba
| Componente | Spec |
|---|---|
| CPU | AMD Ryzen 5 3600 |
| GPU | NVIDIA GeForce GTX 1650 4GB |
| RAM | 16 GB (2×8 GB) |
Ruta de estrés
Mundo en solitario, misma ruta de estrés (aves y mobs en pantalla). Mod off vs QuantumHy por defecto (~205s off, ~233s on).
| Métrica | Off | On | Cambio |
|---|---|---|---|
| FPS medio | 102 | 146 | +43% |
| P5 | 51,6 | 91,1 | +76% |
| P1 | 36,2 | 64,4 | +78% |
| Media 1% low | 14,0 | 19,8 | +41% |
| Tiempo bajo 60 FPS | 25,3% | 6,9% | −73% de ese tiempo |
Haz clic en un gráfico para abrirlo a tamaño completo.
Ruta de estrés — mod off
Ruta de estrés — mod on
Ruta de estrés — mod off
Ruta de estrés — mod on
Juego normal (0.2.1)
Mundo en solitario, sesión normal (~5 min cada una). Sin ruta de estrés forzada, solo jugando. Mod off vs QuantumHy 0.2.1 por defecto.
| Métrica | Off | On | Cambio |
|---|---|---|---|
| FPS medio | 159,6 | 226,9 | +42% |
| P5 | 111,1 | 178,1 | +60% |
| P1 | 77,2 | 139,1 | +80% |
| Media 1% low | 43,7 | 111,7 | +155% |
| Tiempo bajo 60 FPS | 2,2% | 0,1% | −95% de ese tiempo |
Cómo funciona
Cada pocos segundos QuantumHy cuenta las entidades en los chunks alrededor de cada jugador como medida del coste de render, suaviza esa señal y la convierte en un único factor de reducción. Ese factor mueve dos palancas a la vez:
- El radio de visión en chunks, para dejar de transmitir terreno lejano cuando hay movimiento.
- El radio de stream de entidades en bloques, para que el servidor deje de enviar mobs lejanos. Esto es independiente de los chunks y es de donde viene la mayor parte de la ganancia cuando miras a una multitud.
El radio no vuelve en el instante en que la zona parece vacía. El expand espera a que la carga esté calmada, al menos la mitad del disco de density cargado, que no estés volando y que el mundo no esté hitching. Mientras hay streaming o al entrar, los recortes se retienen para que no se le diga al cliente que descarte chunks que está ocupado cargando. En shrink completo el radio de entidades baja al suelo en una pasada.
Funciones
- Radio de visión en chunks adaptativo guiado por la densidad local de entidades, limitado a tu propio radio
- Radio de stream de entidades adaptativo en bloques, la gran palanca en zonas llenas de mobs
- Freeze de expand hasta que carga, cobertura y MSPT estén calmados (sin diente de sierra 6↔13)
- Culling global por LOD de entidades que descarta entidades pequeñas y lejanas antes
- Suavizado de densidad para que la visión de quien se mueve no oscile
- Toma de control automática de LeanCore para que los dos mods nunca peleen por el radio de visión
- Registro detallado opcional en el servidor que explica cada decisión por jugador en cada pasada (off por defecto)
- Comprobación de update al arrancar, solo para operadores o
durkz.quantumhy.admin(opt-out concheckForUpdates)
Instalación
- Descarga QuantumHy-0.2.3.jar desde la pestaña Files de CurseForge
- Coloca el JAR en la carpeta mods/ del servidor, o en solo Windows:
%AppData%\Hytale\data\release\Mods - Inicia el servidor. La config se crea como QuantumHy.json en la carpeta de datos del plugin
Comandos
/q status
/q help
Aliases: /quantumhy, /qhy.
Config
Todo vive en QuantumHy.json, creado en el primer arranque. Los valores por defecto funcionan de entrada: sin tope fijo de visión, adapta solo cuando hay aglomeración. Pon targetClientViewRadius por encima de 0 para cambiar distancia de visión por FPS en todas partes. Pon checkForUpdates en false para saltar la comprobación de versión al arrancar. Referencia completa de claves: documentación.
Permisos
durkz.quantumhy.admin: recibir avisos de update in-game. Los operadores del servidor lo heredan a través de*.
Usándolo con LeanCore
Si también ejecutas LeanCore, QuantumHy resuelve el solapamiento por ti. Ambos pueden ajustar el radio de visión del cliente y solo uno debe hacerlo, así que QuantumHy lo toma: al arrancar detecta LeanCore, apaga la gobernanza de radio de visión de LeanCore y pasa a controlar el radio él mismo. LeanCore sigue con todo lo demás (radio de simulación, throughput de chunks, memoria). No hace falta tocar la config de LeanCore. Pon leanCoreTakeover en false para dejar a LeanCore en paz, o yieldToLeanCoreViewRadius en true para que LeanCore conserve el radio de visión.
Recomendado
- En solitario o tu propio servidor: deja los valores por defecto. Solo pierdes distancia de visión cuando hay aglomeración real.
- Quieres FPS en todas partes: pon
targetClientViewRadiusentre 12 y 16 para limitar la distancia de visión incluso en campo abierto. - Activa
verboseLogsolo para diagnosticar; por defecto está off. - Deja
checkForUpdatesactivo salvo que no quieras el aviso de JAR nuevo para operadores.
Licencia
Licencia MIT
For server owners
Need permissions, commands & config?
The full administration guide covers every permission node, admin command, LuckPerms examples, and all config options.
Read server documentation