Плагін Minecraft packetevents

Інформація про packetevents і сервери, де його знайдено

🔌 Про PacketEvents

PacketEvents — це бібліотека протоколу для Minecraft Java Edition, яка надає API для перехоплення, перегляду, скасування та надсилання raw protocol packets. Її можна використовувати як окремий plugin на server/proxy або підключати як бібліотечну залежність для інших plugin і mod.

🎯 Призначення

Надати стабільний, мультиплатформний шар packets для розробників plugin і mod, щоб вони могли реагувати на Minecraft protocol packets і керувати ними (login, play, status, handshake тощо) без написання низькорівневого коду Netty чи підтримки багатьох власних реалізацій протоколу для різних версій.

⚙️ Можливості

  • Перехоплення packets на основі подій для вхідних і вихідних packets (receive/send events та події на рівні протоколу).
  • Можливість скасувати або змінити packets до того, як їх обробить server/client.
  • API для програмного надсилання та симуляції packets.
  • Чистий lifecycle: create/load/init/terminate інстансу PacketEvents для коректного керування ресурсами.
  • Підтримка multi-module: окремі build/module для поширених платформ, щоб один і той самий API працював у різних середовищах server/proxy/mod.
  • Опубліковані Javadocs і документація для розробників щодо використання Maven/Gradle.

🧩 Для кого це

  • Розробники plugin і mod, яким потрібен доступ на рівні протоколу (надсилання, симуляція або зміна packets).
  • Адміністратори серверів, які встановлюють PacketEvents як залежність для plugin, що потребують packet interception.

🏗️ Приклади використання

  • Plugin реєструє packet listener і скасовує конкретний вхідний packet, щоб запобігти стандартній обробці.
  • Mod надсилає синтетичні packets клієнту, щоб створити кастомні візуальні ефекти або UI без змін entity на боці сервера.
  • Proxy plugin обробляє packets login/handshake для кастомних сценаріїв автентифікації.

⚙️ Встановлення

📥 Налаштування (адміністратор сервера)

  • Завантажте офіційний JAR plugin і помістіть його в директорію plugins/ на server/proxy (або аналогічну).
  • Перезапустіть server/proxy та перевірте логи, щоб переконатися, що PacketEvents завантажився правильно.

🛠️ Для розробників (налаштування збірки)

PacketEvents поширюється як module, специфічні для платформи. У документації наведено приклади Maven/Gradle; бібліотеку слід додавати зі scope provided/compileOnly. У документації використовується placeholder для назви module; замініть його на module цільової платформи (наприклад spigot, velocity, bungeecord, fabric, sponge) під час додавання dependency.

Приклад (snippet Gradle, як показано в офіційній документації):

// Replace INSERT_MODULE_HERE with a supported module name (spigot, velocity, bungeecord, fabric, sponge)
compileOnly("com.github.retrooper:packetevents-~~INSERT_MODULE_HERE~~:2.12.1")

Викликайте методи lifecycle бібліотеки з вашого plugin/mod (load -> init) і завершуйте роботу під час вимкнення plugin.

🧠 Технічні примітки

  • Офіційно доступні module: Spigot, Velocity, BungeeCord, Fabric і Sponge.
  • У проєкті зазначено, що module Spigot створено для роботи з популярними fork, такими як Paper, Purpur і Folia, а module BungeeCord призначено для роботи з Waterfall.
  • Проєкт публікується з source, releases і Javadocs; ліцензія — GPL-3.0.
  • Бібліотеку слід додавати зі scope provided/compileOnly у build plugin, якщо не потрібне bundling; інструкції з bundling задокументовано для випадків, коли plugin містить PacketEvents у своїй збірці.

🤝 Коли цей Plugin корисний

Якщо ваш проєкт потребує прямого контролю над Minecraft protocol — для кастомної автентифікації, ефектів на основі packets, роботи з proxy або низькорівневих інтеграцій — PacketEvents надає мультиплатформний API та керування lifecycle, щоб ви могли реалізувати ці можливості без повторного написання обробки протоколу для кожного server чи proxy implementation.

Сервери з плагіном packetevents

Сторінка плагіна packetevents показує, на яких серверах моніторинг знайшов цей плагін, з якими платформами та версіями він зустрічається.

Плагіни можуть додавати команди, економіку, захист, права доступу, міні-ігри, інтеграції або інші механіки. Фактична роль packetevents залежить від конфігурації конкретного сервера.

Дані формуються автоматично з технічних відповідей серверів. Якщо сервер приховує список плагінів, він може не відображатися в цьому розділі, навіть якщо використовує packetevents.

Використовуйте список серверів з packetevents, щоб порівняти проєкти, перевірити сумісні версії або знайти приклади використання плагіна на публічних серверах.