<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.holdfastgame.com/index.php?action=history&amp;feed=atom&amp;title=Server_Hosting%2FBody</id>
	<title>Server Hosting/Body - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.holdfastgame.com/index.php?action=history&amp;feed=atom&amp;title=Server_Hosting%2FBody"/>
	<link rel="alternate" type="text/html" href="https://wiki.holdfastgame.com/index.php?title=Server_Hosting/Body&amp;action=history"/>
	<updated>2026-04-30T14:05:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.holdfastgame.com/index.php?title=Server_Hosting/Body&amp;diff=3896&amp;oldid=prev</id>
		<title>EXPRI3ST: Reworded</title>
		<link rel="alternate" type="text/html" href="https://wiki.holdfastgame.com/index.php?title=Server_Hosting/Body&amp;diff=3896&amp;oldid=prev"/>
		<updated>2025-10-12T00:45:02Z</updated>

		<summary type="html">&lt;p&gt;Reworded&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:45, 12 October 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot; &gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# ⚠️ '''Important:''' To allow other players to connect, you must configure '''port forwarding''' on your router and open the necessary '''UDP ports''' in your local firewall.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# ⚠️ '''Important:''' To allow other players to connect, you must configure '''port forwarding''' on your router and open the necessary '''UDP ports''' in your local firewall.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;💾 &lt;/del&gt;Prevent Overwrites on Update ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Prevent Overwrites on Update ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Game updates often overwrite the default launch script and configuration file. To prevent this, always create copies of these files and use the copies for your custom server:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;💾 &lt;/ins&gt;Game updates often overwrite the default launch script and configuration file. To prevent this, always create copies of these files and use the copies for your custom server:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Duplicate &amp;lt;code&amp;gt;serverconfig_default.txt&amp;lt;/code&amp;gt; to a custom name (e.g., &amp;lt;code&amp;gt;serverconfig_myname.txt&amp;lt;/code&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Duplicate &amp;lt;code&amp;gt;serverconfig_default.txt&amp;lt;/code&amp;gt; to a custom name (e.g., &amp;lt;code&amp;gt;serverconfig_myname.txt&amp;lt;/code&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l79&quot; &gt;Line 79:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 79:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Start Server:''' Run &amp;lt;code&amp;gt;LaunchServer_newserver.ps1&amp;lt;/code&amp;gt; to start the server process.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Start Server:''' Run &amp;lt;code&amp;gt;LaunchServer_newserver.ps1&amp;lt;/code&amp;gt; to start the server process.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Linux Server Hosting ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Linux Server Hosting ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;🐳 &lt;/del&gt;Docker Setup (Recommended) ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Docker Setup (Recommended) ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Using the official Docker image simplifies installation, maintenance, and updates:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;🐳 &lt;/ins&gt;Using the official Docker image simplifies installation, maintenance, and updates:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# '''Basic Installation:''' This command runs the server and uses the host network to automatically map required ports.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# '''Basic Installation:''' This command runs the server and uses the host network to automatically map required ports.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>EXPRI3ST</name></author>
	</entry>
	<entry>
		<id>https://wiki.holdfastgame.com/index.php?title=Server_Hosting/Body&amp;diff=3895&amp;oldid=prev</id>
		<title>EXPRI3ST: Reworded &amp; tided</title>
		<link rel="alternate" type="text/html" href="https://wiki.holdfastgame.com/index.php?title=Server_Hosting/Body&amp;diff=3895&amp;oldid=prev"/>
		<updated>2025-10-12T00:43:46Z</updated>

		<summary type="html">&lt;p&gt;Reworded &amp;amp; tided&lt;/p&gt;
&lt;a href=&quot;https://wiki.holdfastgame.com/index.php?title=Server_Hosting/Body&amp;amp;diff=3895&amp;amp;oldid=3582&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>EXPRI3ST</name></author>
	</entry>
	<entry>
		<id>https://wiki.holdfastgame.com/index.php?title=Server_Hosting/Body&amp;diff=3582&amp;oldid=prev</id>
		<title>Xarkanoth: Created page with &quot;The following documentation details how to host a public or private game server for Holdfast: Nations At War. The game offers an anonymous dedicated server for both Linux...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.holdfastgame.com/index.php?title=Server_Hosting/Body&amp;diff=3582&amp;oldid=prev"/>
		<updated>2025-09-19T08:49:50Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;The following documentation details how to host a public or private game server for &lt;a href=&quot;/index.php?title=Holdfast:_Nations_At_War&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Holdfast: Nations At War (page does not exist)&quot;&gt;Holdfast: Nations At War&lt;/a&gt;. The game offers an anonymous dedicated server for both Linux...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The following documentation details how to host a public or private game server for [[Holdfast: Nations At War]]. The game offers an anonymous dedicated server for both Linux and Windows.&lt;br /&gt;
&lt;br /&gt;
== Quick Start Guide ==&lt;br /&gt;
Quick start guide for local testing:&lt;br /&gt;
&lt;br /&gt;
# Download &amp;lt;code&amp;gt;Holdfast: Nations At War - Dedicated Server&amp;lt;/code&amp;gt; from Steam (&amp;lt;code&amp;gt;Tools&amp;lt;/code&amp;gt; section).&lt;br /&gt;
# Change the map rotation file (&amp;lt;code&amp;gt;serverconfig_default.txt&amp;lt;/code&amp;gt;) and add mods or change maps.&lt;br /&gt;
# Launch the server using &amp;lt;code&amp;gt;LaunchServer.ps1&amp;lt;/code&amp;gt; (Windows) or &amp;lt;code&amp;gt;LaunchServer.sh&amp;lt;/code&amp;gt; (Linux).&lt;br /&gt;
&lt;br /&gt;
* In Holdfast’s server browser click **Join Custom Server**, then click the top **Connect** (leave localhost; change the port if required).&lt;br /&gt;
* If you want other players to connect, you’ll likely need to set up port forwarding on your router and open the ports in your local firewall.&lt;br /&gt;
&lt;br /&gt;
'''Warning: Game updates will overwrite the changes to the &amp;lt;code&amp;gt;LaunchServer&amp;lt;/code&amp;gt; script and &amp;lt;code&amp;gt;serverconfig_default.txt&amp;lt;/code&amp;gt;. To prevent this, create copies of both files and change the arguments of your custom &amp;lt;code&amp;gt;LaunchServer&amp;lt;/code&amp;gt; script to point to your custom &amp;lt;code&amp;gt;serverconfig&amp;lt;/code&amp;gt; file.'''&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
=== Obtaining the game files ===&lt;br /&gt;
==== Download using Steam Client ====&lt;br /&gt;
The easiest way is through Steam using the &amp;lt;code&amp;gt;Holdfast: Nations At War - Dedicated Server&amp;lt;/code&amp;gt; app in your library.&lt;br /&gt;
&lt;br /&gt;
# Open your Steam Library.&lt;br /&gt;
# Choose **Tools** in the library filter (or search for &amp;lt;code&amp;gt;holdfast&amp;lt;/code&amp;gt; and tick **Tools**).&lt;br /&gt;
# Install **Holdfast: Nations At War - Dedicated Server**.&lt;br /&gt;
# After install, right-click the app → **Manage** → **Browse local files**.&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin:0 auto;&amp;quot;&lt;br /&gt;
| [[File:ServerSteamLocation.png|thumb|Steam application to download]]&lt;br /&gt;
| [[File:ServerBrowseLocalFiles.png|thumb|Browse local files in Steam]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Download using SteamCMD ====&lt;br /&gt;
The '''Steam Console Client''' or [https://developer.valvesoftware.com/wiki/SteamCMD SteamCMD] is a command-line Steam client used to install/update dedicated servers.&lt;br /&gt;
&lt;br /&gt;
Download and set up SteamCMD (see Valve’s guide). Then run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
steamcmd +login [LOGINNAME] [PASSWORD] +force_install_dir &amp;quot;C:\holdfastserver&amp;quot; +app_update 589290 +quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
: ''+anonymous'' will fail here; the account must own the game to download these files.&lt;br /&gt;
: You may be prompted for a two-factor code.&lt;br /&gt;
: If the server stops working, run with ''+app_update 589290 validate'' to verify files.&lt;br /&gt;
&lt;br /&gt;
=== Basic Configuration &amp;amp; Starting the Server ===&lt;br /&gt;
[[File:FolderStructure.jpg|thumb|Holdfast merged server &amp;amp; game files folder structure]]&lt;br /&gt;
&lt;br /&gt;
The server files include example configs. See [[Server_Configuration|Server Configuration]] for all options.&lt;br /&gt;
&lt;br /&gt;
Duplicate the defaults:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serverconfig_default.txt -&amp;gt; serverconfig_newserver.txt&lt;br /&gt;
LaunchServer.ps1         -&amp;gt; LaunchServer_newserver.ps1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the new config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Server &amp;amp; Steam Ports (Both ports must be unique per server instance).&lt;br /&gt;
server_port 20100&lt;br /&gt;
steam_query_port 27000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
: Open the corresponding UDP ports in your firewall.&lt;br /&gt;
: Properly configured servers respond to [https://developer.valvesoftware.com/wiki/Server_queries A2S queries] on ''steam_query_port'' (map, player count, etc.). Official servers do not respond to A2S; community servers do.&lt;br /&gt;
&lt;br /&gt;
Basic variables:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server_name My Server&lt;br /&gt;
server_region europe #&lt;br /&gt;
server_admin_password defaultAdminPWReplace&lt;br /&gt;
#server_password mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update the launch script to use your config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# LaunchServer_newserver.ps1&lt;br /&gt;
$args = '-s -r --serverConfigFilePath &amp;quot;serverconfig_newserver.txt&amp;quot; --outputLog &amp;quot;logs_output\outputlog_newserver.txt&amp;quot; --logArchivesDirectory &amp;quot;logs_archive&amp;quot; --framerate 120 --serverheadless --adminCommandLogFilePath &amp;quot;logs_adminactions\adminlog_newserver.txt&amp;quot; --chatLogFilePath &amp;quot;logs_chat\chatlog_newserver.txt&amp;quot; --playersLogFilePath &amp;quot;logs_playerlogin\playerlogin_newserver.txt&amp;quot; --scoreboardLogFilePath &amp;quot;logs_score\scorelog_newserver.txt&amp;quot;'&lt;br /&gt;
Start-Process -FilePath &amp;quot;vapuriloadtester.exe&amp;quot; -Verb RunAs -ArgumentList $args&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;code&amp;gt;LaunchServer_newserver.ps1&amp;lt;/code&amp;gt; to start the server.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
=== Docker ===&lt;br /&gt;
If you use [https://www.docker.com/ Docker]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker run -d --net=host --name=holdfastnaw-dedicated cm2network/holdfastnaw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The container auto-updates on start—restart it after a game update.&lt;br /&gt;
&lt;br /&gt;
Config path: &amp;lt;code&amp;gt;/home/steam/holdfastnaw-dedicated/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another instance (adjust ports):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker run -d --net=host -e SERVER_PORT=20100 -e STEAM_QUERY_PORT=27000 --name=holdfastnaw-dedicated cm2network/holdfastnaw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Docker Hub:&lt;br /&gt;
[https://hub.docker.com/r/cm2network/holdfastnaw/ https://hub.docker.com/r/cm2network/holdfastnaw/]&lt;br /&gt;
&lt;br /&gt;
=== Manual Setup ===&lt;br /&gt;
==== Downloading using SteamCMD ====&lt;br /&gt;
Install [https://developer.valvesoftware.com/wiki/SteamCMD SteamCMD], then:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
steamcmd.sh +login anonymous +force_install_dir /opt/holdfastserver +app_update 1424230 +quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
: To verify files later: ''+app_update 1424230 validate''.&lt;br /&gt;
&lt;br /&gt;
==== Basic Configuration &amp;amp; Starting the Server (Linux) ====&lt;br /&gt;
Duplicate the default config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/holdfastserver&lt;br /&gt;
cp serverconfig_default.txt serverconfig_myserver.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure ports:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Server &amp;amp; Steam Ports (Both ports must be unique per server instance).&lt;br /&gt;
server_port 20100&lt;br /&gt;
steam_query_port 27000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
: Open the UDP ports in your firewall.&lt;br /&gt;
: Properly configured servers respond to A2S on ''steam_query_port''.&lt;br /&gt;
&lt;br /&gt;
Basic variables:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server_name My Server&lt;br /&gt;
server_region europe #&lt;br /&gt;
server_admin_password defaultAdminPWReplace&lt;br /&gt;
#server_password mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start the server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;./Holdfast NaW&amp;quot; -startserver \&lt;br /&gt;
  -batchmode \&lt;br /&gt;
  -nographics \&lt;br /&gt;
  -screen-width 640 \&lt;br /&gt;
  -screen-height 480 \&lt;br /&gt;
  -screen-quality &amp;quot;Fastest&amp;quot; \&lt;br /&gt;
  -framerate &amp;quot;120&amp;quot; \&lt;br /&gt;
  --serverheadless \&lt;br /&gt;
  -serverConfigFilePath &amp;quot;serverconfig_myserver.txt&amp;quot; \&lt;br /&gt;
  -logFile &amp;quot;logs_output/outputlog_server.txt&amp;quot; \&lt;br /&gt;
  -logArchivesDirectory &amp;quot;logs_archive/&amp;quot; \&lt;br /&gt;
  -p &amp;quot;20100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xarkanoth</name></author>
	</entry>
</feed>