If you like Starbound, you probably want to run your own server for you and your friends. In just a few easy steps, we’ll guide you through setting up a Starbound server on a Linux environment, and give you some helpful tips to keep it fast for all of your players!
For this tutorial, we’ll be using Ubuntu 14.04 with around 4GB of RAM. Starbound is, at the time of writing, very memory-intensive, but the server should run with less RAM if you’re careful.
We’ll also be using PuTTY but you can use whichever SSH client you are familiar with.
Finally, you’ll need a Steam account that owns Starbound to log into SteamCMD with – downloading the server files requires an account that owns the game.
Step 1: Log into your server, install some libraries, and create a user for your server.
First off, you’ll probably need to install some libraries. To install them…
sudo apt-get install lib32gcc1 libpng12-0
Hit ‘y’ if it prompts you, these are just some 32-bit libraries that SteamCMD requires and a png library that Starbound requires. Once that is done with, you should add an unprivileged user that your Starbound server will run as. That way, if there is a bug in the software that lets a hacker gain shell access, they won’t be able to do much besides annoy you.
So let’s create that user, shall we?
useradd -m -s /bin/bash starbound
You will also want to give that user account a strong password, so that nobody can log in as that user. Simply run the following command, and it will ask you to type in a password.
Note: For security reasons, it won’t display what you’re typing. Write the password down somewhere just in case you forget it.
passwd starbound
Step 2: Download SteamCMD and set it up.
SteamCMD is a command-line interface for Steam that allows you to download server files easily once it is set up. This quick series of commands will download and prepare the SteamCMD files for use.
su starbound cd ~ mkdir steam cd steam wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz tar -xvf steamcmd_linux.tar.gz chmod +x steamcmd.sh
After that, you will want to launch SteamCMD to let it download some files and update itself.
./steamcmd.sh
Once that is all done you should see a prompt that says “Steam>” – that means you are ready to proceed. Wait until you see that prompt. Then you will need to login to your Steam account.
login
It will ask you for your password. Before you enter it, a word of warning: Your password will be visible while you’re typing it. Evacuate your location of prying eyes before proceeding.
Type in your password and hit your enter key. If you have Steam Guard enabled, you will need to retrieve the Steam Guard code from the email. Once you’re authenticated, you’ll be ready to install Starbound.
Step 3: Install Starbound and start it up.
Before we install Starbound, we’ll want to select a directory to install it to. For example…
force_install_dir ../starbound-server/
Now we can install Starbound. To install the latest stable version, run this command:
app_update 211820
This might take a few tries, if it fails just re-run the command. It’ll download a little more each time. Once that’s done with, just type “exit” and hit your enter key. Then we’ll navigate to your starbound server folder.
cd ~/starbound-server/linux64
Now you can start your server! Just run this command:
./starbound_server
It’ll start up after a few seconds, and you will be able to log in and play! You can shut it down by holding your control key and tapping “c”.
Step 4: Making sure your server stays fast and responsive.
After a day or two of running, your server will slowly slow down due to occasional memory leaks that add up. To mitigate the damage, you should restart the server software every so often.
Unfortunately, at the moment, there is not much else you can do to keep the server running fast. Adding more RAM to your server will help delay the deterioration of your server’s performance.
Enjoy your brand-new Starbound server.
If you want to install the “nightly” or “unstable” builds, you can add “-beta nightly” or “-beta unstable” to the app_update line above. Otherwise, have fun playing on your awesome new server with all of your friends!