Holdfast NaW
Holdfast: Nations at War
- updated
- variables
- 13
- images
- 1
- author
- ankit@bmghosting.com
- sha256
- e1a3e115fb3c
Readme
What is Holdfast: Nations At War
Fight on multiple fronts in Holdfast: Nations At War - A competitive multiplayer first and third person shooter set during the great Napoleonic Era. Charge into battle with over 150 players per server!

Server Ports
These are the servers required ports
| Port | default |
|---|---|
| Game | 20100 |
| Query | 27000 |
| Communications | 8700 |
Startup command
"./holdfastnaw-dedicated/Holdfast NaW" -startserver -batchmode -nographics -screen-width 320 -screen-height 240 -screen-quality Fastest -framerate {{FPSMAX}} --serverheadless -serverConfigFilePath holdfastnaw-dedicated/configs/{{SERVER_CONFIG_PATH}} -logFile holdfastnaw-dedicated/logs_output/output_{{SERVER_CONFIG_PATH}} -logArchivesDirectory holdfastnaw-dedicated/{{SERVER_LOG_ARCHIVE_PATH}}/ -adminCommandsLogFilePath holdfastnaw-dedicated/logs_adminactions/admin_{{SERVER_CONFIG_PATH}} -playersLogFilePath holdfastnaw-dedicated/logs_playerlogin/players_{{SERVER_CONFIG_PATH}} -scoreboardLogFilePath holdfastnaw-dedicated/logs_score/scorelog_{{SERVER_CONFIG_PATH}} -chatLogFilePath holdfastnaw-dedicated/logs_chat/chatlog_{{SERVER_CONFIG_PATH}} -workshopDataPath holdfastnaw-dedicated/workshop -micSpammersPlayersFilePath holdfastnaw-dedicated/micspammers.txt -mutedVoipPlayersFilePath holdfastnaw-dedicated/mutedplayersvoip.txt -mutedChatPlayersFilePath holdfastnaw-dedicated/mutedplayerschat.txt -bannedPlayersFilePath holdfastnaw-dedicated/bannedplayers.txt -p {{SERVER_PORT}} -l "94.130.66.231" -o 7101 The parts in blue are filled in by the panel when the server starts, from the variables below.
Docker image
- bmghosting/pterodactyl-holdfast
Panel features
- steam_disk_space
Variables
13 settings
-
Config Name
Tells the server which config to load in the configs folder. Put .txt at the end of the config name or else the server will not launch.
- env
- SERVER_CONFIG_PATH
- default
- serverconfig_default.txt
- rules
- required|string|max:200
- viewable
- editable
-
Server Name
Server name that shows up on the server browser.
- env
- SERVER_NAME
- default
- Server Hosted by BMGHosting.com
- rules
- required|string|max:200
- viewable
- editable
-
Welcome Message
Welcome Message in text chat.
- env
- MOTD
- default
- Welcome!
- rules
- required|string|max:500
- viewable
- editable
-
Server Region
Region of the world the server is located in. Options: europe / usa / australia / brazil / china / japan / russia / southkorea
- env
- REGION
- default
- europe
- rules
- required|string|max:50
- viewable
- editable
-
Admin Password
Password for Admin Login (F1).
- env
- ADMIN_PASS
- default
- none
- rules
- required|string|max:50
- viewable
- editable
-
Server Password
Server Password to lock the server. Leave blank if you want the server public.
- env
- SERVER_PASS
- default
- none
- rules
- nullable|string|max:50
- viewable
- editable
-
Max Players
Max Players
- env
- PLAYERS
- default
- none
- rules
- required|numeric
- viewable
-
Server Comm Port
Server Comm Port
- env
- SERVER_COMM_PORT
- default
- none
- rules
- required|numeric
- viewable
-
Server Query Port
Server Query Port
- env
- SERVER_QUERY_PORT
- default
- none
- rules
- required|numeric
- viewable
-
Server FPS
Server FPS
- env
- FPSMAX
- default
- none
- rules
- required|numeric
- viewable
-
Server Log Archive
Server Log Archive
- env
- SERVER_LOG_ARCHIVE_PATH
- default
- logs_archive
- rules
- required|string|max:200
-
Steam App ID
Steam CMD App ID
- env
- SRCDS_APPID
- default
- 1424230
- rules
- required|numeric|in:1424230
-
Holdfast Build
To apply a beta branch, do -beta. If you are wanting to specify a beta branch, do -beta <betaname>. If the beta branch has a password, do -beta <betaname> -betapassword <password>.
- env
- EXTRA_FLAGS
- default
- none
- rules
- nullable|string|max:100
- viewable
- editable
Installation script 61 lines container ghcr.io/ptero-eggs/installers:debian entrypoint bash show hide
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'debian:buster-slim'
##
#
# Variables
# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.
# WINDOWS_INSTALL - if it's a windows server you want to install set to 1
# SRCDS_APPID - steam app id ffound here - https://developer.valvesoftware.com/wiki/Dedicated_Servers_List
# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.
#
##
## just in case someone removed the defaults.
if [ "${STEAM_USER}" == "" ]; 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
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 +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir /mnt/server/holdfastnaw-dedicated +app_update ${SRCDS_APPID} ${EXTRA_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
## copy config to the configs folder - avoid rewrite from steamCMD update
cd /mnt/server/holdfastnaw-dedicated
mkdir -p configs
git clone https://github.com/ankit2951/holdfast-config.git configs
cp serverconfig_default.txt configs/serverconfig_default.txt
## Read/Write access
chmod -R 777 /mnt/server/*
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"