Minecraft 1.7 introduces changes to the world generation code that could very likely result in structures (like strongholds and nether fortresses) generated in 1.6 no longer being recognised as valid. As this would mean that special behaviour for structures would stop working as expected (like wither skeletons spawning in nether fortresses, for example), we felt that it was important to give our Server Admins a heads up. Minecraft 1.6.4 introduces a new structure saving feature that should ensure that structures generated before 1.7 continue to be recognised as valid structures after updating. If you don't want to lose your structures from 1.6, you need to update to 1.6.4 first and make sure the structures are saved. What needs to be done If you're planning to continue running your 1.6 world come 1.7 and want to ensure that structures retain their special behaviour as expected, there is an extra step you need to take as part of the update process. Unfortunately, we've received reports that taking this extra step results in a noticeable performance hit so you'll have to decide for yourself what the best action is to take on your server. We've provided some extra useful information to help you make this decision in the "Things to note" section below. Before updating your server from 1.6 to 1.7, you should ensure you update to 1.6.4-R2.0 first and then visit all the structures in the worlds you wish to save. You can do this manually, but it is recommended you use our utility plugin StructureSaver (see below) to streamline this process and make things easier. Manually saving: Download and update to CraftBukkit 1.6.4-R2.0 Run your server and visit every structure you wish to save. Recommended - automated saving: Download and update to CraftBukkit 1.6.4-R2.0 Download and install our StructureSaver utility plugin Run the /save-structures [world] command (see below for detailed information) Remove StructureSaver and restart your server First you'll need to download and update to CraftBukkit 1.6.4-R2.0 Then you'll need to download and install StructureSaver from our GitHub here: https://github.com/Bukkit/StructureSaver/releases/download/v1.2/structuresaver-1.2.jar Once it is enabled, it supports the following commands: /save-structures <worldname> - saves structures in a specific world only /save-structures <worldname> force - saves structures in a specific world only, after removing existing structure data /save-structures - saves all structures in every world /save-structures force - saves all structures in every world after removing existing structure data And has the following permission: structuresaver.save Neglecting to address this ahead of time will result in structures from old worlds no longer being recognised as valid structures come 1.7. Things to note: Performance issues Since releasing the first version of StructureSaver, we've been receiving consistent reports that there is a noticeable decrease in server performance after StructureSaver has saved the structures on the server. To the best of our knowledge, we're certain that this issue isn't caused by StructureSaver itself as the issue continues after the plugin has been removed. Note that this decrease in performance is different from the immediate hit you see right after running StructureSaver (which is why we recommend you remove StructureSaver after you're done using it and restart your server). Run it once, keep a backup The nice thing about StructureSaver is that as long as you have a back up of your world, you're able to run a 1.6.4-R2.0 server with StructureSaver on it and save the structures whenever you want. You also have the option of running it now and backing up the resulting structure files in the 'data' folder inside your world's folder instead. Should you then decide later that you need the structures you saved from 1.6.4-R2.0, you can simply replace the already existing structure data as you please. Pick and choose Once you've run StructureSaver, it is completely up to you what you do with the saved structures. If you feel like saving Mineshafts is not necessary for your server, you can choose to delete the Mineshaft.dat file. Note, however, that it will be recreated by Minecraft whenever a Mineshaft is rediscovered (this applies to all structure types). Here's a list of the files created and what they provide: Mineshaft.dat - Stores the data for Mineshafts, not sure what the special feature is for Mineshaft.dat Fortress.dat - Stores the data for Nether Fortresses, determines where Wither Skeletons and Blazes can spawn Stronghold.dat - Stores the data for Strongholds, determines the location of Strongholds for Ender Eye tracking Temple.dat - Stores the data for Jungle Temples, Desert Temples and Witch Huts, determines where Witches can spawn Village.dat - Stores the data for Villages, not sure what the special feature is for Village.dat FAQs What is the actual problem with structures? As new features are added to Minecraft, sometimes the world generation logic needs to change along with it. Since Minecraft contains several 'structure specific' features, when the world generation logic changes, it could result in older structures no longer being valid. Minecraft 1.7 is one of those updates where the world generation logic has changed, meaning that worlds generated in 1.6 might have structures that are no longer recognised after updating to 1.7. In order to address this problem, Minecraft 1.6.4 introduced the ability to save structures to disk so that Minecraft is able to check for stored structures before trying to dynamically determine where they are. What do you mean by structures? When we say structures we mean areas in the world that Minecraft recognises as being a part of a special structure. This includes nether fortresses, strongholds, mineshafts, temples, witch huts and villages. Does this affect player built buildings? No, this only affects special structures generated and recognised by Minecraft. What does StructureSaver actually do? Simply put: StructureSaver is a utility we've provided that makes saving structures easier by providing a streamlined process to trigger the built in structure saving in Minecraft 1.6.4 and above. In detail: StructureSaver goes through every region file in your world and runs the appropriate structure generation code (without loading any chunks). Once all structures have been generated in your world, the plugin fires off a save to prompt Minecraft to write all the structures to disk. Where are structures saved? Structures saved by Minecraft 1.6.4 and above are stored in the 'data' folder within your world's folder. The possible names for these new files are: Mineshaft.dat Fortress.dat Stronghold.dat Temple.dat Village.dat Why is my server using a lot of resources after running StructureSaver? We believe this might be caused by how structures are handled in Minecraft 1.6.4 and higher. Essentially, once a structure has been saved, it needs to be loaded into memory at all times in order to be accessible and saveable. How do I revert the changes StructureSaver made? As StructureSaver merely triggers the structure saving feature built into Minecraft 1.6.4 and above, you simply need to remove the following files from the 'data' folder within your world's folder: Mineshaft.dat Fortress.dat Stronghold.dat Temple.dat Village.dat Why is this plugin not on BukkitDev? StructureSaver is a utility that is meant to only need to be used once in the transition from Minecraft 1.6.4 to Minecraft 1.7. As such, we felt that it didn't really belong on BukkitDev since it is purely built for one purpose and a specific Minecraft version. Delay in getting 1.6.4-R1.0 out Lastly, I'd like to apologise for how long it took us to release a 1.6.4 Recommended Build. We were really hoping to promote a Recommended Build immediately after we released our 1.6.4 update in order to address this, but we've been experiencing technical difficulties as our infrastructure broke down. Thankfully, as you're all now aware, we've managed to get everything back up and running and everything is now back to normal.