mojira.dev
MC-266643

Minecraft Packet Protocol Issues

First thing first I want to introduce myself. My name is Valerii and I am a java bukkit/spigot/paper plugin developer. I have been doing it for above 2 years. I have had a lot of expirience with development and got a lot of annoyments. But some things annoying me(and not only me) so much that I am(or already did) writing this issue.

Terminoly:
Packet - some bytes in specific order those are transferred through TCP connection between client and server. Read more about it here https://wiki.vg/Protocol .
Packet id - an integer that prepend of packet content.
State(protocol meaning) - both client and server have same state of connection, for instance: handshaking, login, play. In 1.20.2 a new state called "Configuration state" was added.

Inner server - server inside proxy server. When players connect to proxy server, it transfers they in an inner server. And if proxy has decided to change players' server it transfers they in another inner server. I suppose I could clearly explained what is that.

Issues, there we go:
Packet id order - it changes from version to version and somethimes even in minor versions it changes. It put a lot of problems to support some packet stuff on different versions.
NBT root tag reading - since 1.20.2 the protocol nbt has changed and this cause a lot of problems with supporting 1.20.2 and above. 
Unnecessary resource pack reloadings - It's affects only proxy servers and clients since 1.20.2. When you change an inner sever client's state changes to configuration and client start resourcepack reloading even if you have not changed any resource pack at all. I provided a gif in attachment.
Armor stand riding origin - in 1.20.2 position of armor stand's origin with marker(without hitbox) changed. My fellows complain about that change a lot, because they have to create 2 versions of a single model for supporting both 1.20.2 and 1.20.1 as well as previous versions. I provided  images that describes this problem more clearly.

Preanswering on future questions or arguments:
Q: It is an inner code and inner stuff and you are not supposed to deal with those.
A: Yes, it is an inner code and stuff, but I have to use it, because I(and not only me) have not another way to solve problems. For instance: scoreboards(right frame with numbers, usually used to print some server info) are extremely laggy and only way to avoid it is using packets. NPCs(like player entity, but not real player) - usually uses packets too. If  mojang java minecraft developers would put a little bit of care about java minecraft plugin/mod developers then developers could produce more content for players those play with mods and/or on modified servers like Hypixel, Mccisland, Origin Realm, etc.

Q: It isn't necessary. Mojang devs have a lot of things to do and bla bla bla.
A: It is necessary. Because mod/server players are still a huge amount of players and supporting java(not data pack) devs would give those players a bit more content and less baggy. Those changes(amor stand's origin, protocol nbt change, resourcepack reloading) seem not necessary and you already did those changes.

Q: It is suggestions. Closing issue…
A: It is issues, because all those protocol stuff are problems caused by many reasons.

Linked issues

Attachments

Comments 3

⚠️ Please do not mark Unreleased Versions as affected. You don't have access to them yet.

-- I am a bot. This action was performed automatically! If you think it was incorrect, please notify us on Discord or Reddit

As mentioned in MC-266638, the resource pack reloading is tracked in MC-265673. Please create separate tickets for each issue that was not previously reported.

Thank you for your report!
We're tracking this issue in MC-266638, so this ticket is being resolved and linked as a duplicate.

That ticket has already been resolved as invalid. Please take a look at the parent ticket (MC-266638) and see if an explanation is provided there in the description of the ticket or in the comments for why this issue is invalid.

If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.

Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki

valerii_dev_ua

(Unassigned)

Unconfirmed

(Unassigned)

1.20.2

Retrieved