Empyrion: Galactic Survival
gamesBuild 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!
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
ghcr.io/ptero-eggs/installers:debianbash#!/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 "-----------------------------------------"