`DecoderException` when connecting 1.20.1 client (Quilt, ViaFabricPlus + ViaBackwards) to 1.20.2 server (Fabric, no Via*)
'/viaversion dump' Output
https://dump.viaversion.com/d386e7ac9d2745d4b139dd5d5c9f4534ee94e93cc9a029b86de7644137f25290
Console Error
Internal Exception: io.netty.handler.codec.DecoderException: java.io.IOException: Packet 0/4 (class_2616) was larger than I expected, found 2 bytes extra whilst reading packet 4
Bug Description
Joining a 1.20.2 Fabric server (no Via*) with a 1.20.1 Quilt client (ViaFabricPlus 2.9.5 + ViaBackwards 4.9.1–4.9.2-SNAPSHOT+95, or ViaFabricPlus-provided ViaBackwards) throws an io.netty.handler.codec.DecoderException.
Steps to Reproduce
- Join a 1.20.2 server with a 1.20.1 Quilt client, with ViaFabricPlus 2.9.5 and ViaBackwards 4.9.1–4.9.2 installed (or ViaFabricPlus-provided ViaBackwards).
- An
io.netty.handler.codec.DecoderExceptionis thrown.
Expected Behavior
The client joins the server.
Additional Server Info
No response
Checklist
- [ ] Via plugins are only running on EITHER the backend servers (e.g. Paper) OR the proxy (e.g. BungeeCord), not on both.
- [X] I have included a ViaVersion dump.
- [X] If applicable, I have included a paste (not a screenshot) of the error.
- [x] I have tried a build from https://ci.viaversion.com/ and the issue still persists.
https://dump.viaversion.com/d386e7ac9d2745d4b139dd5d5c9f4534ee94e93cc9a029b86de7644137f25290
Either caused by quilt directly or a third-party mod from the fabric server, please perform a binary search to see what causes viafabricplus to suddenly fail.
Close as 1.20.1 is not supported by Via mods anymore
Reopen this, closing issues like these due to lack of support makes it permanently impossible to make connections between affected versions. While legacy versions don't need to be maintained fully, they should be in a fundamentally functioning state before EOL.
Due to viafabricplus making frequent changes to it's internal classes, it makes it difficult to backport to 1.20.1 without also including viabackwards support (which isn't part of VFP's goal) as instead it's only focusing on latest version similar to multiconnect,
and second; Quilt basically has no 1.20.4 support of any kind and it's development has sadly slowed down by a ton meaning there is essentially no reason to port to it - therefore this closure is valid.
This issue occurs with ViaFabric as well. It is not a ViaFabricPlus-specific issue.
it's because viafabric does not support older minor versions of any kind, but latest minor versions are accepted which means you can use 1.19.4 with viabackwards with no problem.
Why not?
Why not?
Similar answer; It's because of internal class changes and requires backporting. (And viafabric at the moment has no LTS plans whatsoever)
EDIT: If you do want to require a workaround, Use VIAaaS/ViaProxy.
The problem isn't with LTS, it's that it fundamentally does not work in its current state. You are ending support for a version that never worked, and by dismissing the issue due to difficulty of backporting or refusal to make even one change that might fix this issue on an older version, you are ensuring that it never will.
@Makonede Does this issue also appear when using the ViaProxy (https://github.com/ViaVersion/ViaProxy)? I feel like this is an issue of Fabric's/Quilt's Networking API sending data which Via can't handle / doesn't translate properly, which we generally don't care about (as ViaVersion's job is to translate the Minecraft protocol and not third-party protocol related stuff)
No, but why would it only work with ViaProxy? What if I wanted to mix into network code on the client, which ViaProxy doesn't seem to support?
Because ViaFabricPlus is mixing into the client network code, while ViaProxy is external. Which mods do you have installed on both server and client? We have a ViaFabricPlus addon to fix issues like that in common mods: https://github.com/ViaVersionAddons/ViaVanillaPlus
What I want to do is add my own mixins to the client network code. ViaProxy does not support this, and ViaFabric/Plus have this issue, which makes it impossible to do this at all with these versions.