/starbound-sessions

This repo holds the latest Starbound universe state as played by @Zegnat and @Lisser

Setting up the server

  1. Spin up Ubuntu server (including SSH public keys)
  2. Move starbound zip:
    • The starbound binary is currently not yet centrally hosted, but it's on my Macbook
    • Push binary to server with:
    • scp -r ~/downloads/starbound_1.4.4_linux.zip root@<ip-address>:~/
  3. Unpack
    • apt-get install bsdtar
    • mkdir starbound && bsdtar --strip-components=1 -C starbound -xf starbound_1.4.4_linux.zip
  4. Load this repository on top of the unpacked zip
    • Move into the directory cd starbound
    • Initiate git git init --quiet
    • Add this repository as a remote git remote add origin git@github.com:Lisser/starbound-sessions.git
    • Grab the latest commit from the remote git pull --quiet --depth=1 origin master
    • Let the new local branch track the remote master, so we can push changes back git branch --quiet --set-upstream-to origin/master
  5. Open firewall ufw allow 21025
  6. Start server:
    • screen -S starbound
    • cd ~/starbound/starbound_1.4.4_linux/linux/
    • chmod +x starbound_server
    • ./starbound_server
  7. Detach
    • ctrl a
    • d
  8. Attach
    • screen -r starbound

All the commands at once

Once you are in the directory with the ZIP archive, and have both bsdtar and git available on your path, the following should do all of the directory setup described above:

mkdir starbound && bsdtar --strip-components=1 -C starbound -xf starbound_1.4.4_linux.zip
cd starbound
git init --quiet
git remote add origin git@github.com:Lisser/starbound-sessions.git
git pull --quiet --depth=1 origin master
git branch --quiet --set-upstream-to origin/master

Spinning down

  1. Inside the starbound directory, commit all changes and push to this repository:
    • git add -A
    • git commit -m "chore(save): data from 2019-12-12" (change the date!)
    • git push

Note that you must have push access to this repository to spin down!

Todo: work this all out in a script, or Docker container or something! :)