A new Minecraft version has been released, and while some players still prefer to stay on the 1.8.9 version, I am sure if you have a server or develop a plugin you start to be flooded by “When will you update” kind of messages. While enjoying the latest features can be fun, the best you can do for your server and players is to wait.
Why you should wait before updating your server to 1.14.
If you ever had the chance to code anything for Minecraft, you’ll notice that the original Minecraft server is obfuscated. Obfuscation simply means that the functions and variables inside of the code have intentionally been replaced from their meaningful names into unreadable garbage. This is because the company wants to protect their intellectual property from theft. If you could read the code, you may as well easily copy and paste it into your own software.
While obfuscation is a common practice in the software world, Bukkit/Spigot builds upon the original Minecraft server and have to deal with that in a variety of uneasy ways.
Take the following for an example. Imagine there is a function “loadChunk(x, y)” in the original Minecraft server that will simply load the chunk at the given coordinates X and Y.
However, the Minecraft server released to the public (the one Bukkit/Spigot builds upon) has the function called simply “a(a,b)”. Spigot developers need to figure out what the name actually does, and connect it to the Bukkit/Spigot API library so you can call the method “loadChunk” with confidence and so that it never gets renamed in the API.
On every Minecraft update, these random names get changed. Imagine this: the method “loadChunk” was called “a”, and the method “deleteChunk” was “b” in Minecraft 1.13, both taking the same parameters X and Y. When Minecraft 1.14 came out, the names have switch and so calling “a” will actually remove the chunk! If the Spigot developers won’t notice and reconnect their API appropriately, your data will be corrupted forever. Due to the saving changes between MC versions it is oftentimes impossible to revert back once your world has been converted, and so without backups your server would slowly end up without your the entire map.
Obviously, that’s an extreme case scenario and bugs like this have been spotted during the early development already. There are however, tens of thousands of other names that may have been changed and while the code still functions they now do something else. On top of it, we have a number of vanilla Minecraft bugs that are simply caused by the company itself and have nothing to do with Bukkit or Spigot.
That’s why it’s extremely important to be patient until early adopters find those bugs, report them and get them fixed.
Lessons learned – don’t be an early adopter. In the perfect world, everyone would be patient and thus it would take much longer to solve these bugs since there would be no-one to test them, however most people are rushing things up and already using the early Spigot 1.14 versions and so you don’t have to. If you really care about your players and want to prevent issues, wait until the 1.14.1 version is out. I personally would not update until at least 21 days had passed from the first 1.14.1 builds.
If you’re interested in building unique Minecraft servers that last for years, you need custom features and understand how everything works together. No plugins on the market can deliver it because they are hardcoded and everyone else can use it, so there’s no differentiation.
At MineAcademy, my mission is to teach others how to build and grow unique servers with custom features on demand using proven methods and easy to understand training programs. We also do live Q&A calls and together we’ll understand the world of Minecraft like no-one else so you’re miles ahead of your competitor and your players love your server. Click here to get started.