1. Welcome to the Starbound support forums. Please check the support FAQs before posting: http://playstarbound.com/support

Here's a script to repair .fail worlds

Discussion in 'Starbound Support' started by Blixt, Aug 20, 2016.

  1. Blixt

    Blixt Void-Bound Voyager

    Hey guys,

    I wrote a repair script back in the day but it was ridiculously outdated and of course wouldn't work with Starbound 1.0. This morning I took some time to update it and while it's not as reliable as the old one I have successfully made a 100% recovery of a Starbound 1.0 failed world.

    I'm running a startup now so I don't have much time to do these things, hence there is no UI to accommodate this, but if someone wants to make it more user friendly that would be greatly appreciated!

    WARNING: Always keep backups for files as this script is not guaranteed to work!

    Here's the repo: https://github.com/blixt/py-starbound

    Quick guide for people on Mac/Linux who can use the command line:

    Code:
    git clone https://github.com/blixt/py-starbound
    cd py-starbound
    ./repair.py 1234567_8901234_-9876543_6_3.world.1234567890.fail
    # output from script...
    On Windows you should be able to do the equivalent (but use "C:\Python27\python.exe repair.py" instead of "./repair.py"), but you'd have to make sure Git and Python are installed.

    Once the file ending with ".repaired" is written to disk, you can remove everything after ".world" in the filename and put it in your Starbound/storage/universe directory. Keep a backup of the old files though.
     
    Trinosaur likes this.
  2. Iris Blanche

    Iris Blanche Pudding Paradox Forum Moderator

    Hm doesn't work in every case it seems...(checked it with a fail file from the support forums)
    OS win 10, python version 3.5.2
    Code:
    attempting to recover 188×94 regions...
    Traceback (most recent call last):
      File "repair.py", line 320, in <module>
      main()
      File "repair.py", line 107, in main
      for index in range(block_count):
    TypeError: 'float' object cannot be interpreted as an integer
    
    EDIT: the fail file is an FU world (but i don't think it affect the datatypes for the stored information). In case you need the file for testing here's the post for it: http://community.playstarbound.com/...trying-to-beam-to-planet.122903/#post-3003185

    Nice script btw. I'd be too lazy dealing around with the file structure >v<

    ~ Iris ~
     
    Last edited: Aug 22, 2016
  3. Blixt

    Blixt Void-Bound Voyager

    Sorry, that's actually a Python3 incompatibility. It did repair the world with Python2. I'll push a fix for Python3 in a minute! :)
     
  4. Iris Blanche

    Iris Blanche Pudding Paradox Forum Moderator

    Ah that could explain why it failed x)

    ~ Iris ~
     

Share This Page