Hi guys, quick write-up for some small things that have been going on.
- Minigames have been re-enabled on the Event server.
- Old maps have been causing the event server to crash when people were exploring them, and it’s been prettying annoying. This is now fixed as all maps have been re-converted from their 1.12 format to the new 1.13 world format!
If you want the technical solution (and backstory) to how I fixed the old maps, keep reading…
As we moved from 1.12 to 1.13 how blocks get stored in region files changed. Blocks are no longer stored as numerical IDs, but rather now as words. For example, “1” is now “minecraft:stone”. Now, the conversion for this was supposed to be pretty straight-forward, chunks get converted as a player steps into the chunk for the first time prior to conversion. Except, this was causing the server to crash.
So, after months of this happening I was getting pretty frustrated. I tried converting the maps in single player to the new world formats, or using “MinecraftRegionFixer”, but all they did was cause the chunks to completely regenerate to nothing. Up to 25% of the maps were getting regenerated.
Then I found out that Minecraft servers have a –forceUpdate flag (From this link) that can be used to convert worlds, so I tried that using Vanilla. Same problem. Then I found something else that said maps that were generated when running SpigotMC (An extension of Bukkit) had to be updated using SpigotMC. But, this is what we were doing originally, and it was crashing the server…
If your server is/was a Spigot server you will need to use CraftBukkit/Spigot to convert the world. Spigot in 1.12 didn’t set the “LightPopulated” flag, so that vanilla Minecraft will reset those chunks.
The solution was to use SpigotMC and the –forceUpdate flag on all of the old maps since 1.5 (When we started using SpigotMC), and 72 hours later, all the maps are good to go.
This just goes to show how much work Roboto does behind the scenes that most of us never get to hear about. Thanks, Roboto!