Egg Repository

Pterodactyl Community Egg Repository

Empyrion: Galactic Survival

Build and explore in a true space sandbox survival adventure. Construct mighty capital vessels, sprawling planetary settlements, and vast space stations in your galactic journey to discover the mysteries of Empyrion!

Read Me

Empyrion - Galactic Survival

Empyrion – Galactic Survival is a true space sandbox survival adventure that uniquely combines elements from space simulations, construction games, survival games and first-person shooters. Construct mighty capital vessels, sprawling planetary settlements, and vast space stations in your galactic journey to discover the mysteries of Empyrion!

Server Ports

Empyrion requires 2 ports.

Port Default Notes
Game 27015
Query 27016 Has no variable and must be Game +1

DO NOT expose the TELNET_PORT to the internet as there is no authentication.

Yolks
NameTag
ghcr.io/ptero-eggs/yolks:wine_latestghcr.io/ptero-eggs/yolks:wine_latest
Variables
NameDescriptionEnvironment VariableDefault ValueUser ViewableUser Editable
Steam App IDSRCDS_APPID530870NoNo
Windows InstallWINDOWS_INSTALL1NoNo
Wine DebugWINEDEBUG-allNoNo
Telnet PortDO NOT expose to the internet. Used internally for console connection.TELNET_PORT1030NoNo
Server NameServer name to show in the server list.SERVER_NAMEA Pterodactyl ServerYesYes
Server DescriptionServer info, can contain [b]bold[/b] text or a [u][url=empyriongame.com]link[/url][/u].SERVER_DESCRIPTIONAn Empyrion Galactic Survival server hosted on Pterodactyl.YesYes
SeedThe seed determines how the world is procedurally generated - the same seed means the same worldGAME_SEED1011345YesYes
Max PlayersMax number of playersMAX_PLAYERS8YesYes
PublicDisable if you want to hide your server in the Server Browser. If server is not visible you can connect via IP or via joining a friend's game.SERVER_PUBLICtrueYesYes
Server PasswordPassword required to enter the server.SERVER_PASSWORDYesYes
Steam Beta IDInstalls beta branch if specified.SRCDS_BETAIDYesYes
Allowed BlueprintsNone = Blueprint system completely disabled, StockOnly = only stock blueprints can be produced, All = all types allowed (default)ALLOWED_BLUEPRINTSAllYesYes
Server HeartbeatTimeout in seconds after which a playfield server process will be killed (and all players on it disconnected) if it does no longer send heartbeat messages to the dedi. Set 0 to disable this featureSERVER_HEARTBEAT15YesYes
Timeout Booting PfServerMonitors booting playfield server processes, kills them if they time out (time in seconds, 0 = disabled). This is a conservative default, for faster servers 60 seconds should be okTIMEOUT_BOOTING_PF_SERVER90YesYes
Game ModeSurvival or Creative.GAME_MODESurvivalYesYes
EAC ActiveEAC_ACTIVEtrueYesYes
Max Allowed Size ClassRestrict allowed Blueprint size class: restricted types are not allowed to be produced or spawned 1 = allow only small blueprints, ... , 10 = allow very large blueprints, ..., 50 = allow gigantic blueprints, ... , 0 = no limits. Warning: large blueprints can have very strong performance impact!MAX_ALLOWED_SIZE_CLASS10YesYes
Custom ScenarioEnable custom scenario. Name of custom scenario from folder Content\Scenarios.CUSTOM_SCENARIODefault MultiplayerYesYes
Save NameDetermines name of the save game.GAME_NAMEDediGameYesYes
Install Script
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'ghcr.io/ptero-eggs/installers:debian'

##
#
# Variables
# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.
# WINDOWS_INSTALL - if it's a windows server you want to install set to 1
# SRCDS_APPID - steam app id found here - https://developer.valvesoftware.com/wiki/Dedicated_Servers_List
# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch
# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.
# INSTALL_FLAGS - Any additional SteamCMD  flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.
# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.
#
 ##

# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.
#apt -y update
#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates

## 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 ## other flags may be needed depending on install. looking at you cs 1.6

## 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

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"