/ Game server

How to host a Starbound server on Ubuntu

Starbound open beta has released today! In honor of this release, here is a quick run down on how to host a Starbound server on Ubuntu! For creating this guide, I tested this Starbound server installation on a Digital Ocean $10/month 1GB RAM + 40GB SSD server

Requirements

  1. Basic understanding of Linux terminal
  2. Ability to access your server via terminal or SSH
  3. Access to the root user
  4. Steam account with Starbound purchased
  5. Port 21025 TCP open on router/firewall

Setup

We'll be using screen command to run Starbound in the background. Be sure it is installed with:

apt-get install screen

We also need to install GCC for SteamCMD to function proper:

apt-get install lib32gcc1

Note, if you're running a Ubuntu version older than 13.10, install this instead: apt-get install ia32-libs

If you don't already have a user separate from "root" to install servers on, create a new user. In this guide we'll be using a user called "starbound".

adduser starbound

Enter a secure password and your can ignore all the personal info it asks you to provide.

Allow the Starbound user to use a screen session.

chmod a+rw /dev/pts/0

Finally, login to your Starbound user and lets begin installing the Starbound server!

su starbound Switch user to the Starbound user created.

Create some folders

Start by making a couple of folders for Steam and Starbound:

  1. cd Change directory to the Starbound home directory.
  2. mkdir steam Make a Steam directory.
  3. mkdir starbound Make a Starbound directory.
  4. cd steam Change directory to our Steam folder.

Download and run SteamCMD

SteamCMD is the command line version of Steam built for server hosts. It is quite intuitive and automatable once you learn the basics.

Download the SteamCMD executable for Linux/Ubuntu:

  1. wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
    Download SteamCMD for Linux.
  2. tar -xvzf steamcmd_linux.tar.gz
    Unpack the tar file. Think unziping.
  3. rm steamcmd_linux.tar.gz
    Remove the tar file after we've extracted its contents.
  4. ./steamcmd.sh
    Run SteamCMD to update it. Once the update is complete, type quit to exit. If it errors during the update, re-run this command.

Create some server scripts

To make life easier down the road, let's create some simple scripts to update and run Starbound with SteamCMD.

Create a new file for updating Starbound:

nano starbound-update.sh

Transcribe this into the text editor:

!/bin/sh
./steamcmd.sh +runscript starbound.txt

Hit Ctrl+X to close and save this file.

Create another file for SteamCMD to login to your Steam credentials and update Starbound:

nano starbound.txt

Replace user and pass with the obvious:

login user pass
force_install_dir ../starbound
app_update 211820
quit

Once again, hit Ctrl+X to close and save the file.

Download and Run Starbound Server

Almost ready to launch the server! Run the starbound-update.sh we just created. If you have Steam Guard enabled on your Steam account, input the 5 digit code from your email when prompted.

  1. sh starbound-update.sh
    Execute the update script and brew a cup 'o tea while SteamCMD downloads the server files. If the update errors out while downloading, run this command again.
  2. cd ../starbound/linux64
    Change directory to the 64-bit Linux Starbound files. Note: If you're running 32-bit version of Ubuntu, replace the linux64 with linux32.
  3. screen -S starbound
    Start a screen to run Starbound in the background.
  4. ./launch_starbound_server.sh
    Launch the Starbound server!

Protip: To leave the screen, hit Ctrl+A then D. To return to the server console, use screen -r starbound! To stop the Starbound server, use Ctrl+C while viewing the server console.

Launch Starbound on your main PC/Mac and try connecting to your server's IP address. If success, congrats! Enjoy traversing the universe with friends. :)

Notes

Starbound is in a beta stage at the time of typing this post. I've done my best to limit the margin of error in this guide, but beta is beta and there will be issues.

For this guide, I created a Digital Ocean server droplet running with 1GB RAM on Ubuntu 13.10 64-bit for $10/month. For best results with this guide, use Digital Ocean as the server provider. They also run their servers with SSDs! ♥

DO offers a 512MB of RAM server for $5/month, but testing has shown it to be prone to crash when players connect.