Notas de versão
QuantumHy Changelog
AtivoHytale • Latest version 0.4.0
Changelog version 0.4.0
Adicionado
- Suporte ao Hytale 0.7: compilado e testado no 0.7.0
- Limite da distância de desenho do cliente (
clientRenderCapEnabled): a distância de desenho e a névoa do próprio cliente seguem o raio cortado, então ele para de desenhar o que o servidor parou de enviar - Alívio pra cliente sobrecarregado (
clientStrainEnabled): um cliente que fica pra trás recebe raio menor e envio de chunks mais suave - Orçamento de efeitos distantes (
effectBudgetEnabled): partículas e sons 3D distantes dividem um orçamento por jogador; efeitos a até 16 blocos sempre passam - Atenção à memória do LeanCore (
leanCoreMemoryAware): raio menor enquanto o LeanCore reporta o heap apertado - Throttle de updates de entidades distantes (
distantUpdateThrottleEnabled, desligado por padrão): menos updates de posição pra entidades longe - Merge de itens sob pressão (
pressureItemMerge, desligado por padrão): itens dropados se juntam de mais longe enquanto o servidor está sob pressão
Alterado
- Limites de chunk-load ajustados pro terreno do 0.7 (2800 / 5900 sections); configs existentes migram no primeiro start
Corrigido
- Raio de visão preso no mínimo no 0.7: o raio volta a crescer em áreas abertas
Changelog version 0.3.0
Adicionado
- Opt-out por jogador: jogadores podem usar
/q optimize offou/q optimize on; a escolha persiste noPlayerPreferences.json - Status com escopo: jogadores comuns veem o próprio estado de otimização, enquanto admins e o console mantêm o relatório completo do runtime
Alterado
- Padrões mais seguros: o override global de LOD de entidades agora é opt-in, logs normais de decisão exigem
verboseLoge o bloqueio de spawn fica desligado até ser configurado - Pressão em múltiplos mundos: decisões globais de LOD agora usam a maior pressão entre mundos ativos, em vez do último mundo atualizado
- Limpeza do ciclo de vida: desconexões, servidor vazio, mundos inativos e shutdown liberam overrides por jogador e limpam o estado da sessão
Corrigido
- Piso e delta do raio de visão: o raio adaptativo respeita o mínimo configurado, o teto do próprio jogador e
minViewRadiusDelta - Amostragem de densidade parado: o cache expira após 15 segundos, então mudanças locais são detectadas mesmo sem o jogador se mover
- Recuperação de streaming: catch-up, liberação da pausa de spawn e restauração no shutdown não deixam limites temporários para trás
- Recuperação da config: chaves ausentes ou inválidas são normalizadas e regravadas, enquanto arquivos corrompidos são isolados antes de salvar os padrões
Changelog version 0.2.3
Adicionado
- Update checker: no boot, o QuantumHy lê a página do mod e avisa operadores ou quem tem
durkz.quantumhy.adminquando um JAR mais novo está listado. Opt-out comcheckForUpdates: false
Alterado
- Alocações no hot-path: pesos do scan de densidade pré-calculados, cull de teto de entidades reusa buffers, contadores de cull em lote. Mesma config e mesma posse do LeanCore
Corrigido
/q perfnão é subcomando público. O meter de dev local fica na classe se um build privado o incluir; jogadores não conseguem ligar
Changelog version 0.2.2
Adicionado
- Rampa e histerese de expand: o raio de visão move no máximo +1 / −2 chunks por passada (shrink −4 sob pressão MSPT); expand espera passadas seguidas com carga calma
- Budget de escrita na world thread (
worldPassBudgetMs, padrão 8): depois do budget, a passada ainda amostra e loga, mas não escreve raios - Pula o scan de densidade no join, em voo, em streaming, no cache do mesmo chunk, e enquanto estiver no mínimo com expand travado (sem varredura de 49 colunas nessas passadas)
Alterado
- Hytale 0.6 estável: limiares de streaming em sections (
chunkLoad700/1550, backlog 80,maxChunksPerTick8) verboseLogdesligado em install nova- Raio de entidades em
[min]vai ao piso num passe, em vez de descer em gotas por ~35s QuantumHy.jsonexistente migra paraconfigVersion5
Corrigido
- Dente de serra do raio de visão 6↔13 a cada passada adaptativa
- Expand voando, sob pressão MSPT, ou com o disco de density só pela metade carregado (parecia céu aberto)
- Pressure soltando no meio de um hitch (exit agora exige a média de 10s e o last tick calmos)
- Pacotes de trim de bloom/sunshaft no meio do hitch (espera last tick ≤ 50ms)
Notas
- Feito para Hytale 0.6 estável. Instale QuantumHy-0.2.2.jar por cima da 0.2.1
QuantumHy.jsonexistente migra no primeiro boot; apague o arquivo se quiser a folha default limpa da 0.2.2- Os números CapFrameX na página do mod continuam sendo as capturas da 0.2.1
Changelog version 0.2.1
Adicionado
- Densidade com peso por anel: chunks centrais contam cheio, anel externo do scan conta menos (todas as entidades, sem tabela por espécie)
baselineShrinkFraction: trim leve mesmo com densidade “aberta”- Shrink por chunk-load: puxa mais conforme chunks carregados + em streaming (separado do hot/sim radius do LeanCore)
- Migração
configVersion: atualizaQuantumHy.jsonda 0.2.0 no load; loga cada campo remapeado
Alterado
- Defaults recalibrados para gameplay normal: densidade 1,0/4,0 por chunk, LOD 2,0x, cull vertical 32 blocos, cap de 80 entidades visíveis
- Governor MSPT: enter 48, sustain 4s, multiplicador de densidade sob pressão 1,45
- Benchmark gameplay normal (~5 min cada, CapFrameX): +42% FPS médio, +60% P5, +155% média 1% low, 95% menos tempo abaixo de 60 FPS (mod on vs off)
- README e imagens de benchmark atualizadas (inclui gráfico de comparação)
Corrigido
- Migração de config não é mais pulada quando o Gson roda o construtor vazio antes de aplicar o JSON (default do campo
configVersion) - Migrações v1 parciais (thresholds presos nos valores 0.2.0) consertadas em
configVersion2
Notas
- Só server-side. Instale QuantumHy-0.2.1.jar por cima da 0.2.0
QuantumHy.jsonexistente migra no primeiro boot; apague o arquivo se quiser a folha default limpa da 0.2.1
Changelog version 0.2.0
Adicionado
- Sistema de cull de entidades: poda vertical (Y) e teto opcional de entidades visíveis por jogador (
maxVisibleEntitiesPerPlayer) - Comando
/q: subcomandosstatus,helpeperf, com snapshot de runtime na saída do status - Pausa do stream de spawn: segura spawn ambiente enquanto o
ChunkTrackerdo jogador ainda tem chunks carregando - Governador de pressão MSPT: reduz alavancas de render quando o tick do servidor sobe (efeitos no cliente ligados por padrão, alavancas de mundo opt-in)
- Ícone na lista de mods (256×256) e descrição atualizada no manifest
Alterado
- Coexistência com LeanCore: donos claros de cada alavanca; QuantumHy cede chunk streaming quando a governança de throughput do LeanCore está ligada
- Passada adaptativa: scan de densidade circular, menos alocação por tick, leituras de tracker em cache
- Curva de densidade: smoothstep entre os limiares baixo/alto para transições de visão menos bruscas nas bordas
- Teto de entidades visíveis: heap dos mais próximos com limite em vez de sort completo
- Shutdown de pressão: restore paralelo por mundo dentro de um único orçamento de timeout
- README: seção de benchmark CapFrameX, specs do PC de teste, imagens dos gráficos, vídeos novos
Corrigido
/q statuse/q helppassam a rodar corretamente- Falhas ao gravar config aparecem no log
- A bridge do LeanCore não escreve mais duas vezes no raio de visão do cliente nem na taxa de chunk quando os dois mods estão instalados
Notas
- Só server-side. Instale QuantumHy-0.2.0.jar por cima do 0.1.0
- O
QuantumHy.jsonexistente é mantido; chaves novas entram no primeiro boot com defaults seguros
Changelog version 0.1.0
Adicionado
- Primeiro lançamento público (
0.1.0) - Raio de visão em chunks adaptativo: amostra a densidade de entidades ao redor de cada jogador e recolhe o raio de visão do cliente quando enche, abre de volta em área aberta, nunca acima do que o jogador pediu
- Raio de stream de entidades adaptativo: reduz a que distância as entidades são transmitidas ao cliente em lugares cheios de mobs, guiado pelo mesmo sinal de densidade. O grande ganho quando você está olhando pra uma multidão
- Cull global por LOD de entidades: descarta entidades pequenas e distantes mais cedo, pro servidor todo, com um único ajuste
- Suavização de densidade: uma média móvel exponencial pra a visão de quem se move não ficar oscilando em picos momentâneos
- Tomada de controle do LeanCore: se o LeanCore estiver instalado, o QuantumHy desliga a governança de raio de visão do cliente do LeanCore no boot e passa a controlar ele mesmo, sem mudança de config dos dois lados
- Log detalhado: uma linha de log por mundo a cada passada com a densidade de cada jogador e a decisão exata de visão
Notas
- Apenas server-side. Ajuda onde está instalado, nunca num servidor que você só entra
- A config é criada no primeiro boot como
QuantumHy.jsonna pasta de dados do plugin