DGuard

Сколько ресурсов ест античит и как это проверить

Античит почти не нагружает сервер, если проверяет пакеты в сетевых потоках, и заметно отнимает тик, если работает в основном потоке. Проверить это можно за 10 минут профайлером spark — не веря никому на слово.

Команда DGuard6 мин

Главный ресурс сервера Minecraft — время основного потока: на тик у него 50 мс, и всё, что туда попадает, отнимает запас у мобов, редстоуна и других плагинов. Поэтому важно не сколько процессора ест античит вообще, а сколько он забирает у основного потока. Измеряется это профайлером spark: найдите плагин античита в «Server thread» и посмотрите его долю.

Где работает античит: основной поток и сетевые

У сервера Paper один основной поток («Server thread»): он считает тик — движение сущностей, блоки, события плагинов. Параллельно работают сетевые потоки: они принимают и отправляют пакеты игроков и не ждут тика.

Античит может проверять игрока в любом из них. Если он слушает события Bukkit вроде движения игрока, работа идёт в основном потоке и тратит бюджет тика. Если он читает пакеты, например через PacketEvents, проверки можно считать прямо в сетевых потоках, и тик их почти не замечает.

Основной потокСетевые потоки
Что там происходитТик: сущности, блоки, события плагиновПриём и отправка пакетов
Чем грозит тяжёлая работаРастёт MSPT, падает TPS у всех игроковРастёт загрузка процессора; TPS не страдает, пока хватает ядер
Как увидетьspark, «Server thread»spark с флагом --thread *

Сетевые потоки тоже не бесплатны: на дешёвом хостинге, где ядра делят с соседями, лишняя нагрузка на них всё равно ощущается. Но это совсем другой порядок проблем, чем античит, который съедает тик.

Как измерить нагрузку

  1. 1

    Выберите время

    Пиковый онлайн, а не пустой сервер: нагрузка античита растёт с числом игроков, особенно в боях.

  2. 2

    Снимите профиль

    /spark profiler start --timeout 600 — через 10 минут spark пришлёт ссылку на отчёт. На Paper 1.21+ spark встроен.

  3. 3

    Найдите античит в основном потоке

    В отчёте откройте «Server thread» и включите вид «Sources»: у каждого плагина своё дерево. Доля античита в этом потоке — и есть его цена для тика.

  4. 4

    Посмотрите остальные потоки

    Снимите второй профиль с --thread *, чтобы увидеть, сколько античит тратит в сетевых потоках.

  5. 5

    Сверьте с командой античита

    Если у античита есть свой замер, сравните цифры. В DGuard это /dguard perf — показывает, сколько времени занимают проверки.

Замер нагрузки
/spark profiler start --timeout 600
/spark profiler start --thread * --timeout 600
/mspt
/dguard perf

Сколько ест DGuard

DGuard читает пакеты через PacketEvents и считает проверки в сетевых потоках, а не в основном, поэтому TPS держится на 20. На живом сервере это 0,03 % одного ядра на основном потоке: 0,38 мс из 10,9 мс тика при 121 игроке.

При этом за игроком одновременно следят 11 проверок и 80+ правил на всех фронтах: бой, движение, постройка и мир, инвентарь, пакеты. Не верьте цифрам на слово — снимите профиль на своём сервере и сверьте с /dguard perf.

Сеть и память

Память. Античит хранит историю каждого игрока: движение, удары, клики. Чем больше онлайн, тем больше этих данных. Если подозреваете, что память уходит в античит, /spark heapsummary покажет, какие классы её занимают, — по их именам видно, чей это плагин. Сколько памяти давать серверу вообще — в статье сколько оперативной памяти нужно.

Сеть. Некоторые античиты шлют игрокам служебные пакеты, чтобы точнее измерять задержку. Облачные проверки отправляют данные со своего сервера наружу — спросите, какие именно и сколько.

DGuard выходит к сайту DGuard по HTTPS за лицензией, обновлениями и облачной проверкой правил аима и TriggerBot. Для неё плагин отправляет игровые замеры — повороты камеры, позиции относительно случайной точки без координат мира, клики и удары — под случайными номерами сессий; они живут только в памяти и удаляются через 10 минут тишины. Ники, IP и чат остаются на вашем сервере, а журнал наказаний с никами попадает в панель, только если вы его включите. Без связи защита работает до 72 часов на сохранённой лицензии, кроме правил облачной проверки.

Как честно сравнить два античита

Сравнивать нагрузку по отзывам бесполезно: у каждого свой онлайн, режим и железо. Надёжнее поставить второй античит рядом с текущим на том же сервере. Тогда один профиль spark покажет оба плагина в виде «Sources» бок о бок — при одинаковом онлайне, в одних и тех же боях.

DGuard для этого и предлагает: поставьте его бесплатно рядом с текущим античитом — до 30 игроков онлайн без срока и без карты — и через неделю сравните и журналы, и профили. Как перейти потом без дыр в защите, описано в статье как сменить античит.

Что спросить у разработчика любого античита

  1. 1В каком потоке идут проверки и что остаётся в основном?
  2. 2Сколько миллисекунд основного потока занимает античит — на живом сервере, с каким онлайном? Цифра с пустого сервера ничего не говорит.
  3. 3Есть ли команда, которая показывает нагрузку прямо у вас?
  4. 4Что уходит в облако, как часто и что будет без интернета?
  5. 5Поддерживает ли он ваше ядро и версию? DGuard сделан для Paper и Leaf, список версий — на странице версий.
  6. 6Как он ведёт себя при просадках TPS: не банит ли за лаги? Подробнее — в статье почему античит банит честных игроков.

Сравнить, что античиты ловят, а не только сколько они стоят серверу, можно в сравнении по 47 видам читов и в статье какой античит выбрать.

Частые вопросы

Может ли античит лагать сервер?

Может, если делает тяжёлую работу в основном потоке: тогда растёт MSPT и падает TPS у всех. Античиты, которые проверяют пакеты в сетевых потоках, на тик почти не влияют.

Как узнать, сколько ресурсов ест плагин?

Запустите /spark profiler start --timeout 600 в пиковый онлайн, откройте отчёт, выберите «Server thread» и вид «Sources» — там видно долю каждого плагина в тике.

Сколько ресурсов ест DGuard?

Проверки DGuard считаются в сетевых потоках, поэтому TPS держится на 20. На живом сервере это 0,03 % одного ядра на основном потоке: 0,38 мс из 10,9 мс тика при 121 игроке. Проверить у себя можно командой /dguard perf.

Что делать, если после установки античита упал TPS?

Снимите профиль spark во время просадки и посмотрите долю античита в «Server thread». Если виноват он — отправьте ссылку на профиль разработчику; если нет — ищите причину среди сущностей, генерации чанков и других плагинов.

Нужен ли античиту интернет?

Зависит от античита. DGuard нужен исходящий HTTPS к сайту DGuard для лицензии, обновлений и облачной проверки аима и TriggerBot; без связи защита работает до 72 часов, кроме правил облачной проверки.

Источники

Все разделы
Оптимизация6 минПочему лагает сервер Minecraft и как найти причинуСначала поймите, что лагает: сервер (низкий TPS), сеть (пинг) или компьютер игрока (FPS). Если сервер — измерьте MSPT и снимите профиль spark: он покажет, что съедает 50 мс тика.ЧитатьАнтичиты8 минКак выбрать античит для сервера Minecraft: 8 вопросовХороший античит работает на вашем ядре, ловит читы на всех фронтах, банит по уликам, не нагружает основной поток и честно пишет, что умеет. Вот 8 вопросов, которые стоит задать любому античиту до установки, — и ответ DGuard на каждый.ЧитатьПлагины5 минPacketEvents: что это и как обновитьPacketEvents — плагин-библиотека, через который другие плагины читают и отправляют пакеты Minecraft. Сам он ничего не меняет в игре, но без него не запустятся плагины, которые на него опираются, — например, античит DGuard. Обновление: скачать последний релиз, заменить jar, перезапустить.Читать

Поставьте лучший античит для современного Minecraft

DGuard ловит все 47 видов читов из нашего сравнения — у ближайшего соперника, Intave, 27. Полная защита на любом тарифе, до 30 игроков онлайн — бесплатно.