Minecraft-Plugin packetevents

Informationen zu packetevents und den Servern, auf denen es gefunden wurde

🔌 Über PacketEvents

PacketEvents ist eine Protokollbibliothek für Minecraft Java Edition, die eine API bereitstellt, um rohe Protokollpakete abzufangen, zu prüfen, abzubrechen und zu senden. Sie kann als eigenständiges Plugin auf einem Server/Proxy verwendet oder als Bibliotheksabhängigkeit für andere Plugins und Mods eingebunden werden.

🎯 Zweck

Eine stabile, plattformübergreifende Paketebene für Plugin- und Mod-Entwickler bereitstellen, damit sie auf Minecraft-Protokollpakete (Login, Play, Status, Handshake usw.) reagieren und sie manipulieren können, ohne Low-Level-Netty-Code zu schreiben oder viele versionsspezifische Protokollimplementierungen selbst zu pflegen.

⚙️ Funktionen

  • Ereignisgesteuerte Paketabfangung für eingehende und ausgehende Pakete (Receive/Send-Events und Events auf Protokollebene).
  • Möglichkeit, Pakete zu verwerfen oder zu ändern, bevor Server/Client sie verarbeitet.
  • API zum programmgesteuerten Senden und Simulieren von Paketen.
  • Sauberer Lebenszyklus: Eine PacketEvents-Instanz erstellen/laden/initialisieren/beenden für korrektes Ressourcenmanagement.
  • Multi-Modul-Unterstützung: separate Builds/Module für gängige Plattformen, damit dieselbe API in verschiedenen Server-/Proxy-/Mod-Umgebungen funktioniert.
  • Veröffentlichte Javadocs und dokumentiertes Entwickler-Setup für die Nutzung mit Maven/Gradle.

🧩 Für wen es gedacht ist

  • Plugin- und Mod-Entwickler, die Zugriff auf Protokollebene benötigen (Pakete senden, simulieren oder ändern).
  • Serverbetreiber, die PacketEvents als Abhängigkeit für Plugins installieren, die Paketabfangung erfordern.

🏗️ Beispielanwendungen

  • Ein Plugin registriert einen Packet-Listener und verwirft ein bestimmtes eingehendes Paket, um die Standardverarbeitung zu verhindern.
  • Ein Mod sendet synthetische Pakete an einen Client, um benutzerdefinierte visuelle Effekte oder eine UI zu erstellen, ohne serverseitige Entity-Änderungen.
  • Ein Proxy-Plugin verarbeitet Login-/Handshake-Pakete für benutzerdefinierte Authentifizierungsabläufe.

⚙️ Installation

📥 Einrichtung (Serverbetreiber)

  • Laden Sie die offizielle Plugin-JAR herunter und legen Sie sie im plugins/-Verzeichnis des Servers/Proxys (oder einem entsprechenden Verzeichnis) ab.
  • Starten Sie den Server/Proxy neu und prüfen Sie die Logs, um zu bestätigen, dass PacketEvents korrekt geladen wurde.

🛠️ Für Entwickler (Build-Setup)

PacketEvents wird als plattformspezifische Module ausgeliefert. Die Dokumentation zeigt Maven-/Gradle-Beispiele; die Bibliothek ist dafür gedacht, mit dem Scope provided/compileOnly hinzugefügt zu werden. In der Dokumentation wird ein Platzhalter für den Modulnamen verwendet; ersetzen Sie ihn beim Hinzufügen einer Abhängigkeit durch das Zielplattform-Modul (z. B. spigot, velocity, bungeecord, fabric, sponge).

Beispiel (Gradle-Ausschnitt aus der offiziellen Doku):

// Ersetze INSERT_MODULE_HERE durch einen unterstützten Modulnamen (spigot, velocity, bungeecord, fabric, sponge)
compileOnly("com.github.retrooper:packetevents-~~INSERT_MODULE_HERE~~:2.12.1")

Rufen Sie die Lifecycle-Methoden der Bibliothek aus Ihrem Plugin/Mod auf (load -> init) und beenden Sie sie, wenn Ihr Plugin deaktiviert wird.

🧠 Technische Hinweise

  • Zu den offiziell bereitgestellten Modulen gehören Spigot, Velocity, BungeeCord, Fabric und Sponge.
  • Das Projekt weist darauf hin, dass das Spigot-Modul für weit verbreitete Forks wie Paper, Purpur und Folia entwickelt wurde und das BungeeCord-Modul für Waterfall gedacht ist.
  • Das Projekt wird mit Quellcode, Releases und Javadocs veröffentlicht; die Lizenz ist GPL-3.0.
  • Die Bibliothek soll bei Plugin-Builds mit dem Scope provided/compileOnly hinzugefügt werden, wenn kein Bundling gewünscht ist; Anleitungen zum Bundling sind für Fälle dokumentiert, in denen ein Plugin PacketEvents in seine Distribution aufnimmt.

🤝 Wann dieses Plugin nützlich ist

Wenn Ihr Projekt direkte Kontrolle über das Minecraft-Protokoll benötigt — für benutzerdefinierte Authentifizierung, paketbasierte Effekte, Proxy-Verarbeitung oder Low-Level-Integrationen — bietet PacketEvents eine plattformübergreifende API und Lifecycle-Verwaltung, damit Sie diese Funktionen umsetzen können, ohne die Protokollverarbeitung für jede Server- oder Proxy-Implementierung neu zu schreiben.

Server mit dem Plugin packetevents

Die Seite des Plugins packetevents zeigt, auf welchen Servern das Monitoring dieses Plugin gefunden hat, sowie mit welchen Plattformen und Versionen es vorkommt.

Plugins können Befehle, Wirtschaft, Schutz, Zugriffsrechte, Mini-Spiele, Integrationen oder andere Mechaniken hinzufügen. Die tatsächliche Rolle von packetevents hängt von der Konfiguration des jeweiligen Servers ab.

Daten werden automatisch aus den technischen Antworten der Server gebildet. Wenn ein Server die Plugin-Liste verbirgt, erscheint er möglicherweise nicht in diesem Abschnitt, auch wenn er packetevents nutzt.

Nutze die Serverliste mit packetevents, um Projekte zu vergleichen, kompatible Versionen zu prüfen oder Beispiele der Plugin-Nutzung auf öffentlichen Servern zu finden.