-
Bug
-
Resolution: Duplicate
-
None
-
1.20.2
-
None
-
Unconfirmed
-
(Unassigned)
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.
- duplicates
-
MC-266638 1.20.2 corrupts servers
- Resolved