Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Implement Forge protocol handshake support #3869
Adds initial support for the Forge handshake protocol, as documented on http://wiki.vg/Minecraft_Forge_Handshake
Includes a Lua API to allow plugins to register as server-side Forge mods, which are included in the server list ping and ModList packet in the handshake exchanged with Forge clients.
No support for adding new game content in this pull request, but this lays the groundwork, and even without it currently allows server plugins to be written to hook the login handshake to require or deny specific client mods (or Forge itself). Example/test plugin: https://github.com/satoshinm/SampleForgeMod.lua/blob/master/main.lua
So many versions.. not sure how to best handle changes from unmerged branches, but if #3908 (1.12.1) is merged first, then this PR should be updated to include this change: satoshinm/CuberiteForge@5c95c2a. I merged the two branches together and tested with this plugin change: satoshinm/SampleForgeMod.lua@e6a1ea8 and it showed up correctly on 1.12.1: