33 lines
742 B
Bash
33 lines
742 B
Bash
#!/usr/bin/env bash
|
|
|
|
set -eu
|
|
|
|
if ! [[ -v STATE_DIRECTORY && -v CREDENTIALS_DIRECTORY ]]; then
|
|
echo "Error: Runtime dir or credential not set"
|
|
exit 1
|
|
fi
|
|
|
|
# Update the server to the latest version
|
|
echo "Updating/installing starbound"
|
|
|
|
mkdir -p "${STATE_DIRECTORY}/.steamcmd"
|
|
steamcmd <<EOF
|
|
force_install_dir $STATE_DIRECTORY
|
|
login tlater $(cat "$CREDENTIALS_DIRECTORY/steam")
|
|
app_update 211820
|
|
quit
|
|
EOF
|
|
|
|
echo "Updating config"
|
|
if [ -f "$1" ]; then
|
|
mkdir -p ./storage
|
|
cp "$1" ./storage/starbound_server.config
|
|
fi
|
|
|
|
echo "Running starbound server"
|
|
patchelf --set-interpreter '@interpreter@' ./linux/starbound_server
|
|
# Must be run from the directory that the binary is in (why do game
|
|
# devs do this?)
|
|
cd linux
|
|
./starbound_server
|