Starbound

Starbound

Revived - Vepr ship for vanilla races
 This topic has been pinned, so it's probably important
bk3000  [developer] 7 Apr, 2020 @ 12:35pm
Easy patching for other races to use this ship.
While this really is simple. I'll over-explain just in case. TL:DR at bottom.

Windows users
Before we start, Windows has a very stupid "feature" enabled by default. Go into your folder options and turn off "Hide known extensions". What does that option do?
My_favorite_song.mp3.exe
gets displayed as
My_favorite_song.mp3
Nice way to disguise a virus right there. If will also get in your way modding too. Turn that "feature" off and never turn it back on.

Before we start
  • Download Notepad++ to do your editing in. Or your preferred advanced text editor. Anything better than Notepad.
  • Here is a tutorial if you need it, to cover packing/unpacking mods
    https://community.playstarbound.com/threads/how-to-successfully-pack-and-unpack-pak-files.66649/
    Since you may have to unpack the race mods. Some mods downloaded from the forums may already be loose files though, so they may not need unpacked.
  • If obtained from the workshop, you definitely need to unpack it but first you need to find it. The exact path will depend on where you installed it. Workshop files would be in
    /Steam/steamapps/workshop/content/211820/<id>/contents.pak
    <id> you swap for the id found in the URL for the mod's page. Case in point this mod's URL is
    steamcommunity . com/sharedfiles/filedetails/?id=1243244711
    So for this mod the ID is 1243244711 - thus this mod can be found at
    /Steam/steamapps/workshop/content/211820/1243244711/contents.pak
    The same is true for any mod on the Workshop, from any game that supports it.
    With that, you can always find where specific mods have downloaded, and thus unpack mods from the workshop. If you are curious, 211820 is Starbound's gameID, which you can find from the store page URL.

files
You need to create a folder within /starbound/mods/ with any name you like, but the name should describe the contents such as "FelinRace_VeprShip" (for example). This folder should have these two files in it.
  • _metadata
  • universe_server.config.patch

To make each file within the folder - right click, make a new text document, then rename it.
Open them in notepad++
As for the contents, you can copy/paste the text here, then edit it to match what you are doing, save. I'll give you an example that would put the Felin race into this ship.

_metadata
{ "author" : "Your_name_here", "description" : "Example patch that maybe someone needs.", "friendlyName" : "Example patch", "includes" : ["Felins"], "name" : "Vepr_examplePatch", "requires" : ["bk3k_blocks_and_objects", "Vepr Ship(revived)"] }
Swap out "author", "description", "name", and "friendlyName" with your own info.

"includes" - this causes your patch to load after the mods you list there. Swap out "Felins" with the mod name of the race you intend to support. Get that info from that mod's own _metadata file.

"requires" - this lists the mods which must be present, or Starbound won't load (and there will be a log entry to explain the missing requirement). Like "includes" it will cause your patch to load after those mods.

"bk3k_blocks_and_objects" is where all the assets are for the mod, hence it is required.
"Vepr Ship(revived)" is of course this mod. While it doesn't have assets, it does have recipes and directs Starbound to load a script that fixes the crew maximums per upgrade level. So you just leave "requires" as is.

universe_server.config.patch
[ [ { "op" : "test", "path" : "/speciesShips/felin", "inverse" : true }, { "op" : "add", "path" : "/speciesShips/felin", "value" : {} } ], [ { "op" : "replace", "path" : "/speciesShips/felin", "value" : [ "/ships/vepr/vepr_T0.structure", "/ships/vepr/vepr_T1.structure", "/ships/vepr/vepr_T2.structure", "/ships/vepr/vepr_T3.structure", "/ships/vepr/vepr_T3.structure", "/ships/vepr/vepr_T3.structure", "/ships/vepr/vepr_T3.structure", "/ships/vepr/vepr_T3.structure", "/ships/vepr/vepr_T3.structure", "/ships/vepr/vepr_T3.structure", "/ships/vepr/vepr_T3.structure" ] } ] ]
That of course puts the Felin in the Vepr ship. Swap "felin" for whatever race, and it'll work for them. You can get their name from that race's own universe_server.config.patch file, although in many cases you can probably guess it without.

By all means go out there and patch your favorite races to use this ship. And publish your patches if you like so others can use it.

How to publish
Well other guides should exist, but this isn't hard. You can directly upload the files on the official SB forums for non-Steam users easily enough just go to that site and Click the "Add mod" button relatively on the top right.

As for Steam - when opening Starbound you get that menu option on bottom "Launch Mod Uploader Tool". It opens a simple program - you browse to your folder, Make sure your description data says what you want it to say etc, and hit "Upload to Steam!" As long as you don't get an error, it is done and you can close the program.

There is one more step so people can SEE your mod. Open Starbound's workshop page.
There is a link on the semi-top-right "Your files". Click on that.
"Files you've posted". Click on that.
Click on your mod from there, and you'll see your workshop page. You've seen others, but this one is YOUR page. There are some controls you haven't seen before - since this is your page.
You'll see "owner controls" on the right. Change visibility to "public" and in a few minutes everyone will be able to see your mod. Granted if you really want, you can set it to "friends only" but you might as well let everyone use it. Your choice.

TL:DR
Make _metadata and universe_server.config.patch files
Swap "author", "description", "name", "friendlyName", and mod names in _metadata.
Swap race in universe_server.config.patch.
Done.
Last edited by bk3000; 15 Sep, 2021 @ 10:58am
< >
Showing 1-7 of 7 comments
bk3000  [developer] 7 Apr, 2020 @ 12:45pm 
The upload tool is Windows only. If you are using Linux, you'd need to use steamcmd instead. I could guide someone through it if need be.
Last edited by bk3000; 7 Apr, 2020 @ 12:46pm
CrocOsnake 10 Dec, 2020 @ 6:34pm 
I'm here coming from that reply on the original workshop item you game me earlier, and i thought i should just ask for help here instead, i cant find the universe_server.config.patch folder and the _metadata folder only says
"{
"priority" : 9999999999
}
"
am i looking at the wrong _metadata folder? where is the other folder?
Last edited by CrocOsnake; 10 Dec, 2020 @ 6:35pm
bk3000  [developer] 10 Dec, 2020 @ 7:00pm 
Originally posted by CrocOsnake:
I'm here coming from that reply on the original workshop item you game me earlier, and i thought i should just ask for help here instead, i cant find the universe_server.config.patch folder and the _metadata folder only says
"{
"priority" : 9999999999
}
"
am i looking at the wrong _metadata folder? where is the other folder?

I'm not sure what you're looking at, but make a new folder within \starbound\mods\
Name the folder whatever you want, though a descriptive name is best
Inside the new folder, right click, then select to make a new text document
Rename the file _metadata
Not _metadata.txt, but simply _metadata
Then edit the file with any text editor, copy/paste my example data for that file above.
Then apply the edits. Save the file.

Right click again on an empty spot in the folder
Make another new document
rename it universe_server.config.patch
Edit the file, copy/paste the example data for that file above.
Apply the edits. Save the file.
So now you have a new folder with only the 2 files you created.

If for personal use, just ignore the rest of this post.
After testing and verifying that it works, you can edit _metadata again, though that's pointless if you don't intend to upload it.
You can change the "author" data "Your_name_here", to actually have your name in it
You can change the "name" data "Vepr_examplePatch", to something else like "Vepr_AvaliPatch", or whatever.
You can edit the "friendlyName" and "description" data too as you like.
After testing that it still works, starbound does have the uploader tool
Karnie 18 Dec, 2023 @ 5:14am 
Hi, still there? I'm following your instruction to replace the default ship of Kitsune Race. I'm almost sure that I'd made every step correct, but still, when the game launches, an error occurs and there's one line saying: Asset source "kitsuneraceveprship" is missing dependency 'bk3k_blocks_and_objects'. This really confuses me since I definitely had the dependency mod subscribed. Could you help check where the problem is? Thanks a lot if you could help!

Here is a screenshot of the full error message: https://prnt.sc/rjzw9iS3AhlA

My code in _metadata
Originally posted by Karnie:
{
"author" : "xxx",
"description" : "xxx",
"friendlyName" : "Vepr Ship for Kitsune Race",
"includes" : ["kitsunerace"],
"name" : "kitsuneraceveprship",
"requires" : ["bk3k_blocks_and_objects", "Vepr Ship(revived)"]
}

Code in universe_server.config.patch
Originally posted by Karnie:
[
[
{
"op" : "test",
"path" : "/speciesShips/kitsune",
"inverse" : true
},
{
"op" : "add",
"path" : "/speciesShips/kitsune",
"value" : {}
}
],
[
{
"op" : "replace",
"path" : "/speciesShips/kitsune",
"value" : [
"/ships/vepr/vepr_T0.structure",
"/ships/vepr/vepr_T1.structure",
"/ships/vepr/vepr_T2.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",

"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",

"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure",
"/ships/vepr/vepr_T3.structure"
]
}
]
]
Last edited by Karnie; 18 Dec, 2023 @ 5:23am
bk3000  [developer] 18 Dec, 2023 @ 11:02am 
Originally posted by Karnie:
Hi, still there? I'm following your instruction to replace the default ship of Kitsune Race. I'm almost sure that I'd made every step correct, but still, when the game launches, an error occurs and there's one line saying: Asset source "kitsuneraceveprship" is missing dependency 'bk3k_blocks_and_objects'. This really confuses me since I definitely had the dependency mod subscribed. Could you help check where the problem is? Thanks a lot if you could help!

What I can say first off, I don't see any obvious issues. Steam can sometimes be weird about subscriptions. Try unsubbing and resubbing. Also try completely restarting the steam client, by right clicking the icon on your taskbar and telling it to Exit Steam (closing the window isn't enough). Then reopen it and make sure it downloads the updated workshop data. You could also do a manual download from the forums, extract, and put it into /starbound/mods/
Karnie 19 Dec, 2023 @ 1:48am 
Originally posted by bk3000:
Originally posted by Karnie:
Hi, still there? I'm following your instruction to replace the default ship of Kitsune Race. I'm almost sure that I'd made every step correct, but still, when the game launches, an error occurs and there's one line saying: Asset source "kitsuneraceveprship" is missing dependency 'bk3k_blocks_and_objects'. This really confuses me since I definitely had the dependency mod subscribed. Could you help check where the problem is? Thanks a lot if you could help!

What I can say first off, I don't see any obvious issues. Steam can sometimes be weird about subscriptions. Try unsubbing and resubbing. Also try completely restarting the steam client, by right clicking the icon on your taskbar and telling it to Exit Steam (closing the window isn't enough). Then reopen it and make sure it downloads the updated workshop data. You could also do a manual download from the forums, extract, and put it into /starbound/mods/

Hi, just got the issue solved. Tried to download the "bk3k blocks and objects" mod directly into the /starbound/mods/ folder, and another error shows that the vepr ship mod is missing too. So it's now clear that to make your local mods functional, you must have their dependency mods in /starbound/mods/ folder too.

Thanks so much for helping! : )
Alexandria 31 Oct, 2024 @ 6:23am 
So originally I was reading the Pinned discussion from your Race Patch #2. So I didn't see the 6 comments that were in this one. The comment just before mine seems to mean that I have to manually move all the dependencies into the mods folder and unsubscribe them in Steam?

If that's the case, I think I have a love/hate relationship with steam. And you can ignore the new discussion thread I started (I'll delete it when I get the chance (Still waiting for steam to approve it), IF it's a "all dependencies must be in the same location" problem).
< >
Showing 1-7 of 7 comments
Per page: 1530 50