Minecraft Forge Handshake: Difference between revisions
imported>Pokechu22 (Start trying to document the forge protocol -- include the Server List Ping changes) |
imported>Pokechu22 (Start trying to document the forge protocol -- include the Server List Ping changes) |
(No difference)
| |
Revision as of 17:39, 26 October 2015
|
Work in progress!
|
This page will document the changes made in the Minecraft Forge protocol.
Largely based on my own attempts to document the protocol and allow connection to forge servers here.
Changes to Server List Ping
When forge is installed, the Server List Ping changes with an additional modinfo. Example:
<syntaxhighlight lang="javascript"> {
"description": "A Minecraft Server",
"players": {
"max": 20,
"online": 0
},
"version": {
"name": "1.8",
"protocol": 47
},
"modinfo": {
"type": "FML",
"modList": [
{
"modid": "mcp",
"version": "9.05"
},
{
"modid": "FML",
"version": "8.0.99.99"
},
{
"modid": "Forge",
"version": "11.14.3.1512"
},
{
"modid": "rpcraft",
"version": "Beta 1.3 - 1.8.0"
}
]
}
} </syntaxhighlight>
So, to test whether forge is installed, look for the modinfo key and then a type of FML
The modList contains each installed mod's version and ID.
The modlist modList has a capital 'L', unlike any other key in the ping result!
This is injected in ServerStatusResponse by calling FMLNetworkHandler.enhanceStatusQuery().