I've reported this many times previewly, but it's really getting annoying that whoever is making the decisions for new releases thinks that its a good thing to break backward compatibility every single release. This is crazy to think that no one has a clue on how to allow a 1.11.2 client to play on a 1.12 server or a 1.12 client to play on a 1.11.2 server at a bare minimum!
There is no technical reason for this if we're using Java (and I know we are). If I'm using a Minecraft Client of 1.11.2 and I want to play on my 1.11.2 servers and test out my 1.12 server I should be able to do that without upgrading my client to the same assuming I want to test the latest features. That also means, once I do upgrade the client, I can no longer connect to the lower versioned servers for the same reason. This forces the entire planet earth (literally given the number of users and server owners) to have to upgrade everything. This is just wrong in so many ways. I've been in this industry for over 35 years and saddened, that the shear volume of users you have, you're not listening to issues like this.
What does it mean for me? I'm a server owner (7 to be exact) and all my worlds are running 1.11.2 under a BungeeCord Server (proxy) and all users get logged in to one server (the hub or lobby as some say). That's a 1.11.2 server, but I have a Testing Server that I test out plugins for the Spigot community and Spigot Servers and that's 1.12. Because it's 1.12, my 1.11.2 client can't connect to it. And if I change my client to 1.12, I still can't connect to my Testing Server running 1.12 because the bungee network still has 1.11.2 servers and they are outdated!!!! So I'm being forced to remove the testing server out of the bungee network and test it independently which is a pain b/c that's doesn't help with the infrastructure I'm using or have the option to validate it will work once I upgrade the worlds behind the proxy server (Bungee).
Now I know all you're going to do is close this as an enhancement request or known issue or blow it off because no one wants to deal with it, but come on folks, this is 2017 and JAVA SUPPORTS this model. When is Mojang going to do the right thing and think about upgrading servers and the amount of effort everyone has to go through. It's not just about the players - they may pay the bills, but its server owners that allow players to play together anywhere in the world. Thanks for taking the time to read this - assuming you read it all. 🙂 Steve
Comments 2
Thanks for the very quick reply. I respectfully disagree with the counter statement as that itself is invalid. Blocks, Chunks and animations are at the player level, I'm talking about Java and I know for a fact this can be done as I do it every day. It is just that no one cares enough to prioritize backward compatibility for I'm sure many valid reasons like staff, effort cost, support, maintenance, etc. But thanks for your time, I'll post on the other page as suggested. 🙂
Thank you for your report!
However, this issue is Invalid.
You have posted a feature request or a suggestion. This site is for bug reports only.
For suggestions, please visit Minecraft Suggestions on Reddit.
Also, we can't provide support for bungeecord/spigot/whatever.
This isn't the right place to have discussions, but I'll just provide a very brief counterargument: Minecraft isn't designed for that. If a new block is added, older clients just won't have any clue what it is. And in the inverse, newer clients can't connect to older servers, for the same reason (they can have blocks that the server doesn't know about). Now, the second case could theoretically be solved, but equally so, it requires support for older protocols – and that means that if there's a bug in older versions, it has to be worked around each time. And it means that optimizations in, for instance, the chunk format couldn't be made at all - you're locked into one format (or must support encoding all formats, discouraging improvements).
Java has nothing to do with it - you could design a multi-version system in any language, and it'd be generally no more simple or complex. You have to tell the client what it needs, and as-is Minecraft just doesn't support that for its architecture.
The goal is to keep everyone up-to-date, and to keep issues from cropping up where you need to, say, manually handle an older version because it does something wrong in one case (you can't fix bugs in 1.11.2 once you release 1.12 - simply put, you have to deal with them or fix them on the client, which just isn't worth it).
n.b. Not a mojang employee, not responsible for their decisions.
Quick Links:
📓 Issue Guidelines – 💬 Community Support – 📧 Customer Support – 📖 Game Wiki