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.

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.

Yolks
NameTag
ghcr.io/ptero-eggs/steamcmd:debianghcr.io/ptero-eggs/steamcmd:debian
Variables
NameDescriptionEnvironment VariableDefault ValueUser ViewableUser Editable
Galaxy NameName of the Galaxy to createGALAXY_NAMEAvorionYesYes
Server NameThe name of the server, shown in the server list.SERVER_NAMEAvorion ServerYesYes
Admin IDSteam64 ID for the player to make Server AdminADMIN_IDYesYes
Max PlayersMaximum number of players allowedMAX_PLAYERS10YesNo
Game DifficultyDifficulty of the server, allowed values are: -3, -2, -1, 0, 1, 2, 3 Default: 0DIFFICULTY0YesYes
Collision DamageA 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: 1COLLISION_DMG1YesYes
Save IntervalTime between automatic saves in seconds. Defaults to 300 (5 minutes).SAVE_INTERVAL300YesYes
Same Start SectorIndicates 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_SECTORtrueYesYes
ThreadsNumber of concurrent threads that are used to update sectors. (Identical to the 'Threads' setting ingame.)GAME_THREADS1YesYes
List PubliclyPrivacy setting. If enabled together with useSteam, the server will show up in public server lists. (Same as the ingame setting 'List Publicly')SERVER_LISTEDtrueYesYes
Steam App IDSRCDS_APPID565060NoNo
LD Library PathLD_LIBRARY_PATH./linux64NoNo
Steam Master PortSTEAM_MASTER_PORT27021YesNo
Steam Query PortSTEAM_QUERY_PORT27020YesNo
Query PortQUERY_PORT27003YesNo
Auto Update1 = on; 0 = offAUTO_UPDATE1YesYes
Beta branchLeave empty for the public branch, beta for the beta branch.SRCDS_BETAIDYesYes
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 "-----------------------------------------"