Egg Repository

Pterodactyl Community Egg Repository

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.

Read Me

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.

Portdefault
Game27000
Query27003
Steam Query27020
Steam27021

Additionally the server can be configured with an RCON port. RCON will be disabled if a password is not specified.

Portdefault
RCON27015

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.

Yolks
NameTag
ghcr.io/ptero-eggs/steamcmd:debianghcr.io/ptero-eggs/steamcmd:debian
Variables and Startup

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

Galaxy Name

Name of the Galaxy to create

Environment Variable: GALAXY_NAME
Default Value: Avorion
User Viewable:
User Editable:
Server Name

The name of the server, shown in the server list.

Environment Variable: SERVER_NAME
Default Value: Avorion Server
User Viewable:
User Editable:
Admin ID

Steam64 ID for the player to make Server Admin

Environment Variable: ADMIN_ID
Default Value:
User Viewable:
User Editable:
Max Players

Maximum number of players allowed

Environment Variable: MAX_PLAYERS
Default Value: 10
User Viewable:
User Editable:
Game Difficulty

Difficulty of the server, allowed values are: -3, -2, -1, 0, 1, 2, 3 Default: 0

Environment Variable: DIFFICULTY
Default Value: 0
User Viewable:
User Editable:
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 Variable: COLLISION_DMG
Default Value: 1
User Viewable:
User Editable:
Save Interval

Time between automatic saves in seconds. Defaults to 300 (5 minutes).

Environment Variable: SAVE_INTERVAL
Default Value: 300
User Viewable:
User Editable:
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 Variable: SAME_START_SECTOR
Default Value: true
User Viewable:
User Editable:
Threads

Number of concurrent threads that are used to update sectors. (Identical to the 'Threads' setting ingame.)

Environment Variable: GAME_THREADS
Default Value: 1
User Viewable:
User Editable:
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 Variable: SERVER_LISTED
Default Value: true
User Viewable:
User Editable:
Steam App ID

Environment Variable: SRCDS_APPID
Default Value: 565060
User Viewable:
User Editable:
LD Library Path

Environment Variable: LD_LIBRARY_PATH
Default Value: ./linux64
User Viewable:
User Editable:
Steam Master Port

Environment Variable: STEAM_MASTER_PORT
Default Value: 27021
User Viewable:
User Editable:
Steam Query Port

Environment Variable: STEAM_QUERY_PORT
Default Value: 27020
User Viewable:
User Editable:
Query Port

Environment Variable: QUERY_PORT
Default Value: 27003
User Viewable:
User Editable:
Auto Update

1 = on; 0 = off

Environment Variable: AUTO_UPDATE
Default Value: 1
User Viewable:
User Editable:
Beta branch

Leave empty for the public branch, beta for the beta branch.

Environment Variable: SRCDS_BETAID
Default Value:
User Viewable:
User Editable:
Install Script
#!/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 "-----------------------------------------"
Installation Imageghcr.io/ptero-eggs/installers:debianInstallation Entrypointbash