Starbound

Starbound

183 ratings
The Reliable Guide to mounting workshop downloads on dedicated servers
By Mo¡stDreams
This guide covers a few fairly simple methods to get workshop mounted content working on your dedicated server, absolutely guaranteed without any of the file tweaking or unpacking that you usually see being explained. In some cases, without the need to update them manually, for beginners and advanced users alike!
3
   
Award
Favorite
Favorited
Unfavorite
About Guide
About This Guide
This guide covers few simple to follow methods to get workshop files mounted in the dedicated server program so you don't need to manually go and download other versions of the mods you use! Each method can be done with any computing skill level and a little patience as they are all explained in detail.

Update 26/07/2023
Apparently the methods I use in this guide are no longer required in later versions of Starbound according to this post on the official forums.
https://community.playstarbound.com/threads/starbound-workshop-easy-linker-swel.123583/#post-3379187

This is still slower to setup than my method, however this is a method that also works now which did not previously and is why I created this script, if this method works for you awesome.


What is with the BLACK BARS OF TEXT
These black bars of text are hidden text you should mouse over them & read them! These contain my own personal advice and brief explanations of some of the steps in the guide. They are blacked out for experienced computer users and to reduce clutter!





What this guide is NOT!
This is not an all inclusive guide on how to configure and run your server if you don't know how to do that view the below excellent guide!
Frackin Universe: Dedicated Server Setup
That guide is not created nor maintained by me

If you would like an interface for the server and not with GUI controls and lovely options consider using PenGUIn Server GUI[community.playstarbound.com]
The Disclaimer
Myself nor anyone else is to be held responsible for damages of any kind including but not limited too - data corruption, loss of profits, hardware failure, personal injury, explosions, fire, getting fired from your job as a result from following any of the suggested methods on this guide, by reading this guide and or using any methods in the guide you agree that all risks associated are understood and you take full responsibility.
Starbound Workshop Easy Linker 'SWEL'
Starbound Workshop Easy Linker
Is an automated script created by me which does all the steps required for both Method One and Method Two of this guide in one simple tiny run choose and forget package it is a Windows Batch script with no installation required and you don't need any additional knowledge or programs to use it.

I GIVE YOU SWEL

Features
  • Automated Symbolic Linking
  • Automated Safely Copy Files
  • NO renaming of files required this is automated too! (files will take the name of the folder they were linked or copied from for easy comparison, usually this will be the workshop content ID)
  • Network Resume - useful if you are using it over a mapped network drive
  • Customisation
  • No Installation Required
  • Easy to use Menu

    Download & Usage
    SHA256
    a0a26b18d10d8bd236d7b19a0522b773dcdea73db10db53d34dd3cb50b5602cf

    Source Code[pastebin.com]

    SHA256 78a4153c0d051edd9dec462c427d600a3fa20aea990dd5e546681f578a608b26
    Source Code[pastebin.com]

    • Edit with Notepad++ or your fav IDE to change the directory paths. Very easy to do. Just look at the top for the following -
      SET SteamAppsDir=%PROGRAMFILES(X86)%\Steam\steamapps SET DediServerModDir=%PROGRAMFILES(X86)%\Steam\steamapps\common\Starbound Dedicated Server\mods
      Change the paths after the equals sign!

    • Save & Launch with Administration Rights 'Elevated Command Prompt' (Required for Symbolic Link)

    • Follow the prompts!



    Change-Log
    • v1.0.8: Removed two unneeded lines & added separate sub-routine for content.pak files.
    • v1.0.6: Removed unneeded script lines.
    • v1.0.5: Initial release.

    To-Do List
    Add a new menu option to remove the links and copied files.
    Automate elevated cmd.
    Ignore empty folders on copy and link creation.
Method One - Symbolic Linking the Workshop Content
Recommended for the majority of you!
You can do this with any Operating System
This method can be time consuming!


Firstly - What is a Symbolic Link?
Symbolic links, otherwise known as symlinks, are basically advanced shortcuts. You can create symbolic links to individual files or folders, and then these will appear like they are stored in the folder with the symbolic link even though the symbolic link only points to their real location.

Why Use This Method?
TLDR
This methods allows you to create a shortcut to a file just like you would have a shortcut on your desktop and everything works without copying or unpacking anything Click here and see for yourself, that everything loads![pastebin.com]

Long-Answer
Glad you asked! Starbound does NOT look inside sub directories and load the package files within, what this means is you cannot just add a new path to the workshop directory to search for mods, you will have to copy or move them manually each time they update which sucks!

It sounds more complex but it is a rather simple process and allows you to simply drag and drop a shortcut of the workshop file you want into the servers mod directory and forget about it your job as an admin is done. It works because we no longer require Starbound's code too find files we are using the Operating Systems ability to create a link directly to a file on one or more of your drives accessible from any location on another drive.


Lets BEGIN
  1. Download and Install Link Shell Extension[schinagl.priv.at]
    This provides a GUI for the command line process to create the shortcuts the other benefit of this program over doing it manually is that it has integrated syslinking over mapped network drives and SMB shares, read the notes section below if you prefer to do this via command-line.

  2. Find and Open "SteamInstallPath"\SteamApps\workshop\content\211820
    All Workshop mods for Starbound exist in this workshop content folder by default![/i]
    Location above may be different for you!


  3. Find and Open "SteamInstallPath"\SteamApps\common\Starbound\mods
    Locations above may be different for you!
    "SteamInstallPath"[/i] is where you have Steam installed, by default it should be "C:\Program Files (x86)\Steam\"[/soiler]

    You should now have BOTH of these open in a separate window!

  4. Inside the Workshop Directory you should be looking at a bunch of numbered folders (sub-directories)[puu.sh]
    These numbers represent the unique ID of the workshop item.

    Inside each sub-directory is a file called "contents.pak" right-click the file and click on Pick Link Source![puu.sh]
    Example



  5. Now navigate back to the Dedicated Servers Mods Directory (which you should have open still) and Right-Click Select Drop Symbolic Link[puu.sh]
    Example

    Shortcuts will be sequentially named by default when a duplicate is found in the same folder

  6. Repeat for each mod you need running on the server!

When you are done it should look somthing like this


Notes:
  • Please make sure you install the correct version of the program for your operating system.
  • If you rather script the process than use the above program learn about that here![www.howtogeek.com]
  • I have done the script for you under the name SWEL 'Starbound Workshop Easy Linker' you can find the script here on this guide. This simple run and forget script gives you the option of copying the mods or symbolic linking them and its all automated without any additional software required!
Method Two - Manual & Automatic Copying of the Workshop Content
This method can be time consuming!
Only tested on Windows

There are two ways to go about this below you can do it manually or setup an automated program to it all for you on a schedule, I explain how to do both!


The Manual Way
  • Locate Steam's Install-Path
    Default Location: C:\Program Files (x86)\Steam\

  • Find and Open "SteamInstallPath"\SteamApps\workshop\content\211820
    All Workshop mods for Starbound exist in this workshop content folder by default!
    Location above may be different for you!


  • You should be looking at a bunch of numbered folders (sub-directories)[puu.sh]
    These numbers represent the unique ID of the workshop item.

  • Inside each sub-directory is a file called 'contents.pak'[puu.sh], COPY this file into
    "SteamInstallPath"\SteamApps\common\Starbound\mods\
    Example:

    Make sure you give each file a unique name as to not override the existing file!

  • Start the Dedicated Server Executable and you should see all of the .pak files you added appear in the server's output log\console.

Important:
If you have your Dedicated Server installed as a separate installation the above steps still apply just locate that installation instead!
Method Three - (DEPRECIATED)
This method is depreciated and no longer of any use to most of you but included for experimental purposes and understanding as it may still be used effectively with a little bit of know-how.

This involves adding the Workshop directory path to the server configuration. It assumes your host already has a workshop download capable machine or at the very least you have copied the workshop folder somewhere on the dedicated machine.

Follow the Below Steps
The following is just an example, and can be used for ANY additional directory outside of the default locations and NOT just the workshop content folder! It should* in theory work across mapped network drives but I don't recommend it unless your network configuration is stable.

  • You are going to want to browse too "SteamPathHere\SteamApps\common\Starbound\win64" & make some edits too the file "sbinit.config"

  • By default sbinit.config looks like this-[pastebin.com]

  • When you are done it will look something like this![pastebin.com]
    You may need to change the path depending on drive letter used and DO NOT forget to add the apostrophe symbol at the end of each line added into the directory paths except for the last line! or the server won't start.

    Start the Dedicated Server, you should notice the new paths are now being picked up just be careful with sub folders as it may not find the '.pak' mod files inside the sub directory's you can tell if it has as your server output will display the package names :)
254 Comments
Gorigo 4 May @ 1:54am 
Hello, i made a script which automatically does everything, launches server
please try it, pin it
https://github.com/GorigoLewis/Starbound-HELPFUL-script
Smol Guy 19 Dec, 2024 @ 4:41am 
i did as he said but there is no pick link source
TTV/drowarrow 31 Jul, 2024 @ 4:28pm 
also he gives examples of how to do it literally in the bit of the guide just above the comments section if i'm seeing things correctly
TTV/drowarrow 31 Jul, 2024 @ 4:25pm 
@Awkland i believe it might be the quoted comment in the last reply on that thread
Awkland 31 Jul, 2024 @ 4:01pm 
The reply in your post you linked doesn't seem to be there anymore, so how do you do it?
Serelia 25 Jul, 2023 @ 12:56pm 
Ah that's the only one I found too, didn't work for some reason. Guess I'll have to try again. Thanks!
Mo¡stDreams  [author] 25 Jul, 2023 @ 10:31am 
Someone explained how on the chucklefish forums on my post for SWEL there, https://community.playstarbound.com/threads/starbound-workshop-easy-linker-swel.123583/#post-3379187
Serelia 16 Jul, 2023 @ 2:59pm 
How do you point the server straight to the workshop now like you mentioned? I can't find any guide, or rather none that actually works...
Mo¡stDreams  [author] 9 Jun, 2023 @ 11:31pm 
I also believe that changing the config for the server to point straight to workshop now works great anyway so this tool I think is somewhat redundant
Mo¡stDreams  [author] 9 Jun, 2023 @ 11:30pm 
I tried to fix this issue once but in the end decided not to worry about that part as you can manually link those with command line, that said I wrote this script went I actively played the game and had less knowledge of how to program and code so possible I can fix it, is more a matter of motivation