Minecraft Руководство

Тонкая настройка Purpur: скрытые параметры purpur.yml для максимального TPS

Оптимизация сервера Minecraft на ядре Purpur: лоботомия деревенских жителей, подавление агрессии зомби при лагах, альтернативный Keepalive и удержание стабильных 20 TPS.

Тонкая настройка Purpur: скрытые параметры purpur.yml для максимального TPS

Форк Minecraft-сервера Purpur, построенный поверх оптимизированных ядер Paper и Pufferfish, предоставляет администраторам беспрецедентный контроль над поведением мобов, физикой сущностей и нагрузкой на процессор. В то время как стандартный Paper фокусируется на безопасности ванильных игровых механик, Purpur добавляет сотни специализированных параметров в файле purpur.yml. Грамотная настройка этих опций позволяет удерживать стабильные 20.0 TPS даже на серверах с гигантскими деревнями жителей и фермами железа.

В этой статье мы подробно разберём скрытые параметры файла purpur.yml, технику лоботомии жителей (lobotomize villagers), динамическое отключение искусственного интеллекта мобов при просадках тика и защиту игроков от дисконнектов при сборке мусора.

Лоботомия жителей: решение проблемы торговых залов#

Жители деревень (Villagers) — главный источник нагрузки на серверный тик из-за сложнейшего алгоритма поиска путей (pathfinding) к кроватям, рабочим блокам и колоколам. Если игрок запирает жителя в узкой торговой ячейке 1x1, моб непрерывно сканирует геометрию вокруг себя в попытках найти путь на свободу.

Проверьте текущую секцию жителей в файле конфигурации:

bash
grep -A 10 "lobotomize" /opt/minecraft/purpur.yml

Активация режима «лоботомии» заставляет сервер проверять, способен ли житель сделать хотя бы один шаг. Если моб заблокирован со всех сторон, его тяжелый искусственный интеллект отключается, при этом механика торговли, скидки и обновление ассортимента остаются полностью функциональными:

yaml
entities:
  villager:
    lobotomize:
      enabled: true
      check-interval: 100
  zombie:
    aggressive-towards-villager-when-lagging: false
gameplay-mechanics:
  use-alternative-keepalive: true

Параметр check-interval: 100 указывает серверу проверять освобождение жителя только раз в 5 секунд (100 тиков), что радикально экономит процессорные инструкции.

Динамическое подавление агрессии мобов при лагах#

Параметр aggressive-towards-villager-when-lagging: false предотвращает лавинные просадки производительности: если время обработки тика (MSPT) начинает расти, зомби временно прекращают сканировать чанки в поисках деревенских жителей, освобождая ресурсы центрального процессора.

Проверьте пороги срабатывания защитных алгоритмов:

bash
grep -A 5 "lagging-threshold" /opt/minecraft/purpur.yml

По умолчанию Purpur активирует режим защиты при падении TPS ниже установленного порога, гарантируя приоритет перемещению реальных игроков.

Альтернативный Keepalive и защита от тайм-аутов#

При использовании объёмных пулов оперативной памяти (12–16 ГБ) фазы сборки мусора Java GC могут вызывать кратковременные микропаузы сервера длительностью 150–300 мс. Опция use-alternative-keepalive: true изменяет способ отправки сетевых проверочных пакетов клиентам, устраняя ложные выбросы игроков с ошибкой «Timed out».

Примените изменения и перезапустите службу сервера:

bash
sudo systemctl restart minecraft && sudo journalctl -u minecraft -n 25 --no-pager | grep -i "purpur"

После перезапуска оцените показатели здоровья тика и распределение оперативной памяти:

bash
/spark health --memory

Если вы хотите запустить производительный сервер Minecraft на базе Purpur с предварительно оптимизированными конфигурациями и защитой от DDoS-атак, надёжный хостинг серверов Minecraft предоставляет готовые шаблоны с лоботомией сущностей и мониторингом нагрузки в реальном времени.

Источники#