Minecraft Servers HQ

Minecraft plugin packetevents

Informatie over packetevents en bevestigde servers

🔌 Over PacketEvents

PacketEvents is een protocolbibliotheek voor Minecraft Java Edition die een API biedt om raw protocol packets te onderscheppen, te inspecteren, te annuleren en te verzenden. Je kunt het gebruiken als een zelfstandige plugin op een server/proxy of als bibliotheekafhankelijkheid in andere plugins en mods.

🎯 Doel

Een stabiele, multi-platform packetlaag bieden voor ontwikkelaars van plugins en mods, zodat zij kunnen reageren op en werken met Minecraft protocol packets (login, play, status, handshake, enz.) zonder low-level Netty-code te hoeven schrijven of zelf veel versie-specifieke protocolimplementaties te onderhouden.

⚙️ Functies

  • Event-gestuurde packetinterceptie voor inkomende en uitgaande packets (receive/send events en protocol-level events).
  • Mogelijkheid om packets te annuleren of aan te passen voordat de server/client ze verwerkt.
  • API om packets programmatisch te verzenden en te simuleren.
  • Schone lifecycle: maak/load/init/terminate een PacketEvents-instance voor goed resourcebeheer.
  • Ondersteuning voor meerdere modules: aparte builds/modules voor gangbare platforms zodat dezelfde API werkt in verschillende server/proxy/mod-omgevingen.
  • Gepubliceerde Javadocs en gedocumenteerde ontwikkelaarssetup voor Maven/Gradle-gebruik.

🧩 Voor wie is het

  • Ontwikkelaars van plugins en mods die toegang op protocolniveau nodig hebben (packets verzenden, simuleren of aanpassen).
  • Serverbeheerders die PacketEvents installeren als dependency voor plugins die packetinterceptie nodig hebben.

🏗️ Voorbeeldtoepassingen

  • Een plugin registreert een packet listener en annuleert een specifieke inkomende packet om standaardverwerking te voorkomen.
  • Een mod stuurt synthetische packets naar een client om aangepaste visuele effecten of UI te maken zonder server-side entitywijzigingen.
  • Een proxy-plugin verwerkt login/handshake-packets voor aangepaste authenticatiestromen.

⚙️ Installatie

📥 Setup (serverbeheerder)

  • Download de officiële plugin-JAR en plaats die in de plugins/-map van de server/proxy (of een vergelijkbare map).
  • Start de server/proxy opnieuw op en controleer de logs om te bevestigen dat PacketEvents correct is geladen.

🛠️ Voor ontwikkelaars (build-setup)

PacketEvents wordt geleverd als platform-specifieke modules. De documentatie toont Maven/Gradle-voorbeelden; de bibliotheek is bedoeld om toe te voegen met de scope provided/compileOnly. In de docs wordt een placeholder gebruikt voor de modulenaam; vervang die door de doelplatform-module (bijvoorbeeld spigot, velocity, bungeecord, fabric, sponge) wanneer je een dependency toevoegt.

Voorbeeld (Gradle-snippet uit de officiële docs):

// 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")

Roep de lifecycle-methoden van de bibliotheek aan vanuit je plugin/mod (load -> init) en beëindig deze wanneer je plugin wordt uitgeschakeld.

🧠 Technische notities

  • Officieel beschikbare modules zijn onder andere Spigot, Velocity, BungeeCord, Fabric en Sponge.
  • Het project vermeldt dat de Spigot-module is ontworpen om te werken op veelgebruikte forks zoals Paper, Purpur en Folia, en dat de BungeeCord-module bedoeld is voor Waterfall.
  • Het project wordt gepubliceerd met source, releases en Javadocs; het is gelicentieerd onder GPL-3.0.
  • De bibliotheek is bedoeld om met de scope provided/compileOnly aan plugin-builds te worden toegevoegd wanneer bundling niet gewenst is; bundling-instructies zijn gedocumenteerd voor gevallen waarin een plugin PacketEvents in zijn distributie opneemt.

🤝 Wanneer deze plugin nuttig is

Als je project directe controle over het Minecraft protocol nodig heeft — voor aangepaste authenticatie, packet-gebaseerde effecten, proxy-afhandeling of low-level integraties — biedt PacketEvents een cross-platform API en lifecyclebeheer, zodat je die functies kunt bouwen zonder protocolafhandeling per server- of proxy-implementatie opnieuw te hoeven schrijven.

Servers met plugin packetevents

De pagina van plugin packetevents toont servers waar monitoring deze plugin heeft gevonden, het gebruikte platform en de versie.

Een plugin kan commando's, economie, beveiliging, toegangsrechten, minigames, integraties en andere mechanieken toevoegen. De werkelijke rol van packetevents hangt af van de serverinstellingen.

Data wordt automatisch gegenereerd vanuit technische serverreacties. Als een server de pluginlijst privé houdt, kan het zijn dat de server packetevents gebruikt maar niet in dit gedeelte verschijnt.

Gebruik de lijst van servers met packetevents om projecten te vergelijken, ondersteunde versies te bekijken of voorbeelden van plugingebruik op publieke servers te vinden.