Half-Life 2: Deathmatch
gamesFast multiplayer action set in the Half-Life 2 universe! HL2's physics adds a new dimension to deathmatch play. Play straight deathmatch or try Combine vs. Resistance teamplay. Toss a toilet at your friend today!
README
Half-Life 2: Deathmatch
Fast multiplayer action set in the Half-Life 2 universe! HL2's physics adds a new dimension to deathmatch play. Play straight deathmatch or try Combine vs. Resistance teamplay. Toss a toilet at your friend today!
Server Ports
Half-Life 2: Deathmatch requires 1 port
| Port | default |
|---|---|
| Game | 27015 |
Docker Images (1)
| Name | Image |
|---|---|
ghcr.io/ptero-eggs/steamcmd:debian | ghcr.io/ptero-eggs/steamcmd:debian |
Startup Command
./srcds_run -console -game hl2mp -maxplayers {{MAX_PLAYERS}} +map {{MAP_NAME}} -port {{SERVER_PORT}} -tickrate {{TICK_RATE}} Variables (8)
Steam App ID
Steam App ID used for installation and updates. Rarely needs to be changed.
- Environment:
SRCDS_APPID- Default:
232370- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:232370
Auto Update
Disabling or enabling automated updates on boot
- Environment:
AUTO_UPDATE- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|boolean
Server Name
Name of the server
- Environment:
SERVER_NAME- Default:
Pterodactyl-server- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:30
Map Name
The name of the map
- Environment:
MAP_NAME- Default:
dm_lockdown- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Max Players
Maximum number of players allowed
- Environment:
MAX_PLAYERS- Default:
20- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|between:1,20
Server Password
The password used to join the server
- Environment:
SERVER_PASSWORD- Default:
ChangeMe- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Rcon Password
The password used for the server rcon
- Environment:
RCON_PASSWORD- Default:
ChangeMe- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Tick Rate
Server tick rate
- Environment:
TICK_RATE- Default:
66- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Installation Script
Container:
ghcr.io/ptero-eggs/installers:debianEntrypoint:
bash#!/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} $( [[ -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 server config
cat <<EOF > /mnt/server/hl2mp/cfg/server.cfg
// Basic server settings
hostname "${SERVER_NAME}"
sv_password "${SERVER_PASSWORD}"
rcon_password "${RCON_PASSWORD}"
sv_cheats 0
sv_lan 0
sv_contact "your_email@example.com"
sv_region 0
mp_disable_autokick 0
// Gameplay settings
sv_hl2mp_weapon_respawn_time 20
sv_hl2mp_item_respawn_time 30
mp_weaponstay 0
mp_autocrosshair 1
sv_alltalk 1
mp_allowspectators 1
sv_voiceenable 1
mp_forcerespawn 1
mp_timelimit 20
mp_winlimit 0
mp_maxrounds 0
mp_teams_unbalance_limit 0
mp_friendlyfire 0
mp_flashlight 1
mp_autoteambalance 0
mp_restartgame 1
// Player settings
sv_timeout 60
sv_noclipaccelerate 5
sv_noclipspeed 5
// Miscellaneous settings
sv_downloadurl ""
mp_forcecamera 1
mapcyclefile "mapcycle.txt"
// Server security settings
sv_allowupload 1
sv_allowdownload 1
sv_rcon_banpenalty 10
sv_rcon_maxfailures 5
// Map-related settings
mp_chattime 5
EOF
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"