Egg Repository

Pterodactyl Community Egg Repository

Operation Harsh Doorstop

Operation: Harsh Doorstop is an Unreal Engine powered shooter sandbox similar to mod-friendly games like Ravenfield and Garry's Mod but with roots in tactical shooters like Squad and Arma III. Our game is entirely donation funded, completely free, and has full Steam workshop support!

Read Me

Operation Harsh Doorstop

Steam

Operation: Harsh Doorstop is an Unreal Engine powered shooter sandbox similar to mod-friendly games like Ravenfield and Garry's Mod but with roots in tactical shooters like Squad and Arma III. Our game is entirely donation funded, completely free, and has full Steam workshop support!

Server Ports

Operation Harsh Doorstop servers require 3 ports to be open

Portdefault
Game7777
Query27005
RCON7779
Yolks
NameTag
ghcr.io/ptero-eggs/steamcmd:debianghcr.io/ptero-eggs/steamcmd:debian
Variables and Startup

Startup Command

./HarshDoorstop/Binaries/Linux/HarshDoorstopServer-Linux-Shipping HarshDoorstop AAS-TestMap?MaxPlayers={{MAX_PLAYERS}} -SteamServerName="{{SERVER_NAME}}" -Port={{SERVER_PORT}} -MULTIHOME=0.0.0.0 -QueryPort={{QUERY_PORT}} -RCONPort={{RCON_PORT}} -EnableRCON -RCONMaxAuthAttempts={{RCON_MAX_AUTH_ATTEMPTS}} -RCONPassword="{{RCON_PASSWORD}}" -RCONMaxActiveConnections={{RCON_MAX_CONNECTIONS}}

Variables

Autop update

Auto update the server on startup

Environment Variable: AUTO_UPDATE
Default Value: 1
User Viewable:
User Editable:
app id

Environment Variable: SRCDS_APPID
Default Value: 950900
User Viewable:
User Editable:
Max Players

Maximum number of players allowed by this server.

Environment Variable: MAX_PLAYERS
Default Value: 32
User Viewable:
User Editable:
Server name

Defines the display or host name of the game server when listed in a server browser

Environment Variable: SERVER_NAME
Default Value: Harsh Doorstop Dedicated Server
User Viewable:
User Editable:
Query port

Defines port for Steam master server traffic

Environment Variable: QUERY_PORT
Default Value: 27005
User Viewable:
User Editable:
Rcon Port

Defines port for RCON server traffic

Environment Variable: RCON_PORT
Default Value: 7779
User Viewable:
User Editable:
Rcon Max Auth Attempts

Defines the maximum number of authentication attempts an RCON connection can make before being forcibly disconnected

Environment Variable: RCON_MAX_AUTH_ATTEMPTS
Default Value: 3
User Viewable:
User Editable:
Rcon Password

Defines the password used for authenticating with the RCON server

Environment Variable: RCON_PASSWORD
Default Value:
User Viewable:
User Editable:
Rcon Max Connections

Maximum number of concurrent RCON connections

Environment Variable: RCON_MAX_CONNECTIONS
Default Value: 5
User Viewable:
User Editable:
Install Script
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'ghcr.io/ptero-eggs/installers:debian'


## 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} 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/HarshDoorstop/Saved/Config/LinuxServer/
cd /mnt/server/HarshDoorstop/Saved/Config/LinuxServer/
touch Game.ini
tee -a mnt/server/HarshDoorstop/Saved/Config/LinuxServer/Game.ini << END
[/Script/RCON.RCONServerSystem]
bEnabled=True
ListenPort=7779
Password="LetMeIn"
MaxActiveConnections=5
MaxAuthAttempts=3

[/Script/Engine.GameSession]
MaxPlayers=32
ServerName="My Awesome Server"
Password="cookies"
END

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