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.

PortDefaultNotes
Game27015
Query27016Has 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 and Startup

Startup Command

cd DedicatedServer ; wine EmpyrionDedicated.exe -batchmode -nographics -logFile ../Logs/server/server.log & PID=$! ; tail -c0 -F ../Logs/server/server.log & until nc -z 127.0.0.1 {{TELNET_PORT}}; do sleep 1;done ; telnet -E 127.0.0.1 {{TELNET_PORT}} ; wait $PID

Variables

Steam App ID

Environment Variable: SRCDS_APPID
Default Value: 530870
User Viewable:
User Editable:
Windows Install

Environment Variable: WINDOWS_INSTALL
Default Value: 1
User Viewable:
User Editable:
Wine Debug

Environment Variable: WINEDEBUG
Default Value: -all
User Viewable:
User Editable:
Telnet Port

DO NOT expose to the internet. Used internally for console connection.

Environment Variable: TELNET_PORT
Default Value: 1030
User Viewable:
User Editable:
Server Name

Server name to show in the server list.

Environment Variable: SERVER_NAME
Default Value: A Pterodactyl Server
User Viewable:
User Editable:
Server Description

Server info, can contain [b]bold[/b] text or a [u][url=empyriongame.com]link[/url][/u].

Environment Variable: SERVER_DESCRIPTION
Default Value: An Empyrion Galactic Survival server hosted on Pterodactyl.
User Viewable:
User Editable:
Seed

The seed determines how the world is procedurally generated - the same seed means the same world

Environment Variable: GAME_SEED
Default Value: 1011345
User Viewable:
User Editable:
Max Players

Max number of players

Environment Variable: MAX_PLAYERS
Default Value: 8
User Viewable:
User Editable:
Public

Disable 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.

Environment Variable: SERVER_PUBLIC
Default Value: true
User Viewable:
User Editable:
Server Password

Password required to enter the server.

Environment Variable: SERVER_PASSWORD
Default Value:
User Viewable:
User Editable:
Steam Beta ID

Installs beta branch if specified.

Environment Variable: SRCDS_BETAID
Default Value:
User Viewable:
User Editable:
Allowed Blueprints

None = Blueprint system completely disabled, StockOnly = only stock blueprints can be produced, All = all types allowed (default)

Environment Variable: ALLOWED_BLUEPRINTS
Default Value: All
User Viewable:
User Editable:
Server Heartbeat

Timeout 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 feature

Environment Variable: SERVER_HEARTBEAT
Default Value: 15
User Viewable:
User Editable:
Timeout Booting PfServer

Monitors 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 ok

Environment Variable: TIMEOUT_BOOTING_PF_SERVER
Default Value: 90
User Viewable:
User Editable:
Game Mode

Survival or Creative.

Environment Variable: GAME_MODE
Default Value: Survival
User Viewable:
User Editable:
EAC Active

Environment Variable: EAC_ACTIVE
Default Value: true
User Viewable:
User Editable:
Max Allowed Size Class

Restrict 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!

Environment Variable: MAX_ALLOWED_SIZE_CLASS
Default Value: 10
User Viewable:
User Editable:
Custom Scenario

Enable custom scenario. Name of custom scenario from folder Content\Scenarios.

Environment Variable: CUSTOM_SCENARIO
Default Value: Default Multiplayer
User Viewable:
User Editable:
Save Name

Determines name of the save game.

Environment Variable: GAME_NAME
Default Value: DediGame
User Viewable:
User Editable:
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 "-----------------------------------------"
Installation Imageghcr.io/ptero-eggs/installers:debianInstallation Entrypointbash