Skip to content

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.

egg-avorion.json

updated

Ports

Add an allocation on the node for each port.

  • Game 27000
  • Query 27003
  • Steam Query 27020
  • Steam 27021

Install

Installer image
ghcr.io/ptero-eggs/installers:debian
Steam app
565060
Steam login
not required
Install script
50 lines

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 true

Dotted 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

  1. Validate and update embedded URLs

    · Daniel Barton · bf9f3cb

  2. SteamCMD + Other fixes

    · yesBad · edbf925

  3. Add steamcmd based eggs

    · Daniel Barton · 60ef9fb

All changes on GitHub

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
#!/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 "-----------------------------------------"