Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Creators
Details
🏛️ ProtocolExtension extends server possibilities by adding more packets* to the game.
📦 Setup (only for server owners)
ProtocolExtension can only be installed as a client on Fabric, and as a server on Paper (and forks). I may add more compatibility in the future but it is not considered currently. The project JAR is both for the server, and the client.
- Download the ProtocolExtension latest JAR file
- Download the PacketEvents latest JAR file
- Upload both JARs to the server `plugins` folder
Of course, all players also need to install the ProtocolExtension JAR file, but it doesn't have any dependencies on the client.
Older versions of ProtocolExtension are not supported. If you need an update for an older Minecraft version, please request it on the GitHub Issues page - if it's not too different from the latest (in terms of code), I might make a version for it.
🪶 Packets
-
[Serverbound]
- Activate (internal) - sent first to notify the server of the ProtocolExtension support
- KeyPressedC2S - received when the client presses a non-special key in-game
- MouseMoveC2S - received when the client moves the mouse in a screen
-
[Clientbound]
- Activate (internal) - sent back to notify the client of the ProtocolExtension support
- ToggleHUDS2C - sent to click F1 on behalf of the client**
- HUDPutElementS2C - adds an element with a given id, position and text to the in-game HUD
- HUDDeleteElementS2C - deletes an element with a given id from the ingame HUD
- HUDClearS2C - clears all elements from the ingame HUD
- HUDSettingHotbarS2C - toggles hotbar visibility on the ingame HUD
- MoveToggleS2C - toggles movement ticking in the client logic
- ServerCommandS2C - sets the player's sneaking and sprinting modes
- SetWindowTitleS2C - appends a text literal to the game window title
🛡️ Security
ProtocolExtension treats your device safety seriously, and minimizes the provided data as much as possible. The server cannot:
- evaluate raw code on your client
- log your keyboard or mouse states when used outside of the game
- view any HUD elements not created by it
All HUD elements the server makes are automatically removed after you leave the server.
📝 API
ProtocolExtension has an API to send the custom packets to the clients. A documentation will be available for it soon. To install it, you need to embed the ProtocolExtension jar in your maven.pom/build.gradle as compile-only; more info here.


