Avorion
A procedural co-op space sandbox where players can build their own space ships out of dynamically scalable blocks. Fight epic space battles, explore, mine, trade, wage wars and build your own empire to save your galaxy from being torn apart by an unknown enemy.
Ports
Add an allocation on the node for each port.
- Game 27000
- Query 27003
- Steam Query 27020
- Steam 27021
Image
- SteamCMD, Debian ghcr.io/ptero-eggs/steamcmd:debian
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.
17 variables
Startup command
./bin/AvorionServer --galaxy-name Avorion --admin {{ADMIN_ID}} --datapath galaxy --port 27000 --query-port 27003 --steam-master-port 27021 --steam-query-port 27020 --max-players 10 --difficulty 0 --collision-damage 1 --save-interval 300 --same-start-sector true --server-name "Avorion Server" --threads 1 --listed trueDotted values come from the server settings. These values are examples.
Name of the Galaxy to create
GALAXY_NAMEUsers can edit
required|string|max:32
The name of the server, shown in the server list.
SERVER_NAMEUsers can edit
required|string|max:64
Steam64 ID for the player to make Server Admin
ADMIN_IDUsers can edit
required|string|max:20A value is required.
Maximum number of players allowed
MAX_PLAYERSUsers can see
required|int|max:64
Difficulty of the server, allowed values are: -3, -2, -1, 0, 1, 2, 3 Default: 0
DIFFICULTYUsers can edit
required|integer|in:0,1,2,3,-1,-2,-3
A multiplier for damage to colliding objects. Accepts floating-point numbers, e.g. 0.5 is 50% collision damage. 0: no damage, 1: full damage. default: 1
COLLISION_DMGUsers can edit
required|string|max:20
Time between automatic saves in seconds. Defaults to 300 (5 minutes).
SAVE_INTERVALUsers can edit
required|int
Indicates if all players should start in the same sector. If false, a random empty sector on the outer rim is populated and used as the home sector for each new player.
SAME_START_SECTORUsers can edit
required|string|in:true,false
Number of concurrent threads that are used to update sectors. (Identical to the 'Threads' setting ingame.)
GAME_THREADSUsers can edit
required|integer|max:20
Privacy setting. If enabled together with useSteam, the server will show up in public server lists. (Same as the ingame setting 'List Publicly')
SERVER_LISTEDUsers can edit
required|string|in:true,false
SRCDS_APPIDUsers cannot see
required|string|in:565060
LD_LIBRARY_PATHUsers cannot see
required|string|max:20
STEAM_MASTER_PORTUsers can see
required|string|max:20
STEAM_QUERY_PORTUsers can see
required|string|max:20
QUERY_PORTUsers can see
required|string|max:20
1 = on; 0 = off
AUTO_UPDATEUsers can edit
required|boolean
Leave empty for the public branch, beta for the beta branch.
SRCDS_BETAIDUsers can edit
nullable|string|in:,beta
Wings
- Stop command
- /stop
- Running when the console shows
- Server startup complete
Readme
Avorion
A procedural co-op space sandbox where players can build their own space ships out of dynamically scalable blocks. Fight epic space battles, explore, mine, trade, wage wars and build your own empire to save your galaxy from being torn apart by an unknown enemy.
Server Ports
Avorion requires 4 ports to run. Despite claiming to require 4 ports, the game port is the only one that appears to have a config option.
| Port | default |
|---|---|
| Game | 27000 |
| Query | 27003 |
| Steam Query | 27020 |
| Steam | 27021 |
Additionally the server can be configured with an RCON port. RCON will be disabled if a password is not specified.
| Port | default |
|---|---|
| RCON | 27015 |
RCON
If you plan to use RCON it currently needs to be manually configured in the server.ini file. At some point server variables will be added.
Updating
Because with an update to this egg, the startup command changed, so if you update this egg, you will manually have to update the startup command for every server that was already made.
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 50 lines bash in ghcr.io/ptero-eggs/installers:debian Show Hide
#!/bin/bash
# Avorion Installation Script
#
# Server Files: /mnt/server
## just in case someone removed the defaults.
if [[ "${STEAM_USER}" == "" ]] || [[ "${STEAM_PASS}" == "" ]]; 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
mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing
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 +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) ${INSTALL_FLAGS} validate +quit
## 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
mkdir -p /mnt/server/backups
mkdir -p /mnt/server/galaxy/${GALAXY_NAME}
curl https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/avorion/server.ini --output /mnt/server/galaxy/${GALAXY_NAME}/server.ini
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"