Minecraft Servers HQ

Minecraft plugin ProtocolLib

Informatie over ProtocolLib en bevestigde servers

🔌 Over ProtocolLib

ProtocolLib is een Minecraft-pluginbibliotheek die het netwerkprotocol blootstelt aan andere plugins. Het biedt een API om ruwe pakketten tussen server en client te lezen, te wijzigen, te annuleren en te verzenden, zonder dat plugins afhankelijk hoeven te zijn van geobfusceerde interne serveronderdelen.

🎯 Doel

ProtocolLib bestaat om werk op pakketniveau betrouwbaar en onderhoudbaar te maken voor pluginontwikkelaars. Het centraliseert pakkettoegang achter een stabiele API, zodat meerdere plugins pakketverkeer kunnen inspecteren en aanpassen zonder rechtstreeks in te haken op de interne klassen van de server.

⚙️ Functies

  • Event-achtige API om inkomende en uitgaande pakketten te onderscheppen.
  • Read/write-accessors voor gangbare pakketvelden (strings, ints, vectors, enz.).
  • Mogelijkheid om pakketten te annuleren of de inhoud aan te passen voordat ze hun bestemming bereiken.
  • Hulpmiddel om pakketten server-side te maken en te verzenden.
  • Verbergt geobfusceerde serverklassen achter een op indexen gebaseerd read/write-systeem om de stabiliteit tussen versies te verbeteren.
  • Wordt geleverd als een server-side jar en kan als compile-time dependency worden gebruikt bij het bouwen van plugins.

🧩 Voor wie is het bedoeld

  • Pluginontwikkelaars die controle op pakketniveau nodig hebben (cosmetics, disguises, aangepaste client-effecten, netwerkhulpmiddelen).
  • Serverbeheerders die plugins draaien die afhankelijk zijn van directe protocoltoegang.

🏗️ Voorbeeldtoepassingen

  • Chatpakketten volgen om een server-side censuur toe te passen voordat berichten worden verwerkt.
  • Een samengesteld explosiepakket naar een speler sturen om een client-side effect te maken zonder de wereldtoestand te wijzigen.
  • Disguises, aangepaste animaties of andere visuals alleen voor de client implementeren die pakketmanipulatie vereisen.

⌨️ Commando's

ProtocolLib zelf biedt geen commando's voor eindgebruikers; het is een ontwikkelaarsbibliotheek in plaats van een feature-plugin.

⚙️ Installatie

📥 Setup

  • Download de officiële ProtocolLib-jar en plaats deze in de map plugins/ van je server.
  • Herstart de server en controleer de serverconsole om te bevestigen dat de plugin zonder fouten laadt.
  • Voeg bij het ontwikkelen van een plugin die ProtocolLib gebruikt ProtocolLib toe als compile-time dependency en vermeld het in je pluginmanifest als dependency (of soft-depend).

📦 Afhankelijkheden

  • ProtocolLib heeft geen andere serverplugins nodig om te functioneren; het is bedoeld om door andere plugins als bibliotheek te worden gebruikt.

🧾 Configuratie

  • ProtocolLib maakt bij de eerste start zijn eigen configuratiebestanden aan. De configuratie van specifieke plugins wordt afgehandeld door de plugins die ProtocolLib gebruiken.

🧠 Technische notities

  • ProtocolLib biedt een ProtocolManager-entry point om packetlisteners te registreren en pakketten programmatisch te verzenden.
  • Het project wordt gedistribueerd onder een GPL-2.0-licentie.
  • Maven/Gradle-coördinaten zijn gepubliceerd om te gebruiken als compile-time dependency.
  • ProtocolLib wordt onderhouden met compatibiliteit voor een brede reeks Minecraft-serverversies; het is vooral gericht op serversoftware die van Bukkit is afgeleid.

🤝 Wanneer deze plugin nuttig is

Als je project de ruwe Minecraft-protocolgegevens moet inspecteren of aanpassen (voor client-side effecten, aangepaste visuals of netwerkhooks), centraliseert en stabiliseert ProtocolLib dat werk zodat meerdere plugins veilig met pakketten kunnen werken.

Servers met plugin ProtocolLib

De pagina van plugin ProtocolLib 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 ProtocolLib 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 ProtocolLib gebruikt maar niet in dit gedeelte verschijnt.

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