
HariMultiThread - Многопоточная обработка сущностей
Мод HariMultiThread для Minecraft распределяет тиканье сущностей и спавн мобов по всем ядрам процессора, снимая нагрузку с главного потока сервера и сохраняя стабильный TPS даже при сотнях мобов.
HariMultiThread (ранее известный как HE: HariEntity) - это экспериментальный мод для Майнкрафт, который решает главную боль любого сервера с большим онлайном: просадки TPS из-за сущностей. Если вы когда-нибудь строили гигантскую ферму мобов, запускали рейд на 50 игроков или просто держали зоопарк из сотен коров - вы знаете, как быстро главный поток сервера начинает захлёбываться. Этот мод переносит обработку энтити на все ядра вашего процессора, а не только на одно.
Что делает этот мод и зачем он нужен
В ванильном Minecraft (и даже в Fabric/Forge) почти вся логика сущностей - движение мобов, их ИИ, спавн, взаимодействие с миром - выполняется последовательно в одном главном потоке. Когда на сервере 200+ сущностей, начинаются лаги: блоки ломаются с задержкой, мобы телепортируются, TPS падает ниже 20.
HariMultiThread разбивает этот монолитный процесс на параллельные задачи. Представьте, что вместо одного работника, который по очереди кормит всех животных на ферме, у вас их восемь - и каждый отвечает за свою группу. Так и тут: мод создаёт пул потоков (thread pool) и распределяет тиканье сущностей между ними.
Ключевая фишка - мод не просто бездумно распараллеливает всё подряд. Он понимает, что некоторые вещи нельзя трогать одновременно из разных потоков. Например, если два потока попытаются одновременно изменить один и тот же блок или сущность - получим краш или дюп. Поэтому тут есть система синхронизации: критически важные объекты всегда обрабатываются на главном потоке, а остальные - параллельно.
Техническая архитектура: как это работает под капотом
Мод построен на базе проекта Async, но с серьёзными доработками. Вот что реально происходит при каждом тике сервера:
- Параллельное тиканье сущностей: все мобы, животные, монстры разбиваются на батчи и обрабатываются одновременно на разных ядрах CPU. Если у вас 8-ядерный процессор - теоретически можно получить почти 8-кратное ускорение обработки энтити.
- Асинхронный спавн мобов: расчёты естественного спавна (где должен появиться зомби, скелет или корова) выполняются параллельно с основным тиком. Это особенно заметно ночью или в специально построенных фермах.
- Выделенный пул для взрывов: TNT, криперы, кристаллы Энда - всё это считается отдельно. Взрывы в Майнкрафт - это сложная физика с разрушением блоков, и они могут сильно нагружать сервер. Тут они обрабатываются независимо.
- Динамическое масштабирование: мод автоматически определяет количество доступных ядер и подстраивается под ваше железо. На 4-ядерном сервере будет 4 потока, на 16-ядерном - 16.
Важный нюанс: не все сущности можно безопасно параллелить. Снаряды (стрелы, фаерболы), вагонетки, лодки, игроки, падающие блоки и шалкеры всегда обрабатываются на главном потоке. Это сделано для предотвращения рассинхронизации и крашей. Но вы можете настроить, какие ещё сущности должны быть синхронными - например, если у вас есть мод на сложных мобов, которые конфликтуют с многопоточностью.
Настройка и конфигурация
Все настройки лежат в файле config/async.toml. Там можно:
- Указать максимальное количество потоков (по умолчанию - все доступные ядра)
- Включить или выключить асинхронный спавн мобов
- Настроить список синхронизированных сущностей (которые должны тикаться только на главном потоке)
Есть и внутриигровые команды для управления на лету:
/async config- открыть меню настроек/async stats- посмотреть статистику по потокам и нагрузке
Совет из практики: если вы не уверены, какие сущности безопасно параллелить - оставьте дефолтные настройки. Разработчики уже вынесли в синхронный режим всё, что может сломаться. Но если у вас стоят моды на кастомных мобов (особенно с сложным ИИ или взаимодействием с блоками), добавьте их в список синхронных вручную.
Совместимость и безопасность
Мод экспериментальный. Это не значит, что он крашит всё подряд, но с некоторыми модами могут быть конфликты. Особенно с теми, которые сильно меняют поведение сущностей или добавляют свои кастомные энтити.
Что всегда синхронизировано (и не может быть изменено):
- Снаряды (стрелы, снежки, фаерболы)
- Вагонетки и лодки
- Игроки
- Падающие блоки (песок, гравий, наковальни)
- Шалкеры
Что можно настроить:
- TNT
- Дроп (предметы на земле)
- Сферы опыта
- Криперы
- Визеры
- И другие сущности по вашему усмотрению
Мод имеет специальную обработку для интеграции с Harium, HariPlayer и HariChunk - это родственные проекты от того же автора. Если вы используете их вместе, совместимость должна быть лучше.
Производительность: реальный эффект
Насколько это реально помогает? Зависит от вашего сценария:
- Фермы мобов: если у вас гриндилка на 500+ мобов, прирост TPS может быть колоссальным - с 12-15 до стабильных 20
- Спавн в ночное время: когда на сервере 20+ игроков и все разбежались по разным чанкам, асинхронный спавн существенно снижает нагрузку
- Взрывы и TNT-пушки: выделенный пул для взрывов не даёт им блокировать основной тик
Но есть нюанс: если у вас слабый процессор с 2-4 ядрами, прирост будет скромным. Мод раскрывается на многоядерных системах - 6, 8, 12+ ядер. На серверах с мощными CPU (типа AMD Ryzen 9 или Intel i9) эффект максимальный.
Установка и требования
Мод работает на Fabric и Quilt загрузчиках. Версии Minecraft - современные, обычно 1.19+. Перед установкой обязательно проверьте на странице мода, поддерживается ли ваша конкретная версия игры.
Важно: это серверный мод. На клиенте его ставить не нужно (и даже вредно - может вызвать рассинхронизацию). Устанавливайте только на сервер.
Если вы хотите поиграть с друзьями на своём сервере с этим модом, проще всего арендовать хостинг с поддержкой Fabric. Например, на BungeeHost (https://bungee.host) можно развернуть сервер в пару кликов, и HariMultiThread установится туда без проблем. Это особенно удобно, если вы не хотите возиться с настройкой VPS и Java.
Известные проблемы и предостережения
Мод экспериментальный, поэтому:
- Тестируйте на копии мира: перед установкой на продакшн-сервер сделайте бэкап и протестируйте на тестовом сервере
- Конфликты с модами: если у вас стоят моды на сложных мобов (типа Alex's Mobs, Ice and Fire, Mutant Monsters), добавьте их сущности в список синхронных
- Не для слабых серверов: если у вас 2 ядра и 4 ГБ RAM, мод не даст чуда. Он для мощных машин
- Логи: следите за консолью сервера. Если видите ошибки вида "ConcurrentModificationException" - значит, какая-то сущность пытается измениться из двух потоков одновременно. Добавьте её в синхронные
Сравнение с альтернативами
Есть ли другие моды для оптимизации сущностей? Да, но они работают иначе:
- Lithium - оптимизирует логику тиканья, но не распараллеливает её. Хорошо работает в связке с HariMultiThread
- Phosphor - оптимизирует освещение, не трогает сущности
- Krypton - оптимизирует сетевой код
- C2ME - параллелит генерацию чанков, но не сущности
HariMultiThread уникален тем, что именно распараллеливает тиканье энтити. Это самая тяжёлая часть серверной нагрузки на больших серверах, и никто больше её так агрессивно не оптимизирует.
Кому стоит скачать этот мод
Скачать HariMultiThread имеет смысл, если:
- У вас сервер с 20+ игроками и много сущностей
- Вы строите масштабные фермы мобов или автоматические сортировки
- У вас мощный многоядерный процессор (6+ ядер)
- Вы готовы потратить время на тестирование и настройку
Если у вас маленький сервер на 5 друзей и вы просто строите домики - мод не даст заметного эффекта. Но для хардкорных выживальных серверов, анархий или проектов с упором на фермы и автоматизацию - это must-have.
Мод активно развивается, автор регулярно выпускает обновления под свежие версии Minecraft и исправляет баги совместимости. Это нишевый проект, но с очень амбициозной целью - сделать многопоточность в Майнкрафт реальностью.
Как поиграть с друзьями с модом HariMultiThread - Многопоточная обработка сущностей?
Мод HariMultiThread - Многопоточная обработка сущностей куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода HariMultiThread - Многопоточная обработка сущностей будет готов за пару минут - BungeeHost сделает всё за вас.
