Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

Update workshop blueprint, when you don't have the original?

Discussion in 'Programming Questions and Suggestions' started by Arrnor, Jan 30, 2015.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. Arrnor Trainee Engineer

    Messages:
    61
    I'm trying to replace a published ship blueprint with a new blueprint. I've seen several posts about doing this, but they all assume you still have a local copy of the original ship, and can just replace it from clipboard and re-publish it.

    However, I already deleted the original, and renamed the new one in it's place, before knowing not to do that.

    So is there any other way to update a workshop blueprint, when you just have the updated blueprint but not the original?
     
  2. Dwarf-Lord Pangolin Senior Engineer

    Messages:
    2,597
    I'm going to run a brief experiment on this. Hang on.
     
  3. Dwarf-Lord Pangolin Senior Engineer

    Messages:
    2,597
    So far, what I've got is this: there are two types of blueprints, those from the workshop (.sbb) and those created locally (.sbc). Local blueprints can be opened with Notepad, and if you scroll down to the bottom you see a pair of strings:

    Code:
    <WorkshopId>123456789</WorkshopId>
          <OwnerSteamId>12345678901234567</OwnerSteamId>
    Obviously, those aren't the actual ID numbers. ;)

    Both are fairly obvious: OwnerSteamId is you (that's shared with all your other blueprints), and WorkshopId looks like the unique ID for that blueprint.

    Uploading that file to the workshop, then downloading it again and saving it locally seems to reset the WorkshopID to 0. Then, publishing the new one seems to be giving it a new WorkshopID that doesn't match the old one, so Steam doesn't want to replace the one currently online with the new one; as far as it's concerned, they're completely different items.

    I'm assuming that editing the .sbc with the proper WorkshopId and publishing that will, if the name and everything else are correct, tell Steam to replace the file it has with the matching ID.

    The trick is going to be getting the WorkshopId from the .sbb file; however, that one doesn't like Notepad. I'm going to see if something else will work. I'm worried that might not be possible, though; if you can get that from somebody else's blueprint, you might be able to get their OwnerSteamId, which would be a Very Bad Thing.
     
  4. Phoera Senior Engineer

    Messages:
    1,713
    7zip can open sbb as its only archive(zip if i am not wrong )
     
  5. Dwarf-Lord Pangolin Senior Engineer

    Messages:
    2,597
    OK, I think I've got this for you, and you don't even need 7zip (though now that that's been suggested, I'm really curious).

    Bear in mind, this does involve messing around with stuff buried a little deep.

    1. First, make sure you're subscribed to your currently published ship.
    2. Then get in game and refresh your blueprints; you want to make sure that all your subscriptions are showing up.
    3. Next, open your Computer, and navigate here: C:/Users/Username/AppData/Roaming/SpaceEngineers/Blueprints/workshop/temp (if AppData doesn't show up for you, I can find you a tutorial on how to view it).
    4. Each numbered folder has an info.temp, and a thumb.png. Ignore the info.temp, and find the folder that has the .png of your ship in it.
    5. Found the folder? OK, here's the funny part: the number of that folder is the same as your blueprint's WorkshopId number.
    6. Copy that number.
    7. Navigate to Blueprints/local, and find your renamed, new version (I'm assuming you've named it exactly the same as the original).
    8. Open its folder, then open the .sbc file (I'm using Notepad, and I'm telling it not to open all files of this type with it).
    9. Use the search function to find the section that starts with <WorkshopId>.
    10. Select the number in that field, and paste over it with the number in your clipboard. Save and close that file.
    11. Now, go in-game, select the blueprint, go into Details, and hit Publish. It should replace the original.
    Let me know if this works; it did for me.
     
  6. se5a Apprentice Engineer

    Messages:
    113
    This got me curious, looks like you can edit the blueprints program block script and toolbar using notepad too.
    not tried, but the data is there. should be easy.
     
Thread Status:
This last post in this thread was made more than 31 days old.