Avorion
gamesA 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.
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.
Docker Images (1)
| Name | Image |
|---|---|
ghcr.io/ptero-eggs/steamcmd:debian | ghcr.io/ptero-eggs/steamcmd:debian |
Startup Command
./bin/AvorionServer --galaxy-name {{GALAXY_NAME}} --admin {{ADMIN_ID}} --datapath galaxy --port {{SERVER_PORT}} --query-port {{QUERY_PORT}} --steam-master-port {{STEAM_MASTER_PORT}} --steam-query-port {{STEAM_QUERY_PORT}} --max-players {{MAX_PLAYERS}} --difficulty {{DIFFICULTY}} --collision-damage {{COLLISION_DMG}} --save-interval {{SAVE_INTERVAL}} --same-start-sector {{SAME_START_SECTOR}} --server-name "{{SERVER_NAME}}" --threads {{GAME_THREADS}} --listed {{SERVER_LISTED}} Variables (17)
Galaxy Name
Name of the Galaxy to create
- Environment:
GALAXY_NAME- Default:
Avorion- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:32
Server Name
The name of the server, shown in the server list.
- Environment:
SERVER_NAME- Default:
Avorion Server- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:64
Admin ID
Steam64 ID for the player to make Server Admin
- Environment:
ADMIN_ID- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
Max Players
Maximum number of players allowed
- Environment:
MAX_PLAYERS- Default:
10- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|int|max:64
Game Difficulty
Difficulty of the server, allowed values are: -3, -2, -1, 0, 1, 2, 3 Default: 0
- Environment:
DIFFICULTY- Default:
0- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|in:0,1,2,3,-1,-2,-3
Collision Damage
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
- Environment:
COLLISION_DMG- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
Save Interval
Time between automatic saves in seconds. Defaults to 300 (5 minutes).
- Environment:
SAVE_INTERVAL- Default:
300- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|int
Same Start Sector
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.
- Environment:
SAME_START_SECTOR- Default:
true- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Threads
Number of concurrent threads that are used to update sectors. (Identical to the 'Threads' setting ingame.)
- Environment:
GAME_THREADS- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|max:20
List Publicly
Privacy setting. If enabled together with useSteam, the server will show up in public server lists. (Same as the ingame setting 'List Publicly')
- Environment:
SERVER_LISTED- Default:
true- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Steam App ID
- Environment:
SRCDS_APPID- Default:
565060- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:565060
LD Library Path
- Environment:
LD_LIBRARY_PATH- Default:
./linux64- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
Steam Master Port
- Environment:
STEAM_MASTER_PORT- Default:
27021- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
Steam Query Port
- Environment:
STEAM_QUERY_PORT- Default:
27020- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
Query Port
- Environment:
QUERY_PORT- Default:
27003- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
Auto Update
1 = on; 0 = off
- Environment:
AUTO_UPDATE- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|boolean
Beta branch
Leave empty for the public branch, beta for the beta branch.
- Environment:
SRCDS_BETAID- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|in:,beta
Installation Script
ghcr.io/ptero-eggs/installers:debianbash#!/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 "-----------------------------------------"