Примечания к версии
QuantumHy Changelog
АктивныйHytale • Latest version 0.4.0
Changelog version 0.4.0
Добавлено
- Поддержка Hytale 0.7: собрано и проверено на 0.7.0
- Ограничение дальности отрисовки клиента (
clientRenderCapEnabled): дальность отрисовки и туман самого клиента следуют за урезанным радиусом, так что он перестаёт рисовать то, что сервер уже не отправляет - Облегчение для перегруженного клиента (
clientStrainEnabled): отстающий клиент получает меньший радиус и более мягкую отправку чанков - Бюджет дальних эффектов (
effectBudgetEnabled): дальние частицы и 3D-звуки делят бюджет на игрока; эффекты в пределах 16 блоков проходят всегда - Учёт памяти LeanCore (
leanCoreMemoryAware): меньший радиус, пока LeanCore сообщает о нехватке heap - Ограничение обновлений дальних сущностей (
distantUpdateThrottleEnabled, выключено по умолчанию): реже обновления позиции для дальних сущностей - Слияние предметов под нагрузкой (
pressureItemMerge, выключено по умолчанию): выброшенные предметы объединяются с большего расстояния, пока сервер под нагрузкой
Изменено
- Пороги chunk-load подобраны под ландшафт 0.7 (2800 / 5900 sections); существующие конфиги мигрируют при первом запуске
Исправлено
- Радиус обзора застревал на минимуме на 0.7: радиус снова растёт на открытой местности
Changelog version 0.3.0
Добавлено
- Отключение для каждого игрока: игроки могут использовать
/q optimize offили/q optimize on; выбор сохраняется вPlayerPreferences.json - Ограниченный статус: обычные игроки видят только своё состояние оптимизации, а администраторы и консоль сервера сохраняют полный отчёт runtime
Изменено
- Более безопасные значения по умолчанию: глобальное переопределение LOD сущностей теперь включается отдельно, обычные логи решений требуют
verboseLog, а блокировка spawn выключена до явной настройки - Нагрузка в нескольких мирах: глобальные решения LOD теперь используют наибольшую нагрузку среди активных миров, а не последний обновлённый мир
- Очистка жизненного цикла: отключение игроков, пустой сервер, неактивные миры и завершение работы снимают персональные ограничения и очищают состояние сессии
Исправлено
- Минимум и шаг радиуса обзора: адаптивный радиус учитывает настроенный минимум, собственный предел игрока и
minViewRadiusDelta - Плотность без движения: кэш истекает через 15 секунд, поэтому локальные изменения обнаруживаются, даже если игрок не двигается
- Восстановление стриминга: catch-up, снятие паузы spawn и восстановление при завершении больше не оставляют временные ограничения активными
- Восстановление конфига: отсутствующие или неверные ключи нормализуются и перезаписываются, а повреждённые файлы изолируются до сохранения значений по умолчанию
Changelog version 0.2.3
Добавлено
- Проверка обновлений: при старте QuantumHy читает страницу мода и уведомляет операторов или игроков с
durkz.quantumhy.admin, если на сайте указан более новый JAR. Отключение:checkForUpdates: false
Изменено
- Аллокации на hot-path: веса скана плотности заранее посчитаны, cull лимита сущностей переиспользует буферы, счётчики cull пакетами. Тот же конфиг и то же владение LeanCore
Исправлено
/q perfне публичная подкоманда. Локальный dev-метр остаётся в классе, если его есть в приватной сборке; игроки не могут его включать
Changelog version 0.2.2
Добавлено
- Рампа и гистерезис expand: радиус обзора движется максимум +1 / −2 чанка за проход (shrink −4 при давлении MSPT); expand ждёт подряд идущих спокойных проходов по нагрузке
- Бюджет записи в потоке мира (
worldPassBudgetMs, по умолчанию 8): после бюджета проход всё ещё семплирует и логирует, но не пишет радиусы - Пропуск скана плотности при входе, в полёте, при стриминге, при попадании в кэш того же чанка и пока удерживается минимум с замороженным expand (без обхода 49 колонок на этих проходах)
Изменено
- Hytale 0.6 стабильный: пороги стриминга в sections (
chunkLoad700/1550, backlog 80,maxChunksPerTick8) verboseLogвыключен на новой установке- Радиус сущностей при
[min]падает до пола за один проход, а не капает ~35 с - Существующий
QuantumHy.jsonмигрирует наconfigVersion5
Исправлено
- Пила радиуса обзора 6↔13 на каждом адаптивном проходе
- Expand в полёте, под давлением MSPT или когда диск плотности загружен только наполовину (выглядело как открытое небо)
- Pressure отпускал посреди hitch (выход теперь требует спокойных и среднего за 10 с, и последнего тика)
- Пакеты trim bloom/sunshaft посреди hitch (ждёт last tick ≤ 50 мс)
Примечания
- Собрано для стабильного Hytale 0.6. Установите QuantumHy-0.2.2.jar поверх 0.2.1
- Существующий
QuantumHy.jsonмигрирует при первом запуске; удалите файл, если нужен чистый лист 0.2.2 по умолчанию - Цифры CapFrameX на странице мода по-прежнему со снятий 0.2.1
Changelog version 0.2.1
Добавлено
- Плотность с весом по кольцу: центральные чанки считаются полностью, внешнее кольцо скана меньше (все сущности, без таблиц по видам)
baselineShrinkFraction: лёгкое урезание даже при «открытой» плотности- Shrink по загрузке чанков: сильнее тянет при загруженных + стримящихся чанках (отдельно от hot/sim radius LeanCore)
- Миграция
configVersion: обновляетQuantumHy.jsonс 0.2.0 при загрузке; логирует каждое переназначенное поле
Изменено
- Перекалиброваны значения по умолчанию для обычной игры: плотность 1,0/4,0 на чанк, LOD 2,0x, вертикальный cull 32 блока, лимит 80 видимых сущностей
- Губернатор MSPT: enter 48, sustain 4 с, множитель плотности под давлением 1,45
- Бенчмарк обычной игры (~5 мин каждый, CapFrameX): +42% средний FPS, +60% P5, +155% среднее 1% low, 95% меньше времени ниже 60 FPS (mod on vs off)
- README и изображения бенчмарков обновлены (включая график сравнения)
Исправлено
- Миграция конфига больше не пропускается, когда Gson вызывает пустой конструктор до наложения JSON (значение по умолчанию поля
configVersion) - Частичные миграции v1 (пороги застряли на значениях 0.2.0) исправлены на
configVersion2
Примечания
- Только серверная сторона. Установите QuantumHy-0.2.1.jar поверх 0.2.0
- Существующий
QuantumHy.jsonмигрирует при первом запуске; удалите файл, если нужен чистый лист 0.2.1 по умолчанию
Changelog version 0.2.0
Добавлено
- Система отсечения сущностей: вертикальная (Y) обрезка и опциональный потолок видимых сущностей на игрока (
maxVisibleEntitiesPerPlayer) - Команда
/q: подкомандыstatus,helpиperf, со снимком runtime в выводе status - Пауза стрима спавна: удерживает ambient spawn, пока у
ChunkTrackerигрока ещё грузятся чанки - Губернатор давления MSPT: урезает рычаги рендера при росте времени тика сервера (эффекты на клиенте по умолчанию включены, мировые рычаги opt-in)
- Иконка в списке модов (256×256) и обновлённое описание в manifest
Изменено
- Сосуществование с LeanCore: явное владение рычагами; QuantumHy уступает chunk streaming, когда у LeanCore включена governança throughput
- Адаптивный проход: круговой скан плотности, меньше аллокаций за тик, кэш чтений tracker
- Кривая плотности: smoothstep между нижним/верхним порогом для менее резких переходов обзора на краях
- Потолок видимых сущностей: ограниченная куча ближайших вместо полной сортировки
- Выключение давления: параллельное восстановление по мирам в одном бюджете timeout
- README: секция бенчмарка CapFrameX, specs тестового ПК, графики, новые видео
Исправлено
/q statusи/q helpтеперь выполняются корректно- Ошибки записи конфига видны в логе
- Мост LeanCore больше не пишет дважды в радиус обзора клиента и в скорость чанков, когда установлены оба мода
Примечания
- Только server-side. Установите QuantumHy-0.2.0.jar поверх 0.1.0
- Существующий
QuantumHy.jsonсохраняется; новые ключи добавляются при первом запуске с безопасными значениями по умолчанию
Changelog version 0.1.0
Добавлено
- Первый публичный релиз (
0.1.0) - Адаптивный радиус обзора в чанках: замеряет плотность сущностей вокруг каждого игрока и стягивает радиус обзора клиента, когда становится людно, снова раздвигает на открытом пространстве, никогда не выше того, что запросил игрок
- Адаптивный радиус стриминга сущностей: уменьшает, как далеко сущности стримятся клиенту в местах с обилием мобов, по тому же сигналу плотности. Главный выигрыш, когда вы смотрите на толпу
- Глобальный LOD-куллинг сущностей: отбрасывает мелкие и дальние сущности раньше, для всего сервера, одной настройкой
- Сглаживание плотности: экспоненциальное скользящее среднее, чтобы обзор движущегося игрока не скакал на кратковременных всплесках
- Перехват у LeanCore: если LeanCore установлен, QuantumHy отключает управление радиусом обзора клиента у LeanCore при запуске и ведёт его сам, без изменений конфига на обеих сторонах
- Подробное логирование: одна строка лога на мир за проход с плотностью каждого игрока и точным решением по обзору
Примечания
- Только серверная сторона. Помогает там, где установлен, и никогда на сервере, к которому вы просто подключаетесь
- Конфиг создаётся при первом запуске как
QuantumHy.jsonв папке данных плагина