Minecraft plugin ProtocolLib

ProtocolLib is a Minecraft plugin library that gives other plugins direct read/write access to the network protocol, enabling packet interception and modification.

Find a server with ProtocolLib

178 servers reported ProtocolLib

All servers with ProtocolLib

About ProtocolLib

🔌 About ProtocolLib

ProtocolLib is a Minecraft plugin library that exposes the network protocol to other plugins. It provides an API for reading, modifying, cancelling, and sending raw packets between server and client without requiring plugins to depend on obfuscated server internals.

🎯 Purpose

ProtocolLib exists to make packet-level work reliable and maintainable for plugin developers. It centralizes packet access behind a stable API so multiple plugins can inspect and change packet traffic without directly hooking the server's internal classes.

⚙️ Features

  • Event-style API for intercepting incoming and outgoing packets.
  • Read/write accessors for common packet fields (strings, ints, vectors, etc.).
  • Ability to cancel packets or modify their contents before they reach their destination.
  • Utility to construct and send packets server-side.
  • Hides obfuscated server classes behind an index-based read/write system to improve cross-version stability.
  • Distributed as a server-side jar and consumable as a compile-time dependency for plugin builds.

🧩 Who It Is For

  • Plugin developers who need packet-level control (cosmetics, disguises, custom client effects, network utilities).
  • Server operators who run plugins that depend on direct protocol access.

🏗️ Example Use Cases

  • Listening for chat packets to implement a server-side censor before messages are applied.
  • Sending a crafted explosion packet to a player to create a client-side effect without changing the world state.
  • Implementing disguises, custom animations, or other client-only visuals that require packet manipulation.

⌨️ Commands

No user-facing commands are provided by ProtocolLib itself; it is a developer library rather than a feature plugin.

⚙️ Installation

📥 Setup

  • Download the official ProtocolLib jar and place it into your server's plugins/ directory.
  • Restart the server and check the server console to confirm the plugin loads without errors.
  • When developing a plugin that uses ProtocolLib, add ProtocolLib as a compile-time dependency and declare it (or soft-depend) in your plugin manifest.

📦 Dependencies

  • ProtocolLib does not require other server plugins to function; it is intended to be used by other plugins as a library.

🧾 Configuration

  • ProtocolLib creates its own configuration files on first run. Plugin-specific configuration is handled by the plugins that use ProtocolLib.

🧠 Technical Notes

  • ProtocolLib provides a ProtocolManager entry point to register packet listeners and to send packets programmatically.
  • The project is distributed under a GPL-2.0 license.
  • Maven/Gradle coordinates are published for use as a compile-time dependency.
  • ProtocolLib is maintained with compatibility considerations for a wide range of Minecraft server versions; it is primarily targeted at Bukkit-derived server software.

🤝 When This Plugin Is Useful

If your project needs to inspect or alter the raw Minecraft protocol (for client-side effects, custom visuals, or network-level hooks), ProtocolLib centralizes and stabilizes that work so multiple plugins can safely interact with packets.

Comments

No comments yet

Be the first to comment.

For server admins

Authors
dmulloy2, aadnk
License
GPL-2.0
Supported platforms
Bukkit, Spigot, Paper
Supported versions
1.8–1.21

Links

What servers report

Server platforms

  • Paper123
  • Purpur23
  • CraftBukkit12
  • Arclight4
  • Cauldron4

Plugin versions

  • 5.4.084
  • 5.5.054
  • 5.4.18
  • 5.3.07
  • 4.8.04

Counts come from servers that list their plugins when MSHQ checks them. Many servers hide this list, so real usage is higher.