Starbound
Starbound takes place in a two-dimensional, procedurally generated universe which the player is able to explore in order to obtain new weapons, armor, and items, and to visit towns and villages inhabited by various intelligent lifeforms.
Ports
Add an allocation on the node for each port.
- Game 21025
Image
- source image ghcr.io/ptero-eggs/games:source
Panel features
- steam_disk_space
The Panel tells the user when SteamCMD does not have enough disk space.
Startup
The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.
6 variables
Startup command
./starbound_serverThis is a required setting and cannot be set to anonymous.
STEAM_USERUsers cannot see
required|stringA value is required.
Steam User Password
STEAM_PASSUsers cannot see
nullable|string
The ID corresponding to the game to download and run using SRCDS.
SRCDS_APPIDUsers can see
string
Steam account auth code. Required if you have 2fa enabled.
STEAM_AUTHUsers can edit
nullable|string|max:5
This is to auto-update the game server.
AUTO_UPDATEUsers can edit
required|boolean
Set to true if you want to use your subscribed Workshop content
WORKSHOPUsers can edit
required|boolean
Wings
- Stop command
- ^C (SIGINT)
- Running when the console shows
- Starting UniverseServer
Files Wings edits
Wings sets these values in these files before each start.
storage/starbound_server.config json
- gameServerPort
- {{server.build.default.port}}
Readme
Starbound
Their desctiption: In Starbound, you create your own story - there’s no wrong way to play! You may choose to save the universe from the forces that destroyed your home, uncovering greater galactic mysteries in the process, or you may wish to forego a heroic journey entirely in favor of colonizing uncharted planets.
Server Ports
Starbound requires a single port to be oepened
| Port | default |
|---|---|
| Game | 21025 |
Changes
- Validate and update embedded URLs
· Daniel Barton · bf9f3cb
- SteamCMD + Other fixes
· yesBad · edbf925
- Add steamcmd based eggs
· Daniel Barton · 60ef9fb
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 65 lines bash in ghcr.io/ptero-eggs/installers:debian Show Hide
#!/bin/bash
# steamcmd Base Installation Script
## just in case someone removed the defaults.
if [ "${STEAM_USER}" == "" ]; then
echo -e "steam user is not set.\n"
echo -e "Using anonymous user.\n"
STEAM_USER=anonymous
STEAM_PASS=""
STEAM_AUTH=""
else
echo -e "user set to ${STEAM_USER}"
fi
## download and install steamcmd
cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
cd /mnt/server/steamcmd
# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt
export HOME=/mnt/server
## install game using steamcmd
./steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir /mnt/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6
## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so
## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so
## Starbound specific setup.
cd /mnt/server/
## edit sbinit config
mv /mnt/server/linux/* /mnt/server/
rm -rf /mnt/server/linux
sed -i -e 's/\.\./\./g' /mnt/server/sbinit.config
## pull starbound_server.config
mkdir -p /mnt/server/storage
curl -sSL https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/starbound/starbound_server.config > /mnt/server/storage/starbound_server.config
## use Worksop content
if [ "${WORKSHOP}" == "1" ]; then
for dir in /mnt/server/steamapps/workshop/content/211820/*/
do
# Removes the trailing slash from the full path
dir=${dir%*/}
echo Sym-linking mod ${dir##*/} files into the mods folder
INDEX=0
for pakfile in ${dir}/*.pak
do
ln -r -s $pakfile /mnt/server/mods/${dir##*/}_${INDEX}.pak
INDEX=$((INDEX+1))
done
done
fi