What ProtocolLib works with.
| Platform | Java Edition |
|---|---|
| Loaders | Bukkit, Paper, Spigot |
| Minecraft versions | 1.8, 1.12.2, 1.16.5, 1.18.2, 1.20.1, 1.21.8, 26.1, 26.2 |
ProtocolLib is a packet library for Java Edition servers running Paper, Spigot, or Bukkit. It hooks into Minecraft's network protocol so other plugins can read, modify, or cancel the packets a server sends and receives, instead of reaching into obfuscated internal server classes directly. Most server owners never interact with ProtocolLib on its own. They install it because another plugin they actually want to use lists it as a required or optional dependency.
What Needs ProtocolLib and Why
Reading or sending raw packets is one of the few things the standard Bukkit API does not expose. Plugins that need it would otherwise have to hard code against Minecraft's internal server classes, which change shape on almost every update and break the moment a new version ships. ProtocolLib solves that with a stable, reflection-based API, so plugin developers write against ProtocolLib once instead of chasing internal class renames themselves.
- Cosmetic disguises that change how a player or entity appears to everyone else on the server.
- Fake holograms and floating text built from packets rather than real, tracked entities.
- Virtual item displays and previews that render only for the player looking at them.
- Custom NPCs, GUIs, and interface elements sent directly over the network instead of through vanilla inventory screens.
QuickShop-Hikari is a concrete example already in this catalogue: its virtual display item feature is built on ProtocolLib or the newer PacketEvents library, either one supplying the packet access the feature needs. When an install guide for some other plugin tells you to grab ProtocolLib first, this packet-hooking role is almost always why.
Minecraft Version Compatibility
ProtocolLib ships through two channels with different version coverage. The stable SpigotMC release, currently version 5.4.0, covers Minecraft 1.21.4 through 1.21.8. The rolling dev-build channel on GitHub moves faster: its maintainer marks it supported through Minecraft 26.2 as new drops ship, well ahead of the next stable tag. When a plugin you rely on needs a newer server version than the current stable release covers, the dev build is the update path the maintainer points to, not a separate fork or third-party patch.
Installing ProtocolLib
Installing ProtocolLib works like any other plugin: download the jar and drop it into the server's plugins folder, then restart. Paper servers use the default ProtocolLib.jar build. Spigot and plain Bukkit servers need the separate ProtocolLib-Spigot.jar listed alongside it on the SpigotMC resource page. Most visitors reach this page because a different plugin, not ProtocolLib itself, told them it was required.
ProtocolLib in Plugin Development
For developers, ProtocolLib exposes an event-driven listener API modeled after Bukkit's own event system, along with index-based structure modifiers for reading and writing packet fields without touching Minecraft's obfuscated classes directly. The video below walks through wiring a plugin up to ProtocolLib and intercepting packets in practice.
Working with packets and ProtocolLib in plugin development
Questions about ProtocolLib.
5 questions
What does ProtocolLib actually do?
ProtocolLib hooks into the packets Minecraft sends between server and client, giving other plugins a structured way to read, modify, or cancel that data instead of relying on obfuscated internal server classes. It is a library other plugins depend on rather than a feature you interact with directly, so most players never notice ProtocolLib on its own.
Is ProtocolLib safe to use on a multiplayer server?
ProtocolLib is open source under the GPL-2.0 license, has been maintained since 2014, and is one of the longest-running libraries in the Bukkit and Paper plugin ecosystem. It only does what a dependent plugin asks it to do, so the behavior you actually notice comes from whichever plugin is using it, not from ProtocolLib as a library.
Does ProtocolLib need configuring?
No. ProtocolLib works immediately after being dropped into the plugins folder and the server is restarted. Its generated config only covers an update notifier and an optional version override, and neither setting needs to be touched for normal use.
A plugin says ProtocolLib is missing or outdated. What do I do?
Download the current stable release from the SpigotMC resource page and confirm you grabbed the matching jar for Paper or for Spigot. If the plugin needs a Minecraft version newer than the current stable release covers, check the dev-build channel on GitHub, which tracks new Minecraft versions faster than the stable release cycle.
Do I need a different download for Paper versus Spigot?
Yes. The default ProtocolLib.jar build targets Paper. Spigot and plain Bukkit servers need the separate ProtocolLib-Spigot.jar published alongside it on the same SpigotMC resource page. Installing the wrong jar for your server software is one of the most common reasons ProtocolLib fails to load correctly.






