▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Accelerated Recoiling
Accelerated Recoiling

Accelerated Recoiling

Мод для Minecraft, который ускоряет обработку столкновений сущностей на сервере. Перекладывает вычисления на C++ - TPS растёт в разы, особенно при большом скоплении мобов. Экспериментальный, но уже совместим с крупными сборками.

Оцените первым
46.4K
31

Accelerated Recoiling - ускорение коллизий в Майнкрафт

Accelerated Recoiling (можно назвать "Ускоренное столкновение") - мод, который решает давнюю проблему серверного лага от коллизий сущностей. В ванильном Minecraft, когда в одном чанке собирается много мобов, игра начинает сильно тормозить - TPS падает, сервер еле дышит. Всё потому, что коллизии обрабатываются через Java с квадратичной сложностью. Accelerated Recoiling перехватывает эту логику и передаёт её на C++ (через FFM API или JNI), а в некоторых случаях и на GPU. Результат - прирост производительности в десятки раз.

Важно: мод пока экспериментальный. Поведение сущностей (например, сдавливание) может отличаться от ванильного. Перед установкой обязательно сделайте бекап мира. Если вам критична точность как в оригинале - переключитесь на бэкенд Java Vanilla.

Особенности

  • Огромный прирост TPS - в тестах с 4000+ сущностями в одном чанке TPS вырастал в 70+ раз (с 0.5 до 20).
  • Алгоритмическая оптимизация - уход от O(N²), снижение нагрузки на CPU.
  • Умный порог срабатывания - ускорение включается только когда плотность сущностей превышает заданный лимит, чтобы в обычной игре всё было как обычно.
  • Динамический выбор бэкенда - мод сам выбирает самый быстрый доступный бэкенд: GPU → FFM → JNI → Java SIMD → Java → Java Vanilla → Vanilla (запасной).
  • Мультиплатформенность - библиотеки под Windows, Linux и macOS.

Таблица бэкендов

БэкендОписаниеТребованияПроизводительностьСтатус
GPUУскорение на видеокартеЖелезо с поддержкой GPUНаивысшаяДоступен
FFMСвязь с C++ через FFM APIJava 21+Очень высокаяДоступен
JNIСвязь через JNIНетОчень высокаяДоступен
Java SIMDВекторизация через VectorAPIСпециальные аргументы запускаВысокаяДоступен
JavaЧистый Java-алгоритмНетХорошаяДоступен
Java VanillaМодифицированная ванильная логика (максимальная схожесть с ваниллой)НетСредняяДоступен
VanillaОбычная ванильная логикаНетХудшая-

Если хотите вручную принудительно задать бэкенд, добавьте в аргументы запуска: -Dacceleratedrecoiling.backend=имя_бэкенда

Требования и установка

  • 64-разрядная ОС - динамические библиотеки только 64-битные.
  • Java 17+ (для версии Minecraft 1.20.1 хватит 17, для 1.21.1+ нужна Java 21).
  • Leaves сервер: обязательно добавьте аргумент -Dleavesclip.enable.mixin=true.

При первом запуске мод сам распакует нативные библиотеки и создаст файл конфигурации acceleratedRecoiling.json в корне игры.

Настройка по умолчанию

{
   "enableEntityCollision": true,
   "enableEntityGetterOptimization": true,
   "maxCollision": 32,
   "gridSize": 1,
   "densityWindow": 4,
   "densityThreshold": 16
}
  • maxCollision - максимальное количество коллизий на одну сущность за тик.
  • gridSize - размер сетки для пространственного разделения.
  • densityThreshold - порог плотности соседних сущностей, после которого включается ускорение.

Если производительность упала, попробуйте уменьшить densityThreshold. Если CPU грузится слишком сильно - уменьшите maxThreads (в конфиге его нет по умолчанию, но можно дописать).

Вопросы и ответы

Q: Игра вылетает или не запускается?

A: Проверьте:

  1. Стоит ли Java 17+.
  2. Для Leaves - добавлен ли аргумент -Dleavesclip.enable.mixin=true.
  3. Если обновляли мод - удалите старые файлы acceleratedRecoilingLib.dll и acceleratedRecoiling.json, пусть пересоздаст.

Q: Поведение сущностей такое же, как в ванилле?

A: Не совсем. Мод меняет алгоритм коллизий, поэтому сдавливание будет другим. Используйте бэкенд Java Vanilla, если нужна максимальная идентичность.

Q: Не сломает ли редстоун-механизмы?

A: Пока не замечено проблем с популярными схемами, но теоретически могут пострадать механизмы, использующие сдавливание сущностей. Делайте бекапы.

Q: Почему производительность упала?

A: Скорее всего, плотность сущностей не достигла порога, и мод работает по двум путям (ванилла + ускорение). Уменьшите densityThreshold.

Q: Совместим ли с другими модами?

A: Да, мод протестирован с ATM9, Lithium, FlatCollision, RuOK, Create, Valkyrien-Skies-2 и другими. Если найдёте несовместимость - сообщите в тикеты репозитория.

Производительность в цифрах

Тестовый стенд: i5-12600KF, 32 ГБ RAM, RTX 3060 Ti, Leaves 1.21.8, GraalVM JDK 21.

Тест 1: TPS при скоплении сущностей в одном чанке (2х2 блока)

СущностейLeaves + Accelerated RecoilingВанильный LeavesУскорение
2 04820.0 TPS (16 MSPT)3.0 TPS20.8x
4 09620.0 TPS (27 MSPT)0.5 TPS74x
16 3848.6 TPS (115 MSPT)--
32 7684.3 TPS (230 MSPT)--

Тест 2: BroadPhase (чистая C++ часть)

СущностейMS за кадрЭквивалентный FPS
10 0000.2 ms5000
50 0001.1 ms909
100 0002.5 ms400
400 00021.3 ms46

Ускорение впечатляет, особенно на больших фермах или серверах с тысячами мобов.

Итог

Accelerated Recoiling - мощный инструмент для оптимизации коллизий. Если у вас сервер с большим количеством сущностей, этот мод может поднять TPS с нескольких единиц до стабильных 20. Скачайте мод Accelerated Recoiling и попробуйте - не забудьте настроить порог под свой сценарий. Для максимальной совместимости используйте бэкенд Java Vanilla, а для производительности - FFM или JNI.

Мод распространяется по лицензии MIT. Для сборки из исходников потребуется JDK 21 и WSL (для Linux-библиотек).

Партнёрский материал

Как поиграть с друзьями с модом Accelerated Recoiling?

Мод Accelerated Recoiling куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Accelerated Recoiling будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x1.20.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки

Создатели

Детали

Лицензия:
Опубликован:10 месяцев назад
Обновлён:3 месяца назад
Главная