ProtocolExtension

Quick rating

Community listing page, reviews here may not be monitored by the author.

ProtocolExtension

By Olafcio1Owner

No reviews yet

Adds more packets to extend server possibilities! [#killaislop]

Mod Loaders
Minecraft
26.2

About

Description

🏛️ ProtocolExtension extends server possibilities by adding more packets* to the game.

Note: If you're using my mods, please do not buy Minecraft.


📦 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.

  1. Download the ProtocolExtension latest JAR file
  2. Download the PacketEvents latest JAR file
  3. Upload both JARs to the server `plugins` folder

Of course, all players also need to install the ProtocolExtension JAR file (to be able to have the custom packets work), but it doesn't have any dependencies on the client.

(You can make a plugin that kicks players for not using this as a mod, however it's optional to do so - because most plugins I make use this just as a QoL thing, not an essential part of any process)

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 ChatOpenedC2SPayload - received when the client opens the chat screen ChatClosedC2SPayload - received when the client closes the chat 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 SetPerspectiveS2C - sets the client's perspective ToggleRenderingS2C - toggles whether the game renders for the client ClearChatS2CPayload - clears the client's chat

🛡️ 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.

* it actually uses CustomPayload packets
** toggle HUD visibility