Empyrion: Galactic Survival

games
Report Issue

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!

Contributors:
README

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.

Docker Images (1)
Name Image
ghcr.io/ptero-eggs/yolks:wine_latest ghcr.io/ptero-eggs/yolks:wine_latest
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 (19)

Steam App ID

Environment:
SRCDS_APPID
Default:
530870
User Viewable:
User Editable:
Rules:
required|string|max:20

Windows Install

Environment:
WINDOWS_INSTALL
Default:
1
User Viewable:
User Editable:
Rules:
required|string|max:20

Wine Debug

Environment:
WINEDEBUG
Default:
-all
User Viewable:
User Editable:
Rules:
required|string|max:20

Telnet Port

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

Environment:
TELNET_PORT
Default:
1030
User Viewable:
User Editable:
Rules:
required|integer|between:1024,65535

Server Name

Server name to show in the server list.

Environment:
SERVER_NAME
Default:
A Pterodactyl Server
User Viewable:
User Editable:
Rules:
required|string|max:20

Server Description

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

Environment:
SERVER_DESCRIPTION
Default:
An Empyrion Galactic Survival server hosted on Pterodactyl.
User Viewable:
User Editable:
Rules:
nullable|string|max:127

Seed

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

Environment:
GAME_SEED
Default:
1011345
User Viewable:
User Editable:
Rules:
required|numeric|between:1,9999999

Max Players

Max number of players

Environment:
MAX_PLAYERS
Default:
8
User Viewable:
User Editable:
Rules:
required|integer|min:1

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:
SERVER_PUBLIC
Default:
true
User Viewable:
User Editable:
Rules:
required|string|in:true,false

Server Password

Password required to enter the server.

Environment:
SERVER_PASSWORD
Default:
None
User Viewable:
User Editable:
Rules:
nullable|string|max:20

Steam Beta ID

Installs beta branch if specified.

Environment:
SRCDS_BETAID
Default:
None
User Viewable:
User Editable:
Rules:
nullable|string|max:30

Allowed Blueprints

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

Environment:
ALLOWED_BLUEPRINTS
Default:
All
User Viewable:
User Editable:
Rules:
required|string|in:All,StockOnly,None

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:
SERVER_HEARTBEAT
Default:
15
User Viewable:
User Editable:
Rules:
required|integer|between:0,180

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:
TIMEOUT_BOOTING_PF_SERVER
Default:
90
User Viewable:
User Editable:
Rules:
required|integer|between:0,600

Game Mode

Survival or Creative.

Environment:
GAME_MODE
Default:
Survival
User Viewable:
User Editable:
Rules:
required|string|max:20|in:Survival,Creative

EAC Active

Environment:
EAC_ACTIVE
Default:
true
User Viewable:
User Editable:
Rules:
required|string|max:20|in:true,false

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:
MAX_ALLOWED_SIZE_CLASS
Default:
10
User Viewable:
User Editable:
Rules:
required|integer

Custom Scenario

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

Environment:
CUSTOM_SCENARIO
Default:
Default Multiplayer
User Viewable:
User Editable:
Rules:
required|string|max:50

Save Name

Determines name of the save game.

Environment:
GAME_NAME
Default:
DediGame
User Viewable:
User Editable:
Rules:
required|string|max:20
Installation Script
Container: ghcr.io/ptero-eggs/installers:debian
Entrypoint: bash
#!/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 "-----------------------------------------"