Что делает
BadPackets — общее имя для пакетов, которых честный клиент не отправит никогда: наклон головы больше 90° вверх или вниз, номер слота за пределами хотбара, клик по несуществующей ячейке окна, удар по самому себе, координаты-бесконечности, два «начал бежать» подряд без остановки между ними.
За такими пакетами стоят разные вещи: попытки уронить или подвесить сервер, эксплойты для дюпа, обходы античита, неаккуратные модули читов, которые подделывают состояние игрока. Бьют они по-разному — от просевшего TPS до дюпнутых вещей, которые обесценивают экономику и топы.
Как заметить
- В консоли — кики за неверные пакеты или ошибки их обработки от одного и того же игрока
- Сервер подвисает или проседает TPS, когда в игре определённый человек
- У игрока со странными пакетами вдруг появляются лишние ценные вещи — повод проверить, не дюп ли это
Как ловят
Проверка сверяет каждое поле пакета с тем, что может выдать ванильный клиент: диапазоны углов и слотов, существование ячейки в открытом окне, цель удара, последовательность состояний — бег, присед, открытое окно. Многие из этих полей клиент ограничивает сам, поэтому выход за предел не объяснить ни пингом, ни мышью.
Но аккуратность нужна и здесь: игроки заходят с разных версий через ViaVersion, который переводит пакеты, а моды иногда шлют необычные, но безвредные данные. Поэтому правило должно знать, что допустимо для каждого случая, а наказание опирается на набранные улики, а не на один странный пакет.