Skip to content

Space Engineers

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

egg-space-engineers.json

updated

Ports

Add an allocation on the node for each port.

  • Game 27016
  • Steam 8766
  • API 8081

Install

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

Image

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

Panel features

  • steam_disk_space

    The Panel tells the user when SteamCMD does not have enough disk space.

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

export WINEDLLOVERRIDES="mscoree=n,b;mshtml=n,b"; wine /home/container/DedicatedServer64/SpaceEngineersDedicated.exe -path Z:\\home\\container\\config -console -ignorelastsession
  • The ID corresponding to the game to download.

    SRCDS_APPIDUsers cannot see

    required|numeric|in:298740

  • Name of the server, appears in Steam browser.

    SERVER_NAMEUsers can edit

    required|string|max:64

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

    WORLD_NAMEUsers can see

    required|string|max:20

  • Description of the game

    SERVER_DESCUsers can edit

    required|string|max:200

  • Game Mode setting: Survival, Creative

    SERVER_MODEUsers can edit

    required|string|in:Survival,Creative

  • MAX_PLAYERSUsers can edit

    required|numeric|digits_between:1,16

  • SAVE_ENABLEDUsers can edit

    required|string|in:true,false

  • Time between auto saves specified in minutes

    SAVE_INTERVALUsers can edit

    required|numeric|digits_between:1,3

  • Steam Port

    STEAM_PORTUsers can see

    required|numeric|max:65535

  • Enable Remote API

    REMOTEAPI_ENABLEUsers can edit

    required|string|in:true,false

  • Remote API Port

    REMOTEAPI_PORTUsers can see

    required|numeric|max:65535

  • AUTO_UPDATEUsers can edit

    required|boolean

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

    EXPERIMENTAL_ENABLEDUsers can edit

    required|string|in:true,false

  • Allow players to run In-Game Scripts

    INGAMESCRIPTS_ENABLEDUsers can edit

    required|string|in:true,false

  • WINEDEBUG: Debug Level of wine

    WINEDEBUGUsers cannot see

    nullable|string|max:20

  • Required for auto-update

    WINDOWS_INSTALLUsers cannot see

    required|string|in:1

  • WINETRICKS_RUNUsers cannot see

    required|string

  • WINEARCHUsers cannot see

    required|string|max:20

  • WINEPATHUsers cannot see

    required|string|max:20

Wings

Stop command
^^C
Running when the console shows
Game ready...

Files Wings edits

Wings sets these values in these files before each start.

config/SpaceEngineers-Dedicated.cfg xml

MyConfigDedicated.SessionSettings.GameMode
{{server.build.env.SERVER_MODE}}
MyConfigDedicated.SessionSettings.MaxPlayers
{{server.build.env.MAX_PLAYERS}}
MyConfigDedicated.SessionSettings.AutoSaveInMinutes
{{server.build.env.SAVE_INTERVAL}}
MyConfigDedicated.SessionSettings.EnableSaving
{{server.build.env.SAVE_ENABLED}}
MyConfigDedicated.SessionSettings.ExperimentalMode
{{server.build.env.EXPERIMENTAL_ENABLED}}
MyConfigDedicated.SessionSettings.EnableIngameScripts
{{server.build.env.INGAMESCRIPTS_ENABLED}}
MyConfigDedicated.LoadWorld
Z:\home\container\config\Saves\{{server.build.env.WORLD_NAME}}\Sandbox.sbc
MyConfigDedicated.ServerPort
{{server.build.default.port}}
MyConfigDedicated.SteamPort
{{server.build.env.STEAM_PORT}}
MyConfigDedicated.ServerName
{{server.build.env.SERVER_NAME}}
MyConfigDedicated.WorldName
{{server.build.env.WORLD_NAME}}
MyConfigDedicated.ServerDescription
{{server.build.env.SERVER_DESC}}
MyConfigDedicated.RemoteApiEnabled
{{server.build.env.REMOTEAPI_ENABLE}}
MyConfigDedicated.RemoteApiPort
{{server.build.env.REMOTEAPI_PORT}}

config/Saves/World/Sandbox.sbc xml

MyObjectBuilder_Checkpoint.Settings.GameMode
{{server.build.env.SERVER_MODE}}
MyObjectBuilder_Checkpoint.Settings.MaxPlayers
{{server.build.env.MAX_PLAYERS}}
MyObjectBuilder_Checkpoint.Settings.AutoSaveInMinutes
{{server.build.env.SAVE_INTERVAL}}
MyObjectBuilder_Checkpoint.Settings.EnableSaving
{{server.build.env.SAVE_ENABLED}}
MyObjectBuilder_Checkpoint.Settings.ExperimentalMode
{{server.build.env.EXPERIMENTAL_ENABLED}}
MyObjectBuilder_Checkpoint.Settings.EnableIngameScripts
{{server.build.env.INGAMESCRIPTS_ENABLED}}

config/Saves/World/Sandbox_config.sbc xml

MyObjectBuilder_WorldConfiguration.Settings.GameMode
{{server.build.env.SERVER_MODE}}
MyObjectBuilder_WorldConfiguration.Settings.MaxPlayers
{{server.build.env.MAX_PLAYERS}}
MyObjectBuilder_WorldConfiguration.Settings.AutoSaveInMinutes
{{server.build.env.SAVE_INTERVAL}}
MyObjectBuilder_WorldConfiguration.Settings.EnableSaving
{{server.build.env.SAVE_ENABLED}}
MyObjectBuilder_WorldConfiguration.Settings.ExperimentalMode
{{server.build.env.EXPERIMENTAL_ENABLED}}
MyObjectBuilder_WorldConfiguration.Settings.EnableIngameScripts
{{server.build.env.INGAMESCRIPTS_ENABLED}}

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.

Changes

  1. Validate and update embedded URLs

    · Daniel Barton · bf9f3cb

  2. SteamCMD + Other fixes

    · yesBad · edbf925

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