Egg Repository

Pterodactyl Community Egg Repository

Space Engineers - Torch Server

Torch is the successor to SE Server Extender and gives server admins the tools they need to keep their Space Engineers servers running smoothly. It features a user interface with live management tools and a plugin system so you can run your server exactly how you'd like. Torch is still in early development so there may be bugs and incomplete features. !!!!! DO NOT CANCEL THE FIRST START, OR YOU NEED TO DELETE THE SERVER AND CREATE FROM SCRATCH !!!!

Read Me

Space Engineers Torch Server

Author & Contributers

NameGithub Profile
gOOvERhttps://github.com/gOOvER

Description

Torch is the successor to SE Server Extender and gives server admins the tools they need to keep their Space Engineers servers running smoothly. It features a user interface with live management tools and a plugin system so you can run your server exactly how you'd like. Torch is still in early development so there may be bugs and incomplete features.

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.

Portdefault
Game27016
Steam8766
API8081

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.

Updating

Because some logic in this egg changed. Already made servers will manualy have to be updated.

This has to be done manual for every server!!

  1. Stop the server.
  2. Update the already impored egg to the newer version.
  3. Change the startup (on the startup tab on the admin side) of the already made server's to: export WINEDLLOVERRIDES="mscoree=n,b;mshtml=n,b"; wine /home/container/Torch.Server.exe -noupdate -nogui -console
  4. Change on the same tab (bottom left) the docker image to: ghcr.io/Ptero-Eggs/yolks:wine_latest
  5. Change the contence of the variable WINETRICKS_RUN to: vcrun2022 corefonts dotnet48
  6. Remove the .wine and .cache folder.
  7. Start the server again.
Yolks
NameTag
ghcr.io/ptero-eggs/yolks:wine_latestghcr.io/ptero-eggs/yolks:wine_latest
Variables and Startup

Startup Command

export WINEDLLOVERRIDES="mscoree=n,b;mshtml=n,b"; wine /home/container/Torch.Server.exe -noupdate -nogui -console

Variables

APP ID

The ID corresponding to the game to download.

Environment Variable: SRCDS_APPID
Default Value: 298740
User Viewable:
User Editable:
Server Name

Name of the server, appears in Steam browser.

Environment Variable: SERVER_NAME
Default Value: A Pterodactyl hosted Space Engineer Server
User Viewable:
User Editable:
World Name

Name of your world (and of your save folder) DO NOT CHANGE THIS !!!!

Environment Variable: WORLD_NAME
Default Value: World
User Viewable:
User Editable:
Server Description

Description of the game

Environment Variable: SERVER_DESC
Default Value: A Pterodactyl hosted Space Engineer Server
User Viewable:
User Editable:
Game Mode

Game Mode setting: Survival, Creative

Environment Variable: SERVER_MODE
Default Value: Survival
User Viewable:
User Editable:
Maximum Players

Environment Variable: MAX_PLAYERS
Default Value: 4
User Viewable:
User Editable:
Enable Saving

Environment Variable: SAVE_ENABLED
Default Value: true
User Viewable:
User Editable:
Auto Save Interval

Time between auto saves specified in minutes

Environment Variable: SAVE_INTERVAL
Default Value: 5
User Viewable:
User Editable:
Steam Port

Steam Port

Environment Variable: STEAM_PORT
Default Value: 8766
User Viewable:
User Editable:
Enable Remote API

Enable Remote API

Environment Variable: REMOTEAPI_ENABLE
Default Value: false
User Viewable:
User Editable:
Remote API Port

Remote API Port

Environment Variable: REMOTEAPI_PORT
Default Value: 8081
User Viewable:
User Editable:
WINEPREFIX

WINEPREFIX

Environment Variable: WINEPREFIX
Default Value: /home/container/.wine
User Viewable:
User Editable:
WINETRICKS_RUN

Environment Variable: WINETRICKS_RUN
Default Value: vcrun2022 corefonts dotnet48
User Viewable:
User Editable:
WINDOWS_INSTALL

Environment Variable: WINDOWS_INSTALL
Default Value: 1
User Viewable:
User Editable:
WINEDEBUG

Environment Variable: WINEDEBUG
Default Value: -all
User Viewable:
User Editable:
Install Script
#!/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 install curl lib32gcc-s1 ca-certificates unzip

## 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

## Download Torch and unpack
cd /mnt/server/
curl -sSL -o torch-server.zip https://build.torchapi.com/job/Torch/job/master/lastSuccessfulBuild/artifact/bin/torch-server.zip
unzip -o torch-server.zip -d /mnt/server/
rm -fR $HOME/torch-server.zip

## Create world and Instance
mkdir -p $HOME/Instance/Saves
if [ ! -d $HOME/Instance/Saves/World ]
then
    curl $dlurl/World.zip -o World.zip
    unzip -o World.zip -d $HOME/Instance/Saves/
fi

if [ ! -f $HOME/Instance/SpaceEngineers-Dedicated.cfg ]; then 
   curl $dlurl/SpaceEngineers-Dedicated.cfg -o $HOME/Instance/SpaceEngineers-Dedicated.cfg;
fi

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"
Installation Imageghcr.io/ptero-eggs/installers:debianInstallation Entrypointbash