Install a Holdfast: Nations At War dedicated server via SteamCMD (Windows and Linux)
Want to host your own Holdfast: Nations At War server for regiment line battles? This step-by-step guide walks you through installing the official dedicated server via SteamCMD. All commands, App ID and ports verified against the official Holdfast wiki.
Don’t want to deal with SteamCMD, firewall and updates? Rent a Holdfast server at HebergTonServ — auto-install, intuitive panel and 24/7 support from €9.90/month.
Hardware requirements
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 2 fast single-thread cores | AMD Ryzen 9 5950X |
| RAM | 2 GB (20 players) | 4-8 GB (50-150 players) |
| Disk | 10 GB SSD | NVMe SSD |
| Network | 20 Mbps up | Fiber, fixed IP or DDNS |
| OS | Windows 10/11, Debian 11+, Ubuntu 22.04+ | Linux for long-term stability |
A fast single-core CPU matters more than RAM for Holdfast: 150-player line battles heavily tax a primary core.
Step 1 — Download SteamCMD
Windows
- Download: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
- Extract to
C:\steamcmd\ - Run
steamcmd.exeonce
Linux
sudo apt install lib32gcc-s1 wget unzip -y
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
./steamcmd.sh +quitStep 2 — Install Holdfast server (App ID 1424230)
The dedicated server App ID is 1424230 (not 589290, the game client).
Windows
steamcmd.exe +force_install_dir C:\HoldfastServer\ +login anonymous +app_update 1424230 validate +quitLinux
./steamcmd.sh +force_install_dir /home/holdfast/HoldfastServer/ +login anonymous +app_update 1424230 validate +quitDownload size: ~1 GB.
Step 3 — Open network ports
Holdfast uses 3 UDP ports:
| Port | Usage |
|---|---|
| 20100 | server_port (game traffic) |
| 8700 | steam_communications_port |
| 27000 | steam_query_port (A2S) |
Windows — Admin PowerShell
New-NetFirewallRule -DisplayName "Holdfast" -Direction Inbound -Protocol UDP -LocalPort 20100,8700,27000 -Action AllowLinux — UFW
sudo ufw allow 20100/udp
sudo ufw allow 8700/udp
sudo ufw allow 27000/udp
sudo ufw reloadForward all 3 UDP ports on your router.
Step 4 — Customize config.json
{
"server_name": "My Holdfast Server EN",
"game_mode": "ArmyBattlefield",
"game_type": "Conquest",
"max_players": 100,
"max_reserved_slots": 10,
"server_message_of_the_day": "Welcome to the EN server!",
"password": "",
"admin_password": "ChangeMe123",
"server_port": 20100,
"steam_communications_port": 8700,
"steam_query_port": 27000,
"network_performance_quality": "High",
"use_anti_cheat": true,
"auto_team_balance": true,
"voip_enabled": true,
"allow_team_killing": false,
"friendly_fire_modifier": 0.5,
"map_rotation": [
"ConquestLargeBattle_Egypt",
"ConquestLargeBattle_RussianEstate",
"ConquestSmallBattle_Mountain"
],
"warmup_duration": 30,
"round_duration": 1800
}| Setting | Description |
|---|---|
game_mode | ArmyBattlefield / NavalAction / Conquest / Siege |
game_type | Conquest / TDM / Siege / Custom |
max_players | Up to 150 |
admin_password | RCON / admin commands password |
friendly_fire_modifier | 0.0 = no FF, 1.0 = full FF |
Step 5 — First start
Windows
@echo off
cd /d "C:\HoldfastServer"
HoldfastNAW_Server.exe -nographics -batchmode -configfilepath "config.json"Linux
cd /home/holdfast/HoldfastServer
chmod +x HoldfastNAW_Server.x86_64
./HoldfastNAW_Server.x86_64 -nographics -batchmode -configfilepath config.jsonWait for:
Server initialized successfully on port 20100Step 6 — systemd service (Linux)
Create /etc/systemd/system/holdfast.service:
[Unit]
Description=Holdfast: Nations At War Server
After=network.target
[Service]
Type=simple
User=holdfast
WorkingDirectory=/home/holdfast/HoldfastServer
ExecStart=/home/holdfast/HoldfastServer/HoldfastNAW_Server.x86_64 -nographics -batchmode -configfilepath config.json
Restart=on-failure
[Install]
WantedBy=multi-user.targetsudo systemctl enable --now holdfastStep 7 — RCON & admin commands
Connect with admin_password:
| Command | Action |
|---|---|
/kick <player_id> | Kick player |
/ban <player_id> | Ban player |
/changemap <map_name> | Change map |
/changegamemode <mode> | Change game mode |
/restart | Restart round |
/say <message> | Broadcast in-game |
Step 8 — Update the server
steamcmd.exe +login anonymous +force_install_dir C:\HoldfastServer\ +app_update 1424230 validate +quitCritical: client and server versions must match exactly. Update as soon as a patch ships.
FAQ
App ID 589290 vs 1424230?
589290 is the client. 1424230 is the dedicated server, free via anonymous SteamCMD.
Max players?
Officially up to 150 players per server. For 50-100 players, 4 GB RAM is enough; for very active 150-player line battles, plan 8 GB.
Server not showing in browser?
Check: UDP ports 20100, 8700, 27000 open (firewall + router), server_port=20100 in config.json, correct public IP.
How do I change mode (Army/Naval/Conquest/Siege)?
Edit game_mode and game_type in config.json, then restart. Some maps are mode-specific (Naval maps only work in NavalAction).
Does Holdfast support mods?
No — Holdfast doesn’t support server-side mods. Custom line battles go through configuration (map, mode, slots, settings).
Conclusion
You now have a working Holdfast: Nations At War dedicated server. Recommended next steps:
- Set a strong admin_password in config.json
- Configure your map rotation for line battles
- Invite your regiment to the server
Want to skip the setup? HebergTonServ installs your Holdfast server in minutes — Ryzen 9 5950X, 5 Tbps Anti-DDoS, console and 24/7 support from €9.90/month.



