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

    EvilSeph Retired Staff

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

    TnT Retired Staff

    You don't have to provide facts because you've done your homework? How does that possibly make sense? Any RAM issue is not due to this plugin, but rather having structures saved. If you run this plugin, save your structures, and remove the plugin you cannot possibly see a RAM increase due to this plugin, as the plugin would no longer be running. This is an issue with Minecraft 1.6.4 and above.

    I don't need to convince you, all we wanted to do is tell you what will happen if you do not save your structures and provide you a utility you can use if you want your structures saved. I will not be affected in the slightest if your structures are not saved. However, you will be affected if you wish to retain your world, as we have stated in the original post of this thread. If you choose to ignore these warnings, that is entirely your prerogative. Arguing we need to make a CraftBukkit for 1.7.2 is completely missing the point of what this plugin accomplishes. This is the homework you still need to do, as you still fail to comprehend what we have been stating.

    This argument makes no sense. They are entirely unrelated to each other. A new 1.7.2 CraftBukkit would not automagically save all your structures for you. This is why we provided structure saver.

    Yes we knew it was going to affect 1.7.x because this is part of the reason why Mojang released Minecraft 1.6.4. We do not create Minecraft, or have any influence on its development. We are here to provide an API and an implementation of the API. We have provided you a utility you can use if you wish to retain a properly functioning server when using your previous world on 1.7.2.

    I didn't say "Try it before you talk" I said
    You failed to do so. I will repeat myself - you do not need to use this plugin. Feel free to ignore our warnings. This is your choice, and you can deal with whatever consequences appear.
     
    squally, Hunt and MythicCynic like this.
  3. Offline

    ccrama

    For all of you whining about no 1.7 build yet, you are being provided a free service by the bukkit team to include an API, plugins, and tons of awesome features, for free. If you haven't been taught this yet, you get what you get and you don't throw a fit. Especially when it's free. I think I was 5 when I learned that... You obviously haven't yet
     
    grt8guy and Hunt like this.
  4. Offline

    Hunt

    "I think I was 5 when I learned that..." Lol I totally agree with you. :D
     
    ccrama likes this.
  5. Offline

    MythicCynic

    I can't tell if that was intentional or not but that is one of the funniest things I have read in a while.

    On a more serious note, does structure loss bother any of the user builds? I don't particularly care for strongholds as I can just delete the nether/end and generate new ones and anything in the main world is going to be deleted anyway (I am pruning the world soon deleting everything except a few scattered player structures).
     
  6. Offline

    TnT Retired Staff

    No, this tool is for server generated structures (Witch Huts, Nether Fortresses, Mineshafts, etc), not player built structures. Player built structures are already saved when you run a save-all command (or cleanly shut down the server).
     
  7. Offline

    grt8guy

    I am one user that is truly grateful for the free service. Thank you again
     
    Krustymk likes this.
  8. Offline

    captianbob

    How will this affect skyblock servers?
     
  9. Offline

    markdf

    I'm sure most people are, its just the odd screwball thats never happy no matter what they are provided with for free.
     
  10. Offline

    Zvex

  11. Offline

    wiigor

    Just to give some feedback on this update process. On minecrafters.nl server we have a world that is 2.5 years old and its chunks were made by all the different versions of Craftbukkkit since minecraft 1.4 beta. And the conversion always worked flawlessly. This is just incredible. Then once again StructureSaver worked perfectly. Great job Bukkit team.
     
  12. Offline

    Krustymk

    I would like to add my thanks also, and that of about 30 or so who use the server with me :)

    Keep up the good work guys and know there are far more who appreciate your hard work than those who complain
     
  13. Offline

    gumgumpuntnl

    To the Bukkit Team: great work! Thanks.
     
  14. Offline

    Henzz

    EvilSeph
    Not sure if this is place to ask, but every time I run the /save-structures <worldname> command on (CB 1.6.4 R1.0), I always receive a read time out via client and console. http://pastebin.com/TSQqAGK6

    Not sure if it may be the plugins that inflict with it.
     
  15. Offline

    Minerva

    I updated to 1.6.4-R1.0 as recommended, ran structure saver, stopped my server after it finished, removed structure saver, then tried to restart my server. It's now crashing with OOM errors. (12GB RAM)
     
  16. Offline

    TnT Retired Staff

    How big is your world?
     
  17. Offline

    Minerva

    Define what you mean by "big" please?

    ie, what are you wanting to know exactly?
     
  18. Offline

    TnT Retired Staff

    Size in MB/GB.

    Also, if you look in your world/data folder, how big are the dat files for the structures? (Mineshafts.dat, Fortress.dat, etc)
     
  19. Offline

    Minerva

    root@mc:/opt/MC# du Atlantia -k
    100 Atlantia/mcmmo_regions
    121736 Atlantia/data
    101988 Atlantia/spout_meta
    60 Atlantia/players
    11573208 Atlantia/region
    11797112 Atlantia


    root@mc:/opt/MC/Atlantia/data# ls -l
    total 121732
    -rw-r--r-- 1 root root 64729 2013-10-26 21:25 Fortress.dat
    -rw-rw-rw- 1 root root 12 2013-05-25 08:49 idcounts.dat
    -rw-rw-rw- 1 root root 2674 2013-09-21 08:01 map_0.dat
    -rw-r--r-- 1 root root 3597 2013-07-21 10:57 map_1963.dat
    -rw-r--r-- 1 root root 4349 2013-07-21 10:57 map_1964.dat
    -rw-r--r-- 1 root root 4261 2013-07-21 10:57 map_1965.dat
    -rw-r--r-- 1 root root 4062 2013-05-18 16:07 map_1.dat
    -rw-r--r-- 1 root root 4044 2013-07-04 06:04 map_2.dat
    -rw-r--r-- 1 root root 124334227 2013-10-26 21:31 Mineshaft.dat
    -rw-r--r-- 1 root root 9623 2013-10-26 21:31 Stronghold.dat
    -rw-r--r-- 1 root root 25441 2013-10-26 21:31 Temple.dat
    -rw-r--r-- 1 root root 164313 2013-10-26 21:31 Village.dat
    -rw-rw-rw- 1 root root 937 2013-10-26 22:35 villages.dat

    http://pastie.org/8435184
     
  20. Offline

    artician

    Hey guys, just wanted to give a big Thank You for all your hard work.
     
  21. Offline

    MrSuperWerer

    Thank you Bukkit for all the awesome work you have done!

    I downloaded Save Structures and saved all the structures. It said generating structures for world, world the end and world nether. It finished successfully (it said so)

    But after that I got a message: [Warning] couldn't keep up! Did the system time change or did the server overloaded?

    However everything is fine, the server continues to work perfectly. Are the structures now saved or not?

    Thanks again!
     
  22. Offline

    JB Stewart

    Sorry I really dont understand any of this...If we update to 1.7.2, will we lose everything on our maps? Example: a giant city made by me. Also if you use structure saver and then build more, do you constantly have to do it or just once and your good?
     
  23. Offline

    ReviewYurPlugin

    Probly not at all, but I would back up your SkyBlock world save just to be sure before you try, rather be safe then sorry after all.

    You didn't Explain if this was a error nor what happen or what was wrong so honestly i'm not sure if someone could help you?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 5, 2016
  24. Offline

    Minerva

    Is there any way to undo what structure saver did? For now, I'd just like to get my server operating again, as a lot of people are complaining because it's down.
     
  25. Offline

    captianbob

    Does anyone know how this will effect skyblock servers?
     
  26. Offline

    Bobcat00

    You didn't make a backup first?
     
  27. Offline

    Minerva

    *sigh* I know.....I know...but No....I didn't see an enormous risk so I decided to save the time :( /slaps self

    Technically, I have a backup, but it's about 2 weeks old.

    Now I need some documentation on exactly what structure saver did.

    I was already running craftbukkit-1.6.4-R0.1 before this. So it has to be something that structure saver did, as now neither craftbukkit-1.6.4-R0.1 or craftbukkit-1.6.4-R1.0 works.
     
  28. Offline

    TnT Retired Staff

    Minerva
    You can always delete the structure name dat files to get you back to your previous state. The Minecraft server loads all structures immediately on server launch. If you remove those, you won't have your structures saved, but you should be back to where you were prior to running StructureSaver.
     
  29. Offline

    Minerva

    Thanks :)

    Yep, starts just fine without those 3 files.
     
  30. Offline

    MistaHardkill

    It's not a plugin problem. The structure saver borks the server in 1.6.4. Here they are recommending people run this thing and it's borking maps. Mine too, a 3GB RAM, 28 person server. Won't even start now unless I roll back to JUST BEFORE the structuresaver command is run (same plugins, same jar, everything). It's structuresaver. It's basically useless.
     
  31. Offline

    autoit4you

    It is not structuresaver. Because the only thing it did was loading every chunk so the structures will be saved in a format that also 1.7.2 understands. If there is something to blame than that there is a performance problem in the minecraft server.
     
Thread Status:
Not open for further replies.

Share This Page