You can host an Insurgency dedicated server at home, but the correct files, executable, ports, and startup command depend on which game you own. Classic Insurgency uses srcds.exe, the insurgency/cfg/server.cfg tree, and a community-documented 27015/27016 port pattern. Insurgency: Sandstorm is a separate server package installed with SteamCMD app ID 581330, using UDP 27102 for gameplay and UDP 27131 for queries in the cited setup. Identify your edition first, then install its server files, create a repeatable launch script, forward the required ports to the host computer, allow them through its firewall, and test locally before inviting people from another network.
Which Insurgency edition are you setting up?
Classic Insurgency and Insurgency: Sandstorm are not interchangeable server installations. They use different executables, configuration locations, launch syntax, and port conventions. Use the branch below that matches the game shown in your library.
| Feature | Classic Insurgency | Insurgency: Sandstorm |
|---|---|---|
| Dedicated-server executable | srcds.exe |
InsurgencyServer-Win64-Shipping.exe on Windows; the Linux server binary uses the same map/scenario and port pattern |
| Distribution | Steam Library/Tools installation or Valve’s SteamCMD workflow | SteamCMD, app ID 581330 |
| Configuration layout | Insurgency Dedicated Server/insurgency/cfg/server.cfg, with mode files such as default_server_checkpoint.cfg |
INI files under Insurgency/Saved/Config/<platform>Server/; text server files under Insurgency/Config/Server/ |
| Ports documented by the cited guides | UDP 27015 as the usual default; 27016 or higher can avoid a local-client conflict. An older guide lists 27015 and 27016 on both TCP and UDP. | UDP 27102 for game traffic and UDP 27131 for queries |
| Player and bot model | Player count, bot quota, difficulty, timers, and balancing are controlled through server configuration | Co-op is bot-heavy; RE:NODE’s 2026 provider measurements describe an eight-human cap and roughly 2–3 GB RAM use, not an official New World Interactive specification |
The rest of this guide keeps the two editions separate so that a valid Sandstorm command is never accidentally used with Classic Insurgency files.
What do you need before hosting?
- A Windows or Linux machine that can remain online while people play. For Classic Insurgency, the cited guide describes the game client and dedicated server as separate processes, so running both on one PC needs additional memory and CPU headroom.
- Router access to create port-forwarding rules and a stable private IP address for the host machine. If the machine’s private address changes, a rule can silently point at the wrong computer.
- Administrator access to the host firewall. Forwarding a port in the router does not automatically permit the same traffic through Windows Defender Firewall or a Linux firewall.
- A wired connection is preferable for the host. Test from a second network, such as a phone hotspot, rather than assuming that a successful local connection proves internet reachability.
- A text editor for configuration files and a script file for the launch command. Saving the command makes updates and restarts repeatable.
How do I make a Classic Insurgency dedicated server?
Install the Classic Insurgency Dedicated Server, create a launch batch file, configure server.cfg, then forward the selected host port. The following procedure follows the Classic guide’s srcds.exe workflow.
1. Install the dedicated-server files
In the Steam client, open Library, change the library filter to Tools, and install Insurgency Dedicated Server. Valve states that Steam game servers now use SteamCMD for downloading and updating server files; the same SteamCMD distribution model can therefore be used when you prefer a scriptable installation. Keep the complete server folder together, including the insurgency game directory.
2. Create a launch batch file
In the folder containing srcds.exe, create a file such as start-push.bat. A Push server command from the cited Classic guide is:
srcds.exe -console -port 27016 -game insurgency +map "sinjar push"
For checkpoint co-op, the cited command is:
srcds.exe -console -port 27016 -game insurgency +map buhriz_coop
The map name and port are launch parameters, so put the command you actually intend to run in the script rather than typing a different value at each restart. If you choose the community guide’s default host port, use 27015 consistently in the command, router rule, and firewall rule. The older guide lists 27015 and 27016 for TCP and UDP, while the 2025 guidance identifies UDP 27015 as the default and suggests 27016 or higher when a local client would otherwise create a socket conflict. Treat those as community-guide defaults, not universal vendor guarantees.
3. Configure the server
Open Insurgency Dedicated Server/insurgency/cfg/server.cfg. Put general server settings there, including the public hostname, password, LAN mode, player count, RCON password, round and objective timers, friendly-fire behavior, team balancing, HUD options, bot difficulty, and bot quota. Keep mode-specific values in the corresponding mode file; the cited example uses default_server_checkpoint.cfg for checkpoint bot counts. Change one setting at a time and retain a backup copy so a typo can be removed without rebuilding the server.
A password is useful for a private group, while LAN mode should remain disabled when friends are connecting from outside your home network. RCON credentials should be unique and not reused for another service. The exact setting names and comments supplied with the server files are safer than copying a variable from an unrelated Source-engine game.
4. Forward the Classic port and open the firewall
- Give the host computer a reserved private address in the router’s DHCP settings, or configure an equivalent static address.
- Create a port-forwarding rule from the chosen external port to that private address. For the cited default, that means UDP 27015; if you selected 27016 in the launch script, forward UDP 27016 instead.
- If you are following the older guide’s broader rule, it lists both TCP and UDP for 27015 and 27016. Open only the protocols your chosen setup requires, and keep the launch, router, and firewall numbers identical.
- Add an inbound firewall rule on the host for the same port. A router rule cannot bypass a host firewall that is still blocking the server process.
5. Start the client and server in the documented order
The Classic guide describes two processes: start insurgency.exe from Steam first, then run your custom batch file to start srcds.exe. Watch the dedicated-server console. A healthy startup connects to Steam servers and reports VAC secure mode; after the selected map loads, the server should appear in the in-game browser.
6. Verify a Classic installation
- Confirm the console remains open instead of exiting immediately.
- Check that the requested Push or checkpoint map actually loads.
- Search for the server in the in-game browser from the host PC.
- Ask a friend on a different network to connect. A second computer on the same home LAN does not test internet port forwarding.
How do I set up an Insurgency: Sandstorm server?
Sandstorm’s dedicated server is distributed through Valve’s SteamCMD tool under app ID 581330. Install it into a separate server directory, forward UDP 27102 and UDP 27131, and launch the shipping server binary with a scenario and the matching port arguments.
1. Install SteamCMD and download app 581330
Open a terminal or command prompt in the directory where SteamCMD is installed. The cited Sandstorm procedure is:
force_install_dir C:serversinsurgency-sandstorm
login anonymous
app_update 581330 validate
quit
Use a real writable path on your machine. validate checks the downloaded files; repeat the app_update 581330 step whenever you want to apply a server update. Keep this installation separate from the retail game client so an update or mod file cannot overwrite the wrong tree.
2. Create a repeatable Sandstorm launch script
On Windows, save a batch file in the server directory. The cited example starts an Oilfield Push scenario for Security with 28 maximum players:
InsurgencyServer-Win64-Shipping.exe "Oilfield?Scenario=Scenario_Refinery_Push_Security?MaxPlayers=28" -Port=27102 -QueryPort=27131
The Linux binary takes the same map/scenario/port pattern. Save the equivalent command in a shell script rather than launching it manually. A script also gives you one place to change the scenario, maximum-player value, game port, or query port after a test.
3. Forward both Sandstorm UDP ports
- Reserve a private IP for the server computer.
- Forward UDP
27102from the router to that address for game traffic. - Forward UDP
27131to the same address for server queries and browser visibility. - Allow both UDP ports through the host firewall.
- Check that the command-line values after
-Portand-QueryPortexactly match the router and firewall rules.
Forwarding only the game port can leave the process running while the server remains absent from public listings, because the query endpoint is separate.
4. Build the Sandstorm configuration tree
Sandstorm separates Unreal-style INI settings from plain-text server lists. Put INI files in Insurgency/Saved/Config/LinuxServer/ on Linux or Insurgency/Saved/Config/WindowsServer/ on Windows. A fresh installation may not create the directory, so create it and add Game.ini and Engine.ini when required.
Put list-oriented files in Insurgency/Config/Server/. The cited file set includes:
Admins.txtfor administrator entriesMapCycle.txtfor the rotationMotd.txtfor the message of the dayMods.txtfor mod declarationsBans.jsonfor bans
Do not place an INI file in the Config/Server directory or a map-cycle list in Saved/Config; the game reads those trees for different purposes. After editing a file, restart the server so the process reads the change from a clean launch.
5. Verify Sandstorm before inviting players
- Leave the console running and confirm the selected map and scenario load without an immediate crash.
- Search for the server from the host or another local machine.
- Test browser visibility from a separate internet connection.
- Have one friend join before changing multiple settings or adding mods.
What should the router and firewall configuration look like?
Port forwarding has three matching parts: the server’s launch argument, the router’s destination rule, and the host firewall exception. All three must target the same private IP and port. A port-forward entry aimed at an old DHCP address is the most common reason a server works locally but not for friends.
Use a stable destination address
Reserve the host’s private address in the router before creating the rule. If you cannot reserve it, check the address with the operating system each time the machine restarts and update the forwarding destination when it changes.
Distinguish local and internet tests
A local browser result proves that the process is listening, not that the router accepts unsolicited traffic from the internet. Test externally, and ask a friend to join using the game’s normal browser or direct-connect workflow after the external test succeeds.
Why is my Insurgency server invisible or unreachable?
Work through the checks in order instead of changing the map, ports, and configuration simultaneously.
The process closes immediately
- Run the launch script from a visible terminal so the error remains on screen.
- Confirm that the executable is in the directory where the script runs.
- Check the edition:
srcds.exebelongs to Classic Insurgency, whileInsurgencyServer-Win64-Shipping.exebelongs to Sandstorm. - Remove a recently changed configuration line and retry with the smallest working launch command.
The server loads locally but friends cannot join
- Verify that the router forwards to the current private IP, not a former DHCP address.
- Confirm that the host firewall allows the selected UDP port or ports.
- Compare the port in the script character-for-character with the router rule.
- Test from a different network; two devices on the same LAN can succeed even when internet forwarding is broken.
Sandstorm is running but absent from the browser
- Check both UDP 27102 and UDP 27131, including the query-port firewall rule.
- Confirm that the process was launched with
-QueryPort=27131and that the router forwards that same value. - Make sure the server has finished loading its scenario before judging browser visibility.
Classic Insurgency is not visible
- Confirm that the client was started before the dedicated server, as specified by the Classic guide.
- Check whether another local process is already using the selected host port; try 27016 or a higher port consistently across the script, router, and firewall.
- Look for a Steam-server connection and VAC secure status in the console.
Should you self-host or use managed hosting?
Self-hosting gives you direct control over scripts, configuration files, ports, and updates, but it requires router access, firewall work, a machine that stays online, and troubleshooting when your home network changes. Managed hosting is an optional alternative when your internet provider uses restrictive inbound networking, you cannot configure the router, or you do not want a personal PC running continuously.
SelfServr documents hosted-server deployment as an alternative to home hosting. RE:NODE advertises Sandstorm hosting from $9 USD per month; that is a provider’s advertised starting price, not a universal cost or an official game requirement. Check the provider’s region, hardware allocation, mod support, backup policy, and port controls before paying. You still need to understand the configuration trees if you intend to manage admins, map cycles, messages, or bans yourself.
What are the practical differences between the two server types?
| Decision | Choose Classic Insurgency when… | Choose Sandstorm when… |
|---|---|---|
| Files you already have | You are comfortable with a Source-style cfg directory and srcds.exe. |
You want SteamCMD app 581330 and separate INI and server-list trees. |
| Startup style | You want a compact batch command with -game insurgency and a +map argument. |
You need a scenario string plus separate game and query ports. |
| Co-op expectations | You plan to tune bots, quotas, timers, and checkpoint mode files. | You expect bot-heavy co-op and should treat the eight-human and 2–3 GB figures as RE:NODE measurements rather than official limits. |
| Administration | General controls live in server.cfg, with mode-specific overrides. |
Admins, rotations, MOTD, mods, and bans use files in Config/Server, while engine/game settings use INI files. |
| Networking | You can forward the chosen 27015/27016-style port and keep the Classic client/server startup order. | You can forward both the game and query UDP ports, or you will use a managed host. |
What is the shortest reliable setup checklist?
- Identify Classic Insurgency or Insurgency: Sandstorm before downloading anything.
- Install the matching dedicated-server package and keep it in its own folder.
- Save one launch script with the intended map or scenario and port values.
- Configure the edition’s correct files:
insurgency/cfg/server.cfgfor Classic, or Sandstorm’s INI andConfig/Servertrees. - Reserve the host’s private IP address.
- Forward the exact required UDP port or ports and allow them through the host firewall.
- Start the server, watch for a persistent process and a loaded map or scenario, then test locally.
- Test from another network before publishing the address or inviting a full group.
Frequently Asked Questions
Can I change a Sandstorm map without downloading the server again?
Yes. The map or scenario is part of the startup command, so you can edit the launch script and restart the existing installation. For a rotation, use the server’s MapCycle.txt in the Insurgency/Config/Server/ directory rather than reinstalling the app.
What does VAC secure mode tell me on a Classic server?
It indicates that the dedicated process connected to Steam’s secure service during startup. Treat it as a startup check, not as proof that router forwarding or every gameplay setting is correct; external connection testing is still required.
Which operating system is better for a small Sandstorm server?
Both Windows and Linux are supported by the cited launch pattern. Choose the system you can patch, firewall, and restart confidently; the main file-path difference is WindowsServer versus LinuxServer under Saved/Config.
Why does a server work for me but not for someone on another internet provider?
A local success only proves that the process is listening inside your network. External players can still be blocked by an incorrect private-IP target, a host firewall rule, a carrier-grade NAT connection, or a query port that was never forwarded.