Operation Harsh Doorstop
GamesOperation: 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!
README
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!
Server Ports
Operation Harsh Doorstop servers require 3 ports to be open
| Port | default |
|---|---|
| Game | 7777 |
| Query | 27005 |
| RCON | 7779 |
Docker Images (1)
| Name | Image |
|---|---|
ghcr.io/ptero-eggs/steamcmd:debian | ghcr.io/ptero-eggs/steamcmd:debian |
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 (9)
Autop update
Auto update the server on startup
- Environment:
AUTO_UPDATE- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
boolean
app id
- Environment:
SRCDS_APPID- Default:
950900- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:950900
Max Players
Maximum number of players allowed by this server.
- Environment:
MAX_PLAYERS- Default:
32- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|numeric
Server name
Defines the display or host name of the game server when listed in a server browser
- Environment:
SERVER_NAME- Default:
Harsh Doorstop Dedicated Server- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:200
Query port
Defines port for Steam master server traffic
- Environment:
QUERY_PORT- Default:
27005- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|
Rcon Port
Defines port for RCON server traffic
- Environment:
RCON_PORT- Default:
7779- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|
Rcon Max Auth Attempts
Defines the maximum number of authentication attempts an RCON connection can make before being forcibly disconnected
- Environment:
RCON_MAX_AUTH_ATTEMPTS- Default:
3- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|numeric
Rcon Password
Defines the password used for authenticating with the RCON server
- Environment:
RCON_PASSWORD- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:32
Rcon Max Connections
Maximum number of concurrent RCON connections
- Environment:
RCON_MAX_CONNECTIONS- Default:
5- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|numeric
Installation Script
ghcr.io/ptero-eggs/installers:debianbash#!/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 "-----------------------------------------"