PSA: Minecraft 1.7 update; possibly losing structures

Discussion in 'Community News and Announcements' started by EvilSeph, Oct 23, 2013.

Thread Status:
Not open for further replies.
  1. Offline


    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:
    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:

    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:

    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

    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:

    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:

    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.
    EDWIN808, AJR200, mg180c and 20 others like this.
  2. Offline


  3. Offline


    Just curious as to why this isn't a Bukkit Dev approved plugin.
  4. Offline


    It is needed once - between updating 1.6.4 and 1.7. No sense putting it on BukkitDev.
  5. Offline


    If I already ran version 1.0 of StructureSaver with no errors or problems, do I have to rerun version 1.1 again?
  6. Offline


    No, if you ran 1.0 without any issues you don't need to run it again. 1.1 was released to address issues with too many files being open at once.
    lukegb likes this.
  7. Offline


    How long should Structure Save take /GB map? Can someone who has completed the full process upload the time it took them and their map size?

    I want to make sure mine is going alright, and not just hanging. :p
  8. Offline


    Same as me :/
  9. Offline


    And here. Saving structures completed successfully (after about 5 minutes). Now the server takes 4 minutes to start every time (usually just a few seconds) and RAM usage has increased. Had to revert from a backup for the time being until someone confirms that this is normal behavior as of now, or something gets fixed. This is with a 8.5GB world.
  10. Offline


    Having the high RAM problems too. Upgraded to 1.6.4 and installed the Plugin and everything worked fine. Then I started saving the Structures which made me lose connection to the Server but the save itself seemed to has worked fine. During the saving process RAM usage grow very high but seemed to be normal to me. After the saving was completed the RAM usage stayed so I restarted the server. Loading the world took forever then and after this the RAM usage was almost back up to the same height as after the saving process. So I just did nothing and hoped that it will get back to normal after some time but now good 10 hours later nothing changed. My RAM usage for me without anyone online is about 2,1GB btw.
  11. Offline


    Hey, thank you for this Information.
    But with the update 1.7 comes a very big and new content, incl. new biomes...
    What happends to older maps? Should we generate a new map or how can we use the new content?
    And i'm not talking about a little house on a map, it is a big world with many cities.
    How will this be resolved?
    Does the structure saver help in this case or does he just save buildings from being destroyed?
    I'm a little bit in panic...
    Thank you :)
    Kind regards, Seerox
  12. Offline


    Thanks for the reports, they're helpful and we really appreciate them!

    We're now actively looking into the high resource usage some users are seeing after (what appears to be) many structures being saved. At this point, I do not believe this is a problem with our StructureSaver utility and may, instead, be an issue with how saved structures are handled by Minecraft but we're still early in our investigations.

    We'll keep investigating but it is currently looking like people with large worlds would be better off starting over. Unfortunately, if our guesses are correct this might be a problem that will eventually crop up for large worlds anyway, as all the structures are slowly discovered and saved and the structure count grows to as large as it was in your 1.6 world. As such, it's looking like starting a new world is only delaying the inevitable performance issues you'll eventually see. Right now it seems like StructureSaver might simply be making the pitfalls of Minecraft's saved structure handling more apparent purely by simplifying the saving and discovery process of already existing structures.
    McGoerk and ampayne2 like this.
  13. Offline


    Is there any sign of improvement of the ram usage visible in the prerelease of 1.7?

    I can't even start our server if i convert the old maps to the new system because they take too much ram.
    Without converting the server uses ~460MB of ram in idle, after conversion with 3 of the maps deactivated usage goes up to 1280MB without any players on it...

    1.7 could well be the end of small servers if the ram usage isn't improved, at least you would have to set strict maplimits.

    Thank you for all the work that you're putting into this.
  14. Offline


    This is only for the natural strongholds..etc? Every thing that people built will still be fine?
  15. Offline


    teamcraft and owenftw like this.
  16. Offline


    Yeah, it seems like 1.7.2 really increases memory usage, my server wont even start up now because its getting out of memory errors :/

    Any way to undo the structures thing, I really dont care about the villages and stuff in the world anyways, new ones will generate anyways as users explore the territory

    edit: Nevermind, it seems that deleting the Mineshaft.dat in the data folder for my world greatly reduced memory usage.
  17. Offline


    Just wondering... what do you guys mean by
    Do you mean that structures will just become corrupted and look messed up or will they still be there and be alright but the server just won't know that they're a structure? Thanks!
  18. Offline


    Witch huts won't spawn witches. Nether fortresses won't spawn whatever it is that spawns in Nether fortresses. I'd guess that eyes of ender won't find end portals (not sure about that one; it's broken on my server with 1.6.4 anyway).
  19. Offline


    Thanks for this BukkitDev Staff :) i shall pass this around to my friends(who own servers of course) and fellow server owners! I imagined you stopped a lot of maps from resetting with this!
  20. Offline


    They will still be there. But the server wont recognize the structures. Therefore, no correct mob spawns. Wither Skeleton in Nether Fortress for example.
  21. Offline


    I guess im making a new map now
  22. Offline


    Thanks for this! :)
  23. Offline


    I don't know how you could install 1.7 and not start a new world to be honest. Might as well stay at 1.6 if your going to do that. All those new biomes and your going to have to travel forever to get to them lol.
  24. Offline


  25. Offline


    After i did this i lost 4,5GB.... no players on, no stubborn plugins?
    I deleted the save structures jar and rebooted.
  26. Offline


    Well this happend to me too its because of autosaving is enabled its either in bukkit.yml or serversettings file. glad to help you out ps dont run your server as high priority on an old cpu !! had massive lagg but not after changin these!
  27. Offline


    Nobody should have to add another plugin if you had an actual craftbukkit 1.7.2 build to go with the updated minecraft version. Its simpler to just remove the old craftbukkit 1.6.4 version and update to a craftbukkit 1.7.2 build, instead i have to install a new plugin just to play a server when in the long run im not gonna need it because you tell us to remove it after installing the plugin. It's common sense devs, get to it, otherwise i am not going threw the trouble to install a plugin that i honestly don't even need for the long run if im just gonna get rid of it.
  28. Offline

    Levi Kornelsen

    Someone just handed you, for free, a tool that may help make it possible to play a game you like in the way you want. One you put no effort into, and have no particular right to get at all.

    ...Aaaaand your response is to go "Hey, if it's not part of that other package, screw you. You guys are a problem."

    I think you may be pointing in the wrong direction. Jus' sayin.
  29. Offline


    It saves the structures in the "data" folder in the worlds folder.
  30. Offline


    Its not about someone handing you anything for free that "may" help you. Point is if Minecraft is going to be updated and you know that it is then there should at least be a development build in progress instead of making an alternate way that most likely will have issues. Btw from what i see people are already having issues with structures not saving. Point proven right there.
  31. Offline


    I know its stupid to ask. but I don't care about my nether fortresses and strongholds, when you say "structures" you just mean those naturally generated not all of our builds correct, our builds will be safe?
Thread Status:
Not open for further replies.

Share This Page