Skip to content

Instantly share code, notes, and snippets.

@unquietwiki
Last active March 26, 2019 16:05
Show Gist options
  • Save unquietwiki/f47f0ced01fcb2698dee7089eb8ab807 to your computer and use it in GitHub Desktop.
Save unquietwiki/f47f0ced01fcb2698dee7089eb8ab807 to your computer and use it in GitHub Desktop.
Starbound + Frackin Universe Server on Linux (Debian/Ubuntu)
## Key References
- https://starbounder.org/Guide:LinuxServerSetup
- https://developer.valvesoftware.com/wiki/SteamCMD#Linux
- http://steamcommunity.com/sharedfiles/filedetails/?id=734496146&searchtext=Frackin+Universe
- https://github.com/sayterdarkwynd/FrackinUniverse
- https://developer.github.com/v3/repos/releases/#get-the-latest-release
- https://forum.studio-397.com/index.php?threads/how-to-getting-content-from-the-workshop-on-my-dedicated-server.58702/
- https://steamcommunity.com/sharedfiles/filedetails/?id=729480149
## /etc/profile.d/steamCreds.sh OR ADD TO /home/starbound/.profile
*Populate with account credentials*
```
export STEAM_USERNAME=""
export STEAM_PASSWORD=""
```
## /etc/systemd/system/starbound-server.service
```
[Unit]
Description=StarboundServer
After=network.target
[Service]
WorkingDirectory=/home/starbound/Steam/steamapps/common/Starbound/linux
User=starbound
Group=starbound
Type=simple
ExecStart=/home/starbound/Steam/steamapps/common/Starbound/linux/starbound_server
RestartSec=15
Restart=always
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target
```
## One-time preparation (needs root priv)
```
sudo apt update && apt install -y lib32gcc1 libvorbisfile3 ca-certificates curl wget
sudo useradd -m -s /bin/bash starbound
```
## /home/starbound/maintain_server.sh (chmod a+x)
```
#!/bin/bash
STARBOUND_USERDIR = /home/starbound
curl https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xvzf -
./steamcmd.sh +login $STEAM_USERNAME $STEAM_PASSWORD +force_install_dir $STARBOUND_USERDIR +app_update 211820 validate +quit
./steamcmd.sh +login $STEAM_USERNAME $STEAM_PASSWORD +workshop_download_item 211820 729480149 +quit # Frackin Universe
#./steamcmd.sh +login $STEAM_USERNAME $STEAM_PASSWORD +workshop_download_item 211820 729427436 +quit # Food Stack
#./steamcmd.sh +login $STEAM_USERNAME $STEAM_PASSWORD +workshop_download_item 211820 758897017 +quit # No more watering
#./steamcmd.sh +login $STEAM_USERNAME $STEAM_PASSWORD +workshop_download_item 211820 729427606 +quit # Improved containers
#./steamcmd.sh +login $STEAM_USERNAME $STEAM_PASSWORD +workshop_download_item 211820 729599895 +quit # Automatic doors
# Download & extract latest FrackinUniverse (manual method)
#curl -s https://api.github.com/repos/sayterdarkwynd/FrackinUniverse/releases/latest | grep tarball_url | cut -d '"' -f 4 | wget -i - -O ~/FU.tar.gz
#rm -fr $STARBOUND_USERDIR/mods/FrackinUniverse
#mkdir $STARBOUND_USERDIR/mods/FrackinUniverse
#tar --strip-components=1 -xvzf ~/FU.tar.gz -C $STARBOUND_USERDIR/mods/FrackinUniverse
#rm ~/FU.tar.gz
```
## Maintenance
*Be aware of authenticator prompts*
```
systemctl stop starbound-server
sudo su - starbound
~/maintain_server.sh
exit
systemctl start starbound-server
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment