multiconnect

multiconnect

108k Downloads

Multiconnect breaks the communication between carpet between the client and server

Sanluli36li opened this issue ยท 6 comments

commented

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

commented

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.

commented

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

commented

Oh I see

commented

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

commented

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.

commented

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.