Insurgency: Sandstorm

Insurgency: Sandstorm

Create and share custom maps, gamemodes and mutators for Insurgency: Sandstorm.

Learn more and find the game on Steam, Homepage, New World Interactive, Community Discord.

Server Admin Guide

Guide providing information into the basics of setting up your own game server and configuring it.


Posted by on (updated ago)


Prerequisites [Windows only]

Before proceeding with your server installation, make sure you have installed the following prerequisites.


Like other games published on Steam, Insurgency: Sandstorm's server files are published through a command-line tool known as SteamCMD. This GUI-less Steam client allows you to install and update the server files easily.

You can download SteamCMD from the following links:

If you’re using Windows, unzip SteamCMD to a known folder location or create a new one to use for the installation. You will frequently be navigating back to this location during the installation process.

Most commands through SteamCMD require knowledge of the app ID. For Insurgency: Sandstorm, the app ID is 581330.

For a basic server setup, please follow the instructions below:

1) Open SteamCMD and wait for it to update. This can take a few minutes.
2) Type login anonymous and hit Enter. This will log you in anonymously, allowing you to download most game servers.
3) Type app_update 581330 validate and hit Enter. This will install and validate the Insurgency: Sandstorm dedicated server.
4) Type quit and hit Enter once you have received a message stating that the app was fully installed.

You will now be able to find your dedicated server in the common subfolder located within the Steamapps folder. The full path should look like this: SteamCMD\steamapps\common. You can create a shortcut to this folder for ease of access in the future.

Please note that the root directory for SteamCMD will vary based on what you have named it.

You can find more information about SteamCMD and how to use it here.


Once SteamCMD is installed, you will need to create a script to launch the server with your desired options and settings. On Windows, this is a batch file; on Linux, this is a shell script.

For Windows:

1) Create a new text document in the sandstorm_server directory.
2) Open it and press CTRL + Shift + S. A window should appear and ask you to save the file.
3) Name the file start.bat and hit Enter.

For Linux:

1) Run cd .steam/steamapps/common/sandstorm_server to navigate to the newly created Server directory.
2) Run touch and hit Enter.

A new file with the specified name will be created in the specified location. You will need to edit this file with the specific command line for your operating system to launch the server.

The command line should include the starting map, the scenario, and any other launch parameters. For example:

Platform Command Line
Windows InsurgencyServer.exe Oilfield?Scenario=Scenario_Refinery_Push_Security?MaxPlayers=28 -Port=27102 -QueryPort=27131 -log -hostname="My Server"
Linux Insurgency/Binaries/Linux/InsurgencyServer-Linux-Shipping Oilfield?Scenario=Scenario_Refinery_Push_Security?MaxPlayers=28 -Port=27102 -QueryPort=27131 -log -hostname="My Server"

In this example, the server will be started on Refinery (Oilfield) Push Security, hosted on port 27102 with a maximum of 28 players. If there is a typo in the map or scenario name, the server will default to Farmhouse. If this happens, verify that you spelled everything correctly in the command line.

Port Forwarding

For your server to show up on the server browser, you will have to forward both TCP and UDP. You can find tutorials on port forwarding on a lot of websites. We suggest, which offers tutorials for most router manufacturers.

You will need to put the ports that you have forwarded in the script that you created earlier. For example, if you forwarded ports 27102 and 27131, your command line should look like this:

Platform Command Line
Windows InsurgencyServer.exe Oilfield?Scenario=Scenario_Refinery_Push_Security?MaxPlayers=28 -Port=27102 -QueryPort=27131 -log -hostname="My Server"
Linux Insurgency/Binaries/Linux/InsurgencyServer-Linux-Shipping Oilfield?Scenario=Scenario_Refinery_Push_Security?MaxPlayers=28 -Port=27102 -QueryPort=27131 -log -hostname="My Server"


Now that you have forwarded your ports, you will need to make sure that your Firewall allows the connection to be made for your server to show up in the server browser.

For Windows:

1) Press Windows + R. This will open the Run window.
2) Paste the following string: wf.msc and hit Enter.
3) Click Inbound Rules on the left panel, then click New Rule on the right panel.
4) Select Port and hit Next.
5) Select TCP and make sure you have Specific local ports selected, then put the ports you have forwarded into the box separated by a comma (for us, this is 27102 for our game port and 27131 for our query port).
6) Select Allow the connection and hit Next.
7) Make sure that all of the boxes are checked and hit Next.
8) Name the rule: Insurgency Server and hit Finish.

Repeat steps 3 to 8, but instead of allowing TCP at rule 5, you will need to allow UDP. In total, you should have two new rules in the Inbound Rules section.

You can edit your rules by going back to the Inbound Rules tab, right-clicking the rules you created, and then clicking Properties.

For Linux:

It's a good idea to reference your distribution's documentation to facilitate the configuration of the Firewall.

Once you’ve added your Inbound Rules to the Firewall, you can now launch your server with the batch/shell script file we created earlier in the Launching section. Please note that the server will be running a default configuration. The default configuration cycles through all Versus PVP scenarios available and follows the Official game rules.

If you wish to modify the server’s configuration, you can find the information you need within the following sections of this guide.


Command Line Arguments

Most server configuration is performed through .INI files and launch parameters. These files can be edited with any text editor such as Notepad, Notepad++, Sublime Text, and VSCode.

The configuration files can be found in the following directories (relative to the server's installation directory):

For Windows: Insurgency\Saved\Config\WindowsServer
For Linux: Insurgency/Saved/Config/LinuxServer

If the directory does not already exist, you will need to create one manually. You will also need to create new .INI files:

For Windows:

1) Create a new folder named WindowsServer inside of the Config directory found here: Insurgency\Saved\Config.
2) Create a new text document in the WindowsServer folder.
3) Open it and press CTRL + Shift + S. A window should appear and ask you to save the file.
4) Name the file Engine.ini and hit Enter.
5) Open the new text document again and press CTRL + Shift + S.
6) Name the file Game.ini and hit Enter.

For Linux:

1) Type mkdir -p Insurgency/Saved/Config/LinuxServer. This will create a new LinuxServer directory if it is missing.
2) Type cd Insurgency/Saved/Config/LinuxServer to navigate to the newly created LinuxServer directory.
3) Type touch Engine.ini and hit Enter.
4) Type touch Game.ini and hit Enter.

Two new INI files with the specified names will be created in the same location.


Enables log window.

-hostname="My Server"

Set the server's name as it appears on the server browser (replacing My Server with the name of your choice).


Enable cheats for testing.


The UDP port that game connections are made to (replace XXXX with port number).


The port that Steam runs server queries on (replace XXXX with port number).

Travel Parameters

Travel parameters are placed at the end of the map name in the command line, following it with a question mark (?) and then the setting variable and its value. In the above example, MaxPlayers is the travel parameter.

Parameter Description


Sets a password for the server.


Sets the maximum number of players that can join the server. On coop servers, this is the number of human players.

Admin List

The game has a built-in admin menu that provides basic functionality such as kicking, banning, and changing the level. To add admins, you will need to know their 64-bit Steam ID (aka steamID64). You can find this by using an online converter such as STEAMID I/O.

You will then need to create a file named Admins.txt inside the following directory: Insurgency/Config/Server.

For Windows:

1) Create a new folder named Config inside the Insurgency folder found in the root directory.
2) Create a new folder named server inside the newly created Config folder. Your path should now look like this: Insurgency/Config/Server.
3) Create a new text document in the Server folder named Admins.txt.

For Linux:

1) Run mkdir -p Insurgency/Config/Server. This will create the new Server directory.
2) Run cd Insurgency/Config/Server to navigate to the newly created Server directory.
3) Run touch Admins.txt

You can also override the file by specifying a command-line switch. For example, -AdminList=OtherAdminList would make the server read from OtherAdminList.txt instead.

For each admin you want to add, you will need to put their steamID64 on a new line inside the Admins.txt file. You can do this for as many admins as you would like to add. Adding new admins will require a server restart or level change for any changes to be reflected in-game. When a player with admin privileges connects to the server, they will be able to open the admin menu bound to the Keypad Subtract button by default and can be re-bound in the key bindings menu.

Message of the Day

The server can be configured with a MotD file to announce a message of the day during the loading screen. By default, this file must be placed in
Insurgency/Config/Server/Motd.txt. This can be defined on the command line using the -motd parameter. If you wanted it to read MyOtherMOTD.txt, you would specify -motd=MyOtherMOTD

If this file does not exist, you will need to create it.

For Windows:

  1. Create a new text document in the Server folder named Motd.txt.

For Linux:

  1. Run cd Insurgency/Config/Server to navigate to the Server directory.
  2. Run touch Motd.txt to create the text file.

The file does not allow for any formatting and will only display text.

Remote Access (Rcon)

Rcon can be enabled to provide remote access to the server for administrative tasks that don't require you to join the server. This is implemented using the Source Engine Rcon Protocol, which has clients available for it, such as mcrcon and Simple SourceDS RCON.

Enabling Access

Rcon can be enabled by modifying the Game.ini file or through the server's command line. To enable it via the command line, you can provide the following arguments:

-Rcon -RconPassword=password -RconListenPort=27015

The values for the password and port arguments can be replaced with ones of your preference.

Through Game.ini, you can add the following options:


The following additional config variables are also available:



If enabled, then the rcon socket will listen on all available network devices.


If bUseBroadcastAddress is False, this is the network IP the rcon socket is bound to.



When enabled, any unknown rcon commands will be interpreted as console commands.



The maximum number of failed authentication attempts before the IP address is temporarily banned.



The amount of time (in minutes) a client is banned from attempting to connect to rcon if they've reached their maximum number of attempts.


You can get a list of commands at any time by typing help into the console. This will show a summary of all available commands, their usage, and a description of the command's function.

The table below shows the available commands. Mandatory parameters are shown surrounded by "<" and ">", while optional parameters are surrounded with "[" and "]". A "net ID" typically refers to a user's Steam ID.


Displays a list of commands.


Lists players currently connected to the server.


<id/netid/name> [reason]

Kicks a player from the server.


<id/netid/name> [duration in minutes] [reason]

Bans a player from the server.

banid [duration in minutes] [reason] Bans a player (by net ID) from the server. Does not require the player to be on the server.


<id/netid/name> [reason]

Permanently bans a player from the server.


Lifts a ban for a user.


Shows the ban list for the server.


Shows a message to all players in the chatbox.


[0 = no team switch, 1 = swap teams]

Restarts the current round.


[level filter]

Lists available maps.


[level filter]

Lists available scenarios.


Change level to given scenario.


Transitions the server to a different level.


[new value]

Gets or sets a gamemode property for the length of the scenario.

listgamemodeproperties [property filter] Lists all properties available for the currently loaded gamemode.

By default, any unknown commands will be executed as console commands.

Enabling Stats

Any Insurgency: Sandstorm community server can host a stats-enabled game. Enabling stats on your server also enables experience gain while playing on the server. The only requirement is that you must use a Steam GSLT, and you must not have a server password.

1. Visit the GameStats Token Generator and authenticate through your Stream profile.



2. Click on "Generate Token" which will create you a GameStats token.


Your token will look something like this:


Simply add the generated token to your launch parameters, and stats will be enabled! Make sure not to share your GameStats token with a third party. Server admins found to be abusing the system will have their tokens revoked, and your account will be investigated. If you suspect your GameStats token has been shared, please generate a new token.

GSLT Authentication

For your server to authenticate with the stats server, you must authenticate your server through Steam GSLT (Game Server Login Token). GSLTs can be obtained from Steam's Game Server Account Management page. As this page states, there are various criteria your Steam account needs to meet to generate a token. This includes ownership of the game, linking your Steam account with a phone number, and having your account in good standing.

To generate a token for Insurgency: Sandstorm, enter the App ID: 581320. The memo field can be set to anything, so use it to help you remember which token you are assigning to each of your servers. You will need a unique token for each server you are hosting.

To start your server with GSLT authentication, add -GSLTToken=xxxxxxxxxxxxxxx to the server's command line where xxxxxxxxxxxxxxx is the token displayed on the Steam Game Server Account page.

Stats Opt-in

By default, the game servers will not attempt to report to the stats system. Following the GSLT login steps above, adding -GameStats to your server's command line will enable the opt-in to the system.

Optional: Official Rules

The game ships with a ruleset which are considered official rules; this locks down the options you can change on your dedicated server. If you are running a mostly vanilla server, you may consider opting into this ruleset for your server to appear under the "official rules" filter. To opt-in, add -ruleset=OfficialRules to your server's command line.

Map Cycle

By default, a server will cycle through all Versus PVP scenarios available.

The server can be configured with a map cycle file that contains a list of scenarios separated by newlines. By default, this file must be placed in Insurgency/Config/Server/MapCycle.txt. This can be defined on the command line using the -MapCycle parameter. So if you wanted it to read MyOtherMapCycle.txt, you would specify -MapCycle=MyOtherMapCycle.txt.

If this file does not exist, you will need to create it.

For Windows:

1) Create a new text document in the Server folder named MapCycle.txt.

For Linux:

1) Run cd Insurgency/Config/Server to navigate to the Server directory.
2) Run touch MapCycle.txt to create the text file.

For example, a Skirmish only server's MapCycle.txt should look like the following:


Additionally, you may define an entry with an override game mode as some game modes can share scenarios. For example, to have Hardcore Checkpoint Security on Hideout, you would enter the following:


Scenario List

For Checkpoint scenarios, "Insurgents" and "Security" refer to the faction you play as. For Push, the faction names represent the team you attack as. Firefight for most maps will contain a West and an East layout.


Scenario Name



Checkpoint Insurgents


Checkpoint Security




Firefight East




Push Insurgents


Push Security


Scenario Name



Checkpoint Insurgents


Checkpoint Security




Firefight East




Push Insurgents


Push Security



Crossing (Canyon)

Scenario Name



Checkpoint Insurgents


Checkpoint Security

Scenario_Crossing_Domination Domination


Firefight West

Scenario_Crossing_Frontline Frontline
Scenario_Crossing_Outpost Outpost


Push Insurgents


Push Security




Team Deathmatch


Scenario Name



Checkpoint Insurgents


Checkpoint Security




Firefight East


Firefight West

Scenario_Farmhouse_Frontline Frontline


Push Insurgents


Push Security






Team Deathmatch

Hideout (Town)

Scenario Name



Checkpoint Insurgents


Checkpoint Security




Firefight East


Firefight West

Scenario_Hideout_Frontline Frontline


Push Insurgents


Push Security






Team Deathmatch

Hillside (Sinjar)
Scenario Name Description
Scenario_Hillside_Checkpoint_Insurgents Checkpoint Insurgents
Scenario_Hillside_Checkpoint_Security Checkpoint Security
Scenario_Hillside_Domination Domination
Scenario_Hillside_Firefight_East Firefight East
Scenario_Hillside_Firefight_West Firefight West
Scenario_Hillside_Frontline Frontline
Scenario_Hillside_Outpost Outpost
Scenario_Hillside_Push_Insurgents Push Insurgents
Scenario_Hillside_Push_Security Push Security (INS2014 layout)
Scenario_Hillside_Skirmish Skirmish
Scenario_Hillside_Survival Survival
Scenario_Hillside_Team_Deathmatch Team Deathmatch


Join the community or sign in with your gaming account to join the conversation:

The_Myst @the-myst

Hi. I have a problem trying to implemente Mods in my Insurgency Sandstorm server: every time I add the lines to Engine.ini related to, once I start the server these lines dissapears (Linux server). Anyone knows why?

Icecreammonster67 @icecreammonster67

Hey there m8, little late I know. So turns out the configs above are supposed to be added to the game.ini file.
The engine.ini is probably being overwritten every time as it not really supposed to be modified. I unfortunately have no experience with Linux server but hope this helps
Cheers, Icecreammonster67

Ringeltier @ringeltier


I tried to use mods but nothing is working. I created an API-Key and added it to the game.ini like this


Created a mods.txt in Insurgency/Config/Server/Mods.txt

The file looks like this:


My start command looks like thos:

runas /user:steam "C:\steamcmd\steamapps\ins_sandstorm\InsurgencyServer.exe Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security?Lighting=Day" -hostname="""Fiha Server""" -mutators=TacticalBots,EasierFireSupport -Mods -Port=27000 -QueryPort=27131 -log -MapCycle=MapCycle -AdminList=Admins -EnableCheats"

But it will not be loaded in the server log stands the following:

[2020.06.24-11.28.46:382][ 0]LogGameMode: Warning: Mutator path 'TacticalBots' is invalid ().
[2020.06.24-11.28.46:383][ 0]LogGameMode: Warning: Mutator path 'EasierFireSupport' is invalid ().

What can I do to use mods?

Sincerely Stefan

Ringeltier @ringeltier

Can I get any response?

tamuwucookie @tamuwucookie

replace -mutators with

Ringeltier @ringeltier

Thank you for the advice! Now the mods are being loaded and everything is working fine.


you need to put your starting scenario in "yourscenario" again or that is the only place it goes now?

tamuwucookie @tamuwucookie

put it again

milanvavrek1231 @milanvavrek1231

Why muttators not works on my server i use riht formule script ....

[FRS]=Freddy= @frsfreddy

Since weeks (after the 1.7 patch) I'm looking for the error why my Linux server starts vanilla maps but refused custom maps with this error

"Warning: -Mods is specified on the server command line but could not find any mods! "

even though the server had just downloded them.

My Windows servers do not cause any problems. Together with "[DOL]Facknriteā„¢" we have tested and tried everything possible, like setting the Linux permissions to 0777, which doesn't make sense, why should the config files need full permissions after the patch.

All possible and impossible start parameter combinations were tested, x different config files were tested, the encodings of the files were checked.

I also set up 2 new Linux servers to test it with a fresh operating system. New "Access Token" were created and entered into the "Engine.ini". All this did not help.

Today I set up a third new Linux server, and read the "Server Admin Guide" again, hoping that there is something new.

I noticed the sentence:

"To specify a list of mods your server is running you can add a text file in Insurgency/Config/Server/Mods.txt specifying each mod ID line by line.
You can also override the text file read by specifying -ModList=MyCustomModList.txt on the command line."

Hmm ... the start parameter "-Mods" was of course always specified and the Mods.txt was always present and doesn't need to be specified, you can ... but according to the guide you don't have to.
And as I said, the Windows servers work without problems, that can't be the reason, can it?

But after I entered this command "ModList=mods.txt" in the server start command line in addition to "-Mods" the server started to download the mod files again and then started with custom maps.

All Linux servers now work with custom maps again.!!!

For me this means that a Windows server does not need this command line entry, but a Linux server does.

If this is the right solution, then such an information from NWI would be worth its weight in gold and would have saved me hours of troubleshooting.

In the server guides you will only find the hint: you can... but you don't have to...

Irony ON:

Thanks a lot NWI

Irony OFF:

RiskyClicks.OSG @riskyclicks

I have FriendlyFireRefelect=0 and FriendlyFireModifier=1 on my pvp server, however I am getting 100% damage reflecting back to players, any way of at least minimizing the damage reflected back?
We are running a competitive pvp server and this really throws off the teams when you lose 2 players at a time.

johnny_sun @johnny-sun

Hi guys, my sandstorm server cannot download file from server, so, how to manual install mod?

PIRATA2 @pirata2

error al cargar mapa server
en mi serve windows cuando pongo el mapa tell me sale error al cargar los recursos del modo de juego y ahora me lo hace en todos los mapas no se que hacer mas me gustaria un poco de alluda gracias

PIRATA2 @pirata2

Error loading map server
On my server when I put the tell map, I get an error loading the game mode resources.
Now she does it for me on all the maps, I don't know what to do else I'd like a little help thanks.

RareK @rarek

Is it just me or for cp hardcore it should be Game=Checkpointhardcore not Mode=CheckpointHardcore . At least for travel commands

xcyber3000x @xcyber3000x

Does anyone know the setting in Game INI where i can set the timer for outpost " When players are dead and bots to capture the post" to skip the waiting and just move on. As waiting for bots to capture is waste of time.

RareK @rarek

Phen - "We added a new flag to help disable mods that cause version incompatibilities. So 1.8.1 mods won't work with 1.9 UNLESS the server and client are running -DisableModVersionCheck

KnightofOlde @knightofolde

AIDifficulty under inscoopmode doesnt seem to make a difference.

KennyLuo @kennyluo

I am using WindowsGSM to run my sandstorm server. But I can't find the server in-game. Here is the log I saw at WindowsGSM.
LogAI: Warning: AI difficulty set to 0.5
LogGameMode: Warning: Trying to enable spawn zone 'SZCheckpointA_RA' but it has no player starts!
LogGameMode: Warning: Trying to enable spawn zone 'SZCheckpointA1_Team1' but it has no player starts!
LogGameMode: Warning: Trying to enable spawn zone 'SZCheckpointA2_Team1' but it has no player starts!
LogGameMode: Warning: Trying to enable spawn zone 'SZCheckpointA3_Team1' but it has no player starts!
LogOnline: Warning: OSS: Async task 'FOnlineAsyncTaskSteamCreateServer bWasSuccessful: 0' failed in 15.034879 seconds
Does anyone know which part gone wrong?

KennyLuo @kennyluo

Can I run two sandstorm servers with the same Steam GSLT at the same time? With the same IP address, just the ports are different.

mzd3ghst @mzd3ghst

Is there a list of commands you can run from the ` command prompt? I know 'Kill' and 'RestartLevel' works, but I'm looking for things like End Match or go to map picker screen.

orlydb @orlydb

Is there any way to play some mode other than checkpoint with all human players in one side and the other side full of bots? We are two and in Insurgency 2014 we couldn't play like that, one of us had to be in the other team.