Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server says: "Client disconnected with reason: Internal Exception: io.netty.handler.codec.DecoderException: Not a compound tag: 10b" #1866

Open
ZeroMapleQvQ opened this issue Jan 25, 2024 · 3 comments

Comments

@ZeroMapleQvQ
Copy link

When I using Minecraft 1.20.2 with carpet-1.4.121 join a server with 1.20.1 by viafabric. I can not join the server and it says:"Client disconnected with reason: Internal Exception: io.netty.handler.codec.DecoderException: Not a compound tag: 10b"

If i delete carpet mod, it works.

Perhaps the carpet on the client is higher than the version on the server, which leads to this problem? I'm not sure.

My log is no problem. It only says: "[00:29:51] [Render thread/WARN]: Client disconnected with reason: Internal Exception: io.netty.handler.codec.DecoderException: Not a compound tag: 10b"

@sakura-ryoko
Copy link

FYI minecraft 1.20.1 and 1.20.2 the networking API is different, so naturally viafabric might not work, due to the protocol being different.

@ZeroMapleQvQ
Copy link
Author

FYI minecraft 1.20.1 and 1.20.2 the networking API is different, so naturally viafabric might not work, due to the protocol being different.仅供参考,minecraft 1.20.1 和 1.20.2 的网络 API 不同,因此由于协议不同,viafabric 自然可能无法工作。

Thanks for your reply.

But I can join the servers without carpet and the servers more than 1.20.2.
So I don't think this is caused by differences of networking API.

@altrisi
Copy link
Collaborator

altrisi commented Jan 26, 2024

There is a difference in the main Carpet packet between those versions, which I think is what's causing this issue. ViaFabric doesn't know about Carpet so it can't translate it.

As a quick workaround you can run without Carpet on the client, or set the rule superSecretSetting to true on the server (one of the things it does is disables all Carpet networking, which means it won't sync tick freeze, some rules that work a bit better when client knows, or scarpet shapes/text).

The "best" solution if you're not going to connect to newer servers (or you choose the carpet version on them to this) could be to apply the patch from #1837 on top of the 1.20.2 branch, that should still be compatible (though hasn't been very tested). It tries to get the same format as the older versions, so you'd get full features on old servers (or servers with that patch).

Or use the same minecraft version as the server of course.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants