PacketEvents — библиотека протокола Minecraft Java Edition: она даёт плагинам удобный способ читать и отправлять пакеты, которыми обмениваются клиент и сервер. Игрокам она ничего не добавляет. Её ставят, потому что её требует другой плагин — например, античит. Обновляется она как любой плагин: последний релиз с Modrinth → замена `.jar` в `plugins/` → перезапуск.
Что такое PacketEvents
| PacketEvents | |
|---|---|
| Что это | Библиотека протокола для Minecraft Java Edition, построена на Netty |
| Автор | retrooper, проект начат в апреле 2020 года; в команде на Modrinth также booky10 |
| Лицензия | GPL-3.0, код открыт на GitHub |
| Платформы | Paper, Spigot, Folia, Purpur; Velocity; BungeeCord и Waterfall; Sponge; Fabric |
| Релизы | Modrinth, GitHub Releases, SpigotMC |
| Сборки для разработчиков | Jenkins CodeMC — не для боевых серверов |
Зачем античиту библиотека пакетов
Клиент и сервер общаются пакетами: перемещение, поворот камеры, удар, начало и конец ломания блока, клик в инвентаре — у каждого действия свой пакет. Обычный API плагинов (Bukkit) показывает уже обработанные события вроде «игрок ударил моба», а не сам поток пакетов в том порядке, в каком их прислал клиент.
Добраться до сырых пакетов можно и без библиотеки, но тогда плагин лезет во внутренние классы сервера, которые меняются от версии к версии, и автору приходится переписывать код под каждую. Библиотека берёт это на себя: один API для всех поддерживаемых версий и платформ.
Античиту поток пакетов нужен как воздух. Timer виден по частоте пакетов движения, BadPackets — по пакетам, которых честный клиент отправить не может. DGuard идёт дальше: команда разобрала клиент Minecraft 1.21.11 до пакета, и честный клиент отправляет пакеты внутри тика в строгом порядке. Чит его ломает — например, KillAura поворачивает камеру прямо перед ударом, — а лаг так сделать не может. Подробно — порядок пакетов.
Как поставить
- 1
Откройте страницу на Modrinth
modrinth.com/plugin/packetevents, вкладка версий. Отфильтруйте по загрузчику Paper и каналу Release.
- 2
Скачайте нужный файл
Для Paper и Leaf это
packetevents-spigot-<версия>.jar. Файл…-sources.jarрядом — исходники для разработчиков, на сервер его не ставят. - 3
Положите в plugins/ и перезапустите
Один экземпляр на сервер: им пользуются все плагины, которым он нужен. Проверьте
/plugins— PacketEvents должен быть зелёным.
Релиз или dev-сборка
Релизы выходят на Modrinth, GitHub и SpigotMC. Между ними на Jenkins CodeMC собираются сборки для разработчиков — с версией вида SNAPSHOT. Они нужны, чтобы проверить исправление до релиза, а не чтобы держать их на сервере с игроками.
DGuard работает только на последнем релизе PacketEvents, dev- и SNAPSHOT-сборки не подходят. Следить за этим вручную не нужно: панель DGuard берёт последний релиз с Modrinth, показывает статус PacketEvents у каждого сервера и пишет вам, когда пора обновиться. Из консоли версию видно в /dguard license — рядом с тарифом и состоянием лицензии.
Последний релиз важен не только из-за исправлений. Каждая версия PacketEvents знает протоколы определённых версий Minecraft — на Modrinth у каждого файла указан их список. Перевели сервер на новую версию игры — без свежего релиза PacketEvents плагины, которые на него опираются, могут не понять новые пакеты.
Как обновить PacketEvents
- 1
Узнайте текущую версию
/version packeteventsв игре или в консоли. На сервере с DGuard —/dguard licenseили карточка сервера в панели: там же видно последний релиз. - 2
Скачайте последний релиз
С Modrinth, фильтр Paper + Release, файл
packetevents-spigot-<версия>.jar. - 3
Замените файл
Остановите сервер, удалите старый
packetevents-…jarизplugins/и положите новый. Две версии в папке — гарантированные ошибки при старте. - 4
Запустите и проверьте
Сервер стартовал без ошибок, PacketEvents зелёный в
/plugins, в панели DGuard статус обновился./reloadдля этого не годится — только перезапуск: почему.
PacketEvents на сети серверов
На сети с BungeeCord или Velocity DGuard ставится на каждый игровой сервер, у каждого свой ключ, — значит, и PacketEvents нужен на каждом игровом сервере рядом с ним. На сам прокси PacketEvents ставят, только если его требует плагин прокси: для Velocity и BungeeCord у проекта отдельные сборки. Как устроена сеть — в статье Velocity или BungeeCord.
«Нет PacketEvents» и другие проблемы
| Что видно | Причина | Что делать |
|---|---|---|
| Панель DGuard: «Нет PacketEvents» | PacketEvents не лежит в plugins/ или не загрузился. Без него DGuard не запускает защиту | Положите последний релиз с Modrinth — не dev-сборку — и перезапустите сервер |
| Панель пишет, что вышел новый релиз | Ваша версия устарела | Обновите по шагам выше |
| Панель пишет о сборке для разработчиков | Стоит dev- или SNAPSHOT-сборка | Замените её последним релизом |
PacketEvents нет в /plugins или он красный | Файл не для той платформы (например, сборка для Velocity) или ошибка при запуске | Возьмите spigot-сборку и прочитайте ошибку в консоли |
| Ошибки при старте после обновления | В plugins/ остались две версии | Оставьте одну, новую |
Остальные проблемы с подключением — сервер не появился в панели, ключ не принят — разобраны на странице установки DGuard.
Частые вопросы
Что такое PacketEvents в Minecraft?
Плагин-библиотека, через которую другие плагины читают и отправляют пакеты Minecraft. Сам он ничего в игре не меняет, его ставят ради плагинов, которые его требуют, например античитов.
Где скачать PacketEvents?
Релизы — на Modrinth, GitHub Releases и SpigotMC. Для Paper и Leaf нужен файл packetevents-spigot-<версия>.jar, без суффикса sources.
Можно ли поставить dev-сборку PacketEvents?
Для боевого сервера не стоит: dev- и SNAPSHOT-сборки нужны разработчикам для проверки исправлений. DGuard работает только на последнем релизе.
Как обновить PacketEvents?
Скачайте последний релиз с Modrinth, остановите сервер, замените старый jar в plugins/ новым и запустите сервер снова. Без /reload.
Нужен ли PacketEvents на прокси Velocity?
Только если его требует плагин на самом прокси — для Velocity есть отдельная сборка. Для DGuard PacketEvents нужен на каждом игровом сервере, где стоит античит.
Почему DGuard пишет «Нет PacketEvents»?
На сервере нет PacketEvents или он не загрузился, а без него DGuard не запускает защиту. Положите в plugins/ последний релиз с Modrinth и перезапустите сервер.
Источники
- PacketEvents на GitHub
- PacketEvents на Modrinth
- Документация PacketEvents
- PacketEvents на SpigotMC
- Сборки для разработчиков (CodeMC)
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf