Plugin Minecraft packetevents

Informacje o packetevents i potwierdzonych serwerach

🔌 O PacketEvents

PacketEvents to biblioteka protokołu dla Minecraft Java Edition, która udostępnia API do przechwytywania, analizowania, anulowania i wysyłania surowych pakietów protokołu. Można jej używać jako samodzielnego pluginu na serwerze/proxy albo dołączać ją jako zależność biblioteczną do innych pluginów i modów.

🎯 Cel

Zapewnienie stabilnej, wieloplatformowej warstwy pakietów dla twórców pluginów i modów, aby mogli reagować na pakiety protokołu Minecrafta i je modyfikować (login, play, status, handshake itp.) bez pisania niskopoziomowego kodu Netty ani utrzymywania wielu implementacji protokołu specyficznych dla wersji.

⚙️ Funkcje

  • Oparte na zdarzeniach przechwytywanie pakietów przychodzących i wychodzących (zdarzenia receive/send oraz zdarzenia na poziomie protokołu).
  • Możliwość anulowania lub modyfikowania pakietów zanim serwer/klient je przetworzy.
  • API do programowego wysyłania i symulowania pakietów.
  • Czysty cykl życia: tworzenie/wczytywanie/inicjalizacja/zamykanie instancji PacketEvents dla właściwego zarządzania zasobami.
  • Wsparcie wielomodułowe: osobne buildy/moduły dla popularnych platform, dzięki czemu to samo API działa w różnych środowiskach serwer/proxy/mod.
  • Opublikowane Javadocs i udokumentowana konfiguracja dla deweloperów do użycia z Maven/Gradle.

🧩 Dla kogo

  • Dla twórców pluginów i modów, którzy potrzebują dostępu na poziomie protokołu (wysyłanie, symulowanie lub modyfikowanie pakietów).
  • Dla operatorów serwerów, którzy instalują PacketEvents jako zależność dla pluginów wymagających przechwytywania pakietów.

🏗️ Przykładowe zastosowania

  • Plugin rejestruje listener pakietów i anuluje konkretny pakiet przychodzący, aby zapobiec domyślnemu przetwarzaniu.
  • Mod wysyła do klienta syntetyczne pakiety, aby tworzyć niestandardowe efekty wizualne lub UI bez zmian encji po stronie serwera.
  • Plugin proxy obsługuje pakiety login/handshake dla niestandardowych przepływów uwierzytelniania.

⚙️ Instalacja

📥 Konfiguracja (operator serwera)

  • Pobierz oficjalny plik JAR pluginu i umieść go w katalogu plugins/ serwera/proxy (lub równoważnym).
  • Uruchom ponownie serwer/proxy i sprawdź logi, aby potwierdzić, że PacketEvents został poprawnie załadowany.

🛠️ Dla deweloperów (konfiguracja builda)

PacketEvents jest dystrybuowany jako moduły specyficzne dla platform. Dokumentacja pokazuje przykłady Maven/Gradle; biblioteka ma być dodawana z zakresem provided/compileOnly. W dokumentacji używany jest placeholder dla nazwy modułu; podczas dodawania zależności zastąp go modułem docelowej platformy (na przykład spigot, velocity, bungeecord, fabric, sponge).

Przykład (fragment Gradle pokazany w oficjalnej dokumentacji):

// Zastąp INSERT_MODULE_HERE obsługiwaną nazwą modułu (spigot, velocity, bungeecord, fabric, sponge)
compileOnly("com.github.retrooper:packetevents-~~INSERT_MODULE_HERE~~:2.12.1")

Wywołuj metody cyklu życia biblioteki z poziomu swojego pluginu/moda (load -> init) i kończ działanie, gdy plugin zostaje wyłączony.

🧠 Uwagi techniczne

  • Oficjalnie udostępniane moduły obejmują Spigot, Velocity, BungeeCord, Fabric i Sponge.
  • Projekt podaje, że moduł Spigot został zaprojektowany do działania na popularnych forkach, takich jak Paper, Purpur i Folia, a moduł BungeeCord ma działać na Waterfall.
  • Projekt jest publikowany wraz z kodem źródłowym, release'ami i Javadocs; jest objęty licencją GPL-3.0.
  • Bibliotekę należy dodawać z zakresem provided/compileOnly w buildach pluginów, jeśli nie chcesz jej dołączać do paczki; instrukcje bundlowania są opisane dla przypadków, gdy plugin zawiera PacketEvents w swojej dystrybucji.

🤝 Kiedy ten plugin jest przydatny

Jeśli Twój projekt wymaga bezpośredniej kontroli nad protokołem Minecrafta — do niestandardowego uwierzytelniania, efektów opartych na pakietach, obsługi proxy lub integracji niskiego poziomu — PacketEvents zapewnia wieloplatformowe API i zarządzanie cyklem życia, dzięki czemu możesz tworzyć te funkcje bez ponownej implementacji obsługi protokołu dla każdego serwera lub implementacji proxy.

Serwery z pluginem packetevents

Strona pluginu packetevents pokazuje serwery, na których monitoring znalazł ten plugin, używaną platformę i wersję.

Plugin może dodawać komendy, ekonomię, bezpieczeństwo, uprawnienia dostępu, minigry, integracje i inne mechaniki. Rzeczywista rola packetevents zależy od ustawień serwera.

Dane są generowane automatycznie z technicznych odpowiedzi serwerów. Jeśli serwer trzyma listę pluginów prywatnie, może używać packetevents, ale nie pojawiać się w tej sekcji.

Użyj listy serwerów z packetevents, aby porównać projekty, sprawdzić wspierane wersje lub znaleźć przykłady użycia pluginu na publicznych serwerach.