Скачать BTSEngine: Concurrent — Minecraft Моды — MetaMods
BTSEngine: Concurrent

BTSEngine: Concurrent

Активный

Установок

0

Последнее обновление

4 недели назад
Клиент
Библиотеки
Утилиты

BTSEngine: Concurrent — революционная оптимизация Minecraft

Производительность взлетает до небес!

Описание проекта

Модификация BTSEngine: Concurrent — это масштабный проект оптимизации, реализующий продвинутые технологии многопоточности, систему предотвращения взаимных блокировок и бесконфликтную синхронизацию на основе архитектур CAS/Lock-Free. Решение обеспечивает значительный прирост производительности как на серверах, так и в одиночных мирах. В отличие от других попыток внедрить многопоточность, мы использовали более глубокий подход, полностью переработав внутренние механизмы Minecraft для максимальной оптимизации с сохранением совместимости с большинством модов.

Внимание: проект находится на стадии ALPHA-тестирования. Возможны сбои и некорректная работа. Настоятельно рекомендуется создавать резервные копии миров перед установкой.

Степень улучшения производительности может варьироваться в зависимости от состава модпака и конфигурации компьютера пользователя.

Тестирование производительности

Мы провели тестирование модификации на тяжелом модпаке с большим количеством датапаков генерации мира и такими модами, как Create, Mekanism, Ice and Fire и другими.

Конфигурация тестового модпака:

  • Увеличенная частота генерации структур в 2-4 раза
  • Датапак, преобразующий мир в архипелаг островов с использованием сложных функций плотности
  • Дальность прорисовки: 32 чанка, расстояние симуляции: 8 чанков
  • Всего загружено 341 мод, половина из которых добавляет структуры, биомы и расширяет генерацию мира

Тестовое окружение:

  • Процессор: AMD Ryzen 3700X (8 ядер)
  • Оперативная память: 32 ГБ 2133 МГц, ~11 ГБ выделено для модпака

Результаты тестирования:

  • Без модификации: 4 минуты 55 секунд от создания мира до полной загрузки окружающей территории. Очень медленная генерация чанков
  • C2ME (0.3.0.alpha73): 2 минуты 20 секунд (ускорение в 2.1 раза), но с риском зависания из-за взаимных блокировок. Возможны проблемы с загрузкой чанков, требующие перезапуска клиента. Незначительные отличия в генерации мира
  • BTSEngine: Concurrent (0.1.4-alpha): 2 минуты 27 секунд (ускорение в 2 раза) без выявленных серьезных проблем, кроме известных несовместимостей с некоторыми модами

Известные несовместимости

Хотя мы стремимся обеспечить максимальную совместимость с популярными модами, некоторые из них требуют дополнительной доработки для корректной работы с BTSEngine: Concurrent. Сообщайте о новых несовместимостях через систему Issues.

Условно совместимые моды

  • Confluence: Otherworld
    • Игра загружается до главного меню и успешно создает мир
    • При наличии этого мода практически отсутствует прирост производительности из-за постоянного чтения данных PalettedContainer каждый тик. Это связано с динамическими биомами Corruption и Crimson, которые распространяются по миру. Требуется доработка кода биомов для устранения проблемы
  • Async
    • Игра загружается до главного меню, но может Crashнуть при генерации мира
    • При успешном запуске (сборки 0.1.7.alpha.7 и новее) возможна нормальная игра, но может возникать зависание сущностей и другие артефакты. Прирост производительности от Async не гарантирован

Несовместимые моды

  • Lithium
    • Мир загружается, но становится неиграбельным из-за нарушенного спавна мобов
    • После 3-5 минут игры накапливаются тысячи сущностей, приводя к зависанию
    • Проблема вызвана переопределением метода toNbt, который нарушает работу тикающих систем. Для совместимости в конфигурационном файле lithium.properties необходимо добавить строки: mixin.chunk.palette=false и mixin.chunk.serialization=false
  • Concurrent Chunk Management Engine (C2ME)
    • Игра не загружается до главного меню
    • Несовместимость вызвана пересекающимися изменениями в системе управления чанками
  • Noisium
    • Игра не загружается до главного меню
    • Функциональность Noisium уже интегрирована в BTSEngine: Concurrent в более структурированной реализации на основе lock-free/CAS архитектуры

Установка и использование

Для игроков: просто скачайте файл мода btsengine-concurrent-x.x.x.jar, поместите его в папку mods и запустите игру. Готово!

Для разработчиков модов: в настоящее время проект защищен авторскими правами. Лицензия может быть изменена в будущем по достижении стабильного состояния проекта. Сообщайте о проблемах через раздел Issues.

Поддержка версий и модлоадеров

Из-за сложности проекта поддержка ограничена следующими версиями:

  • Текущая версия: Minecraft 1.21.1 с NeoForge
  • Fabric: возможна реализация при достаточном спросе
  • Версии 1.7.10, 1.12.2 и другие старые: портирование не планируется из-за огромного объема работ
  • Версия 1.20.1: будет рассмотрена командой позже
  • Будущие версии 1.22, 1.23: решение об обновлении пока не принято

Лицензионные условия

Мод может использоваться в публичных модпаках на CurseForge и Modrinth без дополнительного разрешения.

Использование на других платформах требует указания авторства и ссылок на официальные страницы мода.

Разрешено использование в приватных модпаках без публикации.

Разрешена съемка видео и стримов с использованием мода (указание авторства рекомендуется, но не обязательно).

Запрещено модифицировать мод для публичного распространения без письменного разрешения авторов.

Запрещено присваивать авторство мода.

Используемые библиотеки

  • FlowSched (лицензия MIT)
  • Отдельные фрагменты кода из C2ME от ishland (лицензия MIT)
  • java-async-util (лицензия Apache 2.0)
Участники проекта
DenisMasterHerobrine

DenisMasterHerobrine

Sixik

Sixik

Создан: 17 сен 2025

ID: 269914