跳到正文

ProtocolExtension

作者:Olafcio1

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

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

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

🏳‍🌈 Happy Pride Month!
–>

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. ProtocolExtension will be undergoing a rewrite onto Avoid Framework. Don’t worry, this will bring even more Minecraft versions support!


🪶 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

常见问题

ProtocolExtension 支持哪些 Minecraft 版本?

ProtocolExtension 支持 Minecraft Java 版 1.20.6–26.2,共 17 个版本,可用的加载器:Fabric / Paper。下载时注意选择和你游戏版本一致的文件。

ProtocolExtension 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Paper,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

Olafcio1 的其他作品

查看全部 →