Space Engineers

Games
Report Issue

Space Engineers is a voxel-based sandbox game set in space and on planets.

Contributors:
README

Space Engineers

Author & Contributers

Name Github Profile
gOOvER https://github.com/gOOvER

Description

Space Engineers is a voxel-based sandbox game set in space and on planets.

NOTE Because of the winetricks installation, the install process could take some time. Likewise, the first start of the server takes its time.

SPECIAL NOTE When installed, the Server loads a base World and config from this repo. ONLY THIS WORLD IS SUPPORTED. Everything which is not defined in a variable could be edited directy in the config file /config/SpaceEngineers-Dedicated.cfg and config/Saves/World/Sandbox.sbc

Server Ports

Default server ports are listed below, but the Main, STEAM and API port can be any port.

Port default
Game 27016
Steam 8766
API 8081

Minumum server settings

RAM

This server requires about 6GB.

Based on the information provided by the developer: See here

Disk

This server uses about 7GB of diskspace.

Docker Images (1)
Name Image
ghcr.io/ptero-eggs/yolks:wine_latest ghcr.io/ptero-eggs/yolks:wine_latest
Startup Command
export WINEDLLOVERRIDES="mscoree=n,b;mshtml=n,b"; wine /home/container/DedicatedServer64/SpaceEngineersDedicated.exe -path Z:\\home\\container\\config -console -ignorelastsession
Variables (19)

APP ID

The ID corresponding to the game to download.

Environment:
SRCDS_APPID
Default:
298740
User Viewable:
User Editable:
Rules:
required|numeric|in:298740

Server Name

Name of the server, appears in Steam browser.

Environment:
SERVER_NAME
Default:
A Pterodactyl hosted Space Engineer Server
User Viewable:
User Editable:
Rules:
required|string|max:64

World Name

Name of your world (and of your save folder) !!!!! DO NOT EDIT OR SERVER WILL NOT START !!!!!

Environment:
WORLD_NAME
Default:
World
User Viewable:
User Editable:
Rules:
required|string|max:20

Server Description

Description of the game

Environment:
SERVER_DESC
Default:
A Pterodactyl hosted Space Engineer Server
User Viewable:
User Editable:
Rules:
required|string|max:200

Game Mode

Game Mode setting: Survival, Creative

Environment:
SERVER_MODE
Default:
Survival
User Viewable:
User Editable:
Rules:
required|string|in:Survival,Creative

Maximum Players

Environment:
MAX_PLAYERS
Default:
4
User Viewable:
User Editable:
Rules:
required|numeric|digits_between:1,16

Enable Saving

Environment:
SAVE_ENABLED
Default:
true
User Viewable:
User Editable:
Rules:
required|string|in:true,false

Auto Save Interval

Time between auto saves specified in minutes

Environment:
SAVE_INTERVAL
Default:
5
User Viewable:
User Editable:
Rules:
required|numeric|digits_between:1,3

Steam Port

Steam Port

Environment:
STEAM_PORT
Default:
8766
User Viewable:
User Editable:
Rules:
required|numeric|max:65535

Enable Remote API

Enable Remote API

Environment:
REMOTEAPI_ENABLE
Default:
false
User Viewable:
User Editable:
Rules:
required|string|in:true,false

Remote API Port

Remote API Port

Environment:
REMOTEAPI_PORT
Default:
8081
User Viewable:
User Editable:
Rules:
required|numeric|max:65535

Auto Update

Environment:
AUTO_UPDATE
Default:
1
User Viewable:
User Editable:
Rules:
required|boolean

Enable Experimental Mode

Enable Experimental Mode. Must be 'true' when using mods

Environment:
EXPERIMENTAL_ENABLED
Default:
false
User Viewable:
User Editable:
Rules:
required|string|in:true,false

Enable In-Game Scripts

Allow players to run In-Game Scripts

Environment:
INGAMESCRIPTS_ENABLED
Default:
false
User Viewable:
User Editable:
Rules:
required|string|in:true,false

WINEDEBUG

WINEDEBUG: Debug Level of wine

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

Windows Install

Required for auto-update

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

WINETRICKS_RUN

Environment:
WINETRICKS_RUN
Default:
win11 vcrun2022 mono corefonts
User Viewable:
User Editable:
Rules:
required|string

WINEARCH

Environment:
WINEARCH
Default:
win64
User Viewable:
User Editable:
Rules:
required|string|max:20

WINEPATH

Environment:
WINEPATH
Default:
/home/container
User Viewable:
User Editable:
Rules:
required|string|max:20
Installation Script
Container: ghcr.io/ptero-eggs/installers:debian
Entrypoint: bash
#!/bin/bash
# Installation Script
#
## Define variables
dlurl="https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/space_engineers/default"

# 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

## Create world and config
mkdir -p $HOME/config/Saves
if [ ! -d $HOME/config/Saves/World ]
then
    curl $dlurl/World.zip -o World.zip
    unzip -o World.zip -d $HOME/config/Saves/
fi
if [ ! -f $HOME/config/SpaceEngineers-Dedicated.cfg ]; then curl $dlurl/SpaceEngineers-Dedicated.cfg -o $HOME/config/SpaceEngineers-Dedicated.cfg; fi

rm -fR $HOME/World.zip

# copy libs for mod support
cp -v $HOME/steamclient.dll ../DedicatedServer64/
cp -v $HOME/steamclient64.dll ../DedicatedServer64/
cp -v $HOME/tier0_s.dll ../DedicatedServer64/
cp -v $HOME/tier0_s64.dll ../DedicatedServer64/
cp -v $HOME/vstdlib_s.dll ../DedicatedServer64/
cp -v $HOME/vstdlib_s64.dll ../DedicatedServer64/

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