Okay, because I had to mess around quite a bit at first, I will make a quick how-to here: -To upload to the workshop, you don't need to pack your mod, the uploader will handle it -create a folder in a place that you best keep for quite some time (maybe make a mymods folder in starbound) and add a subfolder with your mods name (actually doesn't matter which name here, this is just for you) -inside this subfolder, put the your mod. This may be your object folder, your recipes and so on, just like in the standard assets folder -create a txt file in the subfolder and fill into it your metadata (or change your old modinfo file)in the form of Code: { "author" : "Username", "description" : "Mod description here.", "friendlyName" : "Purchasable Pets", "link" : "http://www.google.com", "name" : "p_Pets", "version" : "1.0" } -save the txt file, rename it to "_metadata_" or ".metadata_". The _ at the end here is for windows user, it enables you to name a file with only an ending. -Now, go to your steam library and either rightclick Starbound or start it and choose the "Mod Uploader Tool". Alternatively you can also directly start the exe in the win32 folder in your Starbound folder. -This now opens the mod uploader (duh). Choose "Select Mod Directory" and browse the subfolder you created (in our case it would be in Starbound/mymods/"yourmodname/". If your metadata is renamed and structured correctly it should read the information from it. -You can now give your mod a name (aka the name it will be shown as in the game itself), a title (the name which is shown while browsing the workshop), a description, version number and even a preview image (definitely upload one, it helps tremendously gaining traffic) -Anyways, after you have finished the details, click on "Upload to Steam!" and the tool should pack your mod together and load it onto the steam databases. If you have a mistake in your metadata file, you will get an error message already here. -A number will appear under the "Mod ID", click it and it will port you to your now freshly created modsite where you can change a few things or also add some pictures or youtube links to it. -When you first upload a mod, it will automatically set it's visibility to "hidden". That other users will be able to see that, change it to "public". Best is though that you try it out yourself before you do this, to ensure it is working properly. For that click on the green subscribe button and it should download your modfiles. Don't forget to remove any other files of your mod from the /mod folder, otherwise Starbound will load those. -Congratz, you have successfully released a mod onto the workshop! Updating a mod in the Workshop: -To update your mod, simply update your files and choose your folder again. It should reload all the old information. Don't overwrite the metadata file though, as when you uploaded your mod the first time, the uploader added an additional line indication your mods ID. -In case you deleted the folder already, repeat the steps above but add the line Code: "steamContentId" : "your mods ID", to the metadata file. This line got added the first time you uploaded your mod and is the link between your folder and your mods workshop page. In case you missed it, you can find the id on your mods workshop page. -If you also deleted the _previewimage file (stop deleting things, seriously!), which was just an encoded version of the preview picture you have uploaded, simply use the mod uploader to choose a new one and it should be generated again for issues with steam, be sure of the following: -You need to be online in steam and you need to not be in the locked family mode -Be sure that you actually own Starbound -Make sure that you are not logged into your account twice, e.g. you will get an error message if you are logged into steam in your browser as well as in the app!
Thanks for the part about posting updates - I was a bit dubious that reuploading was how you were supposed to post an update (and was slightly worried it was gonna overwrite it), so I went to go try and look it up first. :]
for issues with steam, be sure of the following: -You need to be online in steam and you need to not be in the locked family mode -Be sure that you actually own Starbound -Make sure that you are not logged into your account twice, e.g. you will get an error message if you are logged into steam in your browser as well as in the app!
when i spawn my item in, it gives a perfectly generic item. i know the activeitem file is ok but it still gives me the generic item do you know any solutions?
check if your mod actually gets loaded into the game (via the bottom right button in the menu) otherwise it sounds like a recipe issue or you used the wrong itemname
This should be bold. Make sure you don't upload any extra files along side it. I for example use git as part of my modding process and have a folder with some scripts (with private information in them) in it for building a .pak file for testing on my desktop as well as some images/media and other associated items for the mod that I don't want packaged with it. So if I point the Steam mod uploader at the git directory it uploads all the commit history, ignored files as well as a bunch of in progress images along side the mod files. Very unwanted. Just be careful.
This is a big deal. Is there a way to make the packager and steam uploader ignore it? I just put all my Starbound mods on my GitHub and that means the mod folders now have .git folders inside them.
I just made a little build script that uses the working ignore file for asset_packer.exe. Then after it's packed and clean the same script calls asset_unpacker.exe and unpacks it to "<gitrepo>/tools/builds/steam" for steam. It's nothing exciting just a .bat Code: S:\Steam\steamapps\common\Starbound\win32\asset_packer.exe -c D:\Documents\GitHub\starbound_cannery\tools\pakignore.json D:\Documents\GitHub\starbound_cannery S:\Steam\steamapps\common\Starbound\mods\GorfobsCannery.pak S:\Steam\steamapps\common\Starbound\win32\asset_packer.exe -c D:\Documents\GitHub\starbound_cannery\tools\pakignore.json D:\Documents\GitHub\starbound_cannery D:\Documents\GitHub\starbound_cannery\tools\builds\GorfobsCannery.pak RD /S /Q "D:\Documents\GitHub\starbound_cannery\tools\builds\steam" S:\Steam\steamapps\common\Starbound\win32\asset_unpacker.exe S:\Steam\steamapps\common\Starbound\mods\GorfobsCannery.pak D:\Documents\GitHub\starbound_cannery\tools\builds\steam pause JSON for my "pakignore.json" file. Code: { "globalIgnore" : ["/tools", "/.git", ".gitattributes", ".gitignore", "readme.md", "/graphic_files"], "serverIgnore" : ["/sfx/irrelevantMusic.ogg"] } It ignores my tools folder with buildscripts, the git files/folder and a directory of graphics files for the various items that I still want as part of the git repo but not in the .pak.
Thanks for this tutorial! Many others like http://starbounder.org/Modding:Modding_Basics are outdated...well, you still can use that, but I preffer to upload stuff on the workshop form steam.
"C:\Program Files (x86)\Steam\steamapps\common\Starbound\win32\sbinit.config" contains the "assetDirectories" settings so I created a folder called mymods in the Starbound folder (Not mods as it tries to double load mods) and create a folder for my github root folder and another for starbound and add it to the assetDirectories. For example it could look like this... Code: "assetDirectories" : [ "..\\assets\\", "..\\mods\\", "..\\mymods\\DraconisShipForKazdra\\", "..\\mymods\\KazdraDungeonPatch\\", "..\\mymods\\ZekromsKazdraRecipes\\", "..\\mymods\\yourmodname\\" ] Note: if you want to keep old unused code in the file it must not be in the last folder (ex yourmodname) to fix this you can put it in mymods or add another folder.
You should be able to access it by pressing the Play button for Starbound on Steam. If not, try verifying integrity of game files by going into the game’s properties.
Hi, thanks for the guide! What do I do differently if I am patching a file in another mod. I can't seem to figure it out.
Essentially the same as patching a vanilla file, but you need to control load order. For example for exiting something in FU, I have this _metadata file Code: { "version" : "1.00", "author" : "your_handle_here", "description" : "patches FU stuff", "name" : "FU_edits", "friendlyName" : "FU Edits", "includes" : ["FrackinUniverse" ] } That will not make the mod require Frackin Universe but if present your mod would load after. If you used "requires" instead of "Includes" then it would require it - crashing upon startup without it but leaving a clear log entry to tell you why. That also controls load order in the same way.
Can someone help? When I upload my mod it doesn't work. Am I choosing the wrong file directory? When I have the mod plain as is in my mod folder however it works fine. Oh nevermind I got it working somehow?