After a rampant viral outbreak causes global society to collapse, you must survive the harsh wilderness of the Canadian Rockies amidst vast hordes of Infected and rival survivors.
Bare Minimum | Recommended | |
---|---|---|
Processor | AMD64 Only 300% | - |
RAM | 18GiB* | 22GiB |
Storage | 8GiB | 10GiB* |
Network | any | - |
Game Ownership | Not needed | - |
Ports required to run the server in a table format.
Port | default |
---|---|
Game | 7001 |
Query | 7002 |
7001 is the default port, but any port can be used.
Name | Tag |
---|---|
ghcr.io/ptero-eggs/steamcmd:proton | ghcr.io/ptero-eggs/steamcmd:proton |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
App ID | SRCDS_APPID | 2584780 | No | No | |
Windows Install | WINDOWS_INSTALL | 1 | No | No | |
Query Port | QUERY_PORT | 7002 | Yes | No | |
Server Name | The name of the server | SERVER_NAME | A Pterodactyl hosted server | Yes | Yes |
Auto Update | Auto Update the server on start | AUTO_UPDATE | 1 | Yes | Yes |
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'ghcr.io/ptero-eggs/installers:debian'
# 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
## install the steam sdk using steamcmd
./steamcmd.sh +force_install_dir /mnt/server/DeadMatter/Binaries/Win64/ +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update 1007 ${INSTALL_FLAGS} validate +quit
## 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
## add below your custom commands if needed
mkdir -p /mnt/server/DeadMatter/Saved/Config/WindowsServer
cd /mnt/server
echo "2184150" > steam_appid.txt
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"