Multiconnect breaks the communication between carpet between the client and server
Sanluli36li opened this issue ยท 6 comments
Test on my server
Velocity Proxy with ViaVersion 4.0.0
Minecraft 1.16.2 with Carpet 1.16.5-1.4.40+v210608 and Servux 1.16.4-0.1.6
The protocol version of the ping server reply is the same as the client version
1.16.5 client with multiconnect 1.3.36
client | multiconnect convert | server convert | server | result |
---|---|---|---|---|
1.16.5 | 1.16.2 | ViaVersion 1.16.2->1.16.2 | 1.16.2 | Break |
1.16.5 | 1.16.2 | without ViaVersion | 1.16.2 | Break |
1.16.5 | Auto | ViaVersion 1.16.5->1.16.2 | 1.16.2 | Normally |
1.16.5 | 1.16.5 | ViaVersion 1.16.5->1.16.2 | 1.16.2 | Normally |
1.16.5 | 1.16.5 | without ViaVersion | 1.16.5 | Normally |
1.16.5 | without MultiConnect | ViaVersion 1.16.5->1.16.2 | 1.16.2 | Normally |
The problem occurs only when MultiConnect tries to convert to an inconsistent version of the client, which is normal
1.17 client with multiconnect 1.4.2
client | multiconnect convert | server convert | server | result |
---|---|---|---|---|
1.17 | 1.16.2 | ViaVersion 1.16.2->1.16.2 | 1.16.2 | Break |
1.17 | 1.16.2 | without ViaVersion | 1.16.2 | Break |
1.17 | Auto | ViaVersion 1.17->1.16.2 | 1.16.2 | Break |
1.17 | 1.17 | ViaVersion 1.17->1.16.2 | 1.16.2 | Break |
1.17 | 1.17 | without ViaVersion | 1.17 | Break |
1.17 | without MultiConnect | ViaVersion 1.17->1.16.2 | 1.16.2 | Normally |
But in 1.17, as long as the client has multiconnect installed, the mod communite will be broken
And in the client without multiconnect, it normally anyway
Works as intended. Mods intending to communicate with servers on different versions via custom channels should use the multiconnect API. It's unsafe to let custom messages blindly pass through untranslated.
But in the same version of the server without any conversion, the packet of carpet and servux are still blocked by multiconnect. I think this is unreasonable
I can now be sure that in 1.17, in addition to the carpet client and server, the interaction between servux and minihud will also be broken
If I may add, I've been able to use creativeNoClip and the such when playing on a 1.16.5 server with a 1.17 client. However, it doesn't work on a 1.17 server.
I noticed that the backend of the client will still output a Joined carpet server with matching carpet version
, which means that the data sent by the server to the client can be received normally, but the reply channel of the client is blocked
This will cause the carpet server to send out the hi
message without receiving the client's hello
reply. So the carpet thinks that the client does not have the carpet installed, so it no longer tries to communicate with the client.
The register message sent by minihud through malilib is not received by the server, so the server's servux will not send any data to the client.