Skip to content

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!

egg-empyrion-galactic-survival.json

updated

Ports

Add an allocation on the node for each port.

  • Game 27015
  • Query 27016

Install

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

Image

  • Wine ghcr.io/ptero-eggs/yolks:wine_latest

Startup

The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.

19 variables

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 1030; do sleep 1;done ; telnet -E 127.0.0.1 1030 ; wait $PID
  • SRCDS_APPIDUsers cannot see

    required|string|max:20

  • WINDOWS_INSTALLUsers cannot see

    required|string|max:20

  • WINEDEBUGUsers cannot see

    required|string|max:20

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

    TELNET_PORTUsers cannot see

    required|integer|between:1024,65535

  • Server name to show in the server list.

    SERVER_NAMEUsers can edit

    required|string|max:20

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

    SERVER_DESCRIPTIONUsers can edit

    nullable|string|max:127

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

    GAME_SEEDUsers can edit

    required|numeric|between:1,9999999

  • Max number of players

    MAX_PLAYERSUsers can edit

    required|integer|min:1

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

    SERVER_PUBLICUsers can edit

    required|string|in:true,false

  • Password required to enter the server.

    SERVER_PASSWORDUsers can edit

    nullable|string|max:20

  • Installs beta branch if specified.

    SRCDS_BETAIDUsers can edit

    nullable|string|max:30

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

    ALLOWED_BLUEPRINTSUsers can edit

    required|string|in:All,StockOnly,None

  • 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

    SERVER_HEARTBEATUsers can edit

    required|integer|between:0,180

  • 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

    TIMEOUT_BOOTING_PF_SERVERUsers can edit

    required|integer|between:0,600

  • Survival or Creative.

    GAME_MODEUsers can edit

    required|string|max:20|in:Survival,Creative

  • EAC_ACTIVEUsers can edit

    required|string|max:20|in:true,false

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

    MAX_ALLOWED_SIZE_CLASSUsers can edit

    required|integer

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

    CUSTOM_SCENARIOUsers can edit

    required|string|max:50

  • Determines name of the save game.

    GAME_NAMEUsers can edit

    required|string|max:20

Wings

Stop command
saveandexit 0

Files Wings edits

Wings sets these values in these files before each start.

dedicated.yaml yaml

ServerConfig.Srv_Port
{{server.build.default.port}}
ServerConfig.Srv_Name
{{env.SERVER_NAME}}
ServerConfig.Srv_MaxPlayers
{{env.MAX_PLAYERS}}
ServerConfig.Srv_Description
{{env.SERVER_DESCRIPTION}}
ServerConfig.Srv_Public
{{env.SERVER_PUBLIC}}
ServerConfig.Srv_Password
{{env.SERVER_PASSWORD}}
ServerConfig.Tel_Enabled
true
ServerConfig.Tel_Port
{{env.TELNET_PORT}}
ServerConfig.Tel_Pwd
GameConfig.Seed
{{env.GAME_SEED}}
ServerConfig.EACActive
{{env.EAC_ACTIVE}}
ServerConfig.MaxAllowedSizeClass
{{env.MAX_ALLOWED_SIZE_CLASS}}
ServerConfig.AllowedBlueprints
{{env.ALLOWED_BLUEPRINTS}}
ServerConfig.HeartbeatServer
{{env.SERVER_HEARTBEAT}}
ServerConfig.TimeoutBootingPfServer
{{env.TIMEOUT_BOOTING_PF_SERVER}}
GameConfig.GameName
{{env.GAME_NAME}}
GameConfig.Mode
{{env.GAME_MODE}}
GameConfig.CustomScenario
{{env.CUSTOM_SCENARIO}}

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.

Changes

  1. Add Empyrion (#62)

    · Daniel Barton · f693861

  2. Removed faulty Empyrion egg

    · Daniel Barton · cfc32fe

  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 62 lines bash in ghcr.io/ptero-eggs/installers:debian Show
#!/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 "-----------------------------------------"