Server Admin Guide

Installation Prerequisites [Windows Only]

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

SteamCMD.

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.

 

Launching

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 start.sh 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.

 

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 portforward.com, 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.

 

Firewall

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 WindowsInsurgency\Saved\Config\WindowsServer
For LinuxInsurgency/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.

Argument Description
-log Enables log window.
-hostname=”My Server” Set the name of the server as it appears on the server browser (replacing My Server with the name of your choice).
-EnableCheats Enable cheats for testing.
-Port=xxxx

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

-QueryPort=xxxx 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 example below “MaxPlayers” is the travel parameters.

Parameter Description
password Sets a password for the server.
MaxPlayers Maximum number of players that can join the server. On coop servers, this is only 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, you would specify -motd=MyOtherMOTD.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 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 either through modifying Game.ini or through the server’s command line. To enable it via the command line you can provide the arguments -Rcon -RconPassword=password -RconListenPort=27015 replacing the password and port with your preference.

Through Game.ini you can add the following options:

[Rcon]

bEnabled=True

Password=password

ListenPort=27015

The following additional config variables are also available: 

Settings Default Description
bAllowConsoleCommands True When enabled, any unknown rcon commands will be interpreted as console commands.
bUseBroadcastAddress True If enabled, then the rcon socket will listen on all available network devices.
IncorrectPasswordBanTime 30 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.
ListenAddressOverride 0.0.0.0 If bUseBroadcastAddress is False, this is the network IP the rcon socket is bound to.
MaxPasswordAttempts 3

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

 

 

Commands

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.

Command Parameters Function
ban <id/netid/name> [duration in minutes] [reason] Bans a player from the server.
banid <netid> [duration in minutes] [reason] Bans a player (by net ID) from the server. Does not require the player to be on the server.
gamemodeproperty <property> [new value] Gets or sets a gamemode property for the length of the scenario.
help   Displays a list of commands.
kick <id/netid/name> [reason] Kicks a player from the server.
listban   Shows the ban list for the server.
listgamemodeproperties [property filter] List all properties available for the currently loaded gamemode.
listplayers   List players currently connected to the server.
maps [level filter] Lists available maps.
permaban <id/netid/name> [reason] Permanently bans a player from the server.
restartround [0 = no team switch, 1 = swap teams] Restarts the current round.
say <message> Shows a message to all players in the chat box.
scenarios [level filter] Lists available scenarios.
travel <travel url> Transitions the server to a different level.
travelscenario <scenario> Change level to given scenario.
unban <netid> Lifts a ban for a user.
 

 

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

 

Enabling Stats

Any Insurgency: Sandstorm community server is capable of hosting a stats-enabled game. In order to accomplish this, you must first generate a GameStats Token. This can be accomplished by doing the following:

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

mceclip0.png

mceclip0.png

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

mceclip4.png

Your token will look something like this:

-GameStatsToken=1417264D1C6549CC95E10CA1E9BE8F09

Simply add the generated token to your launch parameters, and stats will be enabled! Make sure to not 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

In order for your server to be able to authenticate with the stats server, you must authenticate your server through using a 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 in order 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.

In order to generate a token for Insurgency: Sandstorm, enter the App ID as 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 must use a unique token for each individual 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.

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:

Scenario_Crossing_Skirmish

Scenario_Hideout_Skirmish

Scenario_Precinct_Skirmish

Scenario_Refinery_Skirmish

Scenario_Farmhouse_Skirmish

Scenario_Summit_Skirmish

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="Scenario_Town_Checkpoint_Security",Mode="CheckpointHardcore")

 

Scenario List

Crossing (Canyon)

Scenario Name Description

Scenario_Crossing_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Crossing_Checkpoint_Security Checkpoint Security
Scenario_Crossing_Domination Domination
Scenario_Crossing_Firefight_West Firefight West
Scenario_Crossing_Frontline Frontline
Scenario_Crossing_Push_Insurgents Push Insurgents
Scenario_Crossing_Push_Security Push Security
Scenario_Crossing_Skirmish Skirmish
Scenario_Crossing_Team_Deathmatch Team Deathmatch
 

 

Farmhouse

Scenario Name Description

Scenario_Farmhouse_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Farmhouse_Checkpoint_Security Checkpoint Security
Scenario_Farmhouse_Domination Domination
Scenario_Farmhouse_Firefight_East Firefight East
Scenario_Farmhouse_Firefight_West Firefight West
Scenario_Farmhouse_Frontline Frontline
Scenario_Farmhouse_Push_Insurgents Push Insurgents
Scenario_Farmhouse_Push_Security Push Security
Scenario_Farmhouse_Skirmish Skirmish
Scenario_Farmhouse_Team_Deathmatch Team Deathmatch
Scenario_Farmhouse_Survival

Survival

 

 

Hideout (Town)

Scenario Name Description

Scenario_Hideout_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Hideout_Checkpoint_Security Checkpoint Security
Scenario_Hideout_Domination Domination
Scenario_Hideout_Firefight_East Firefight East
Scenario_Hideout_Firefight_West Firefight West
Scenario_Hideout_Frontline Frontline
Scenario_Hideout_Push_Insurgents Push Insurgents
Scenario_Hideout_Push_Security Push Security
Scenario_Hideout_Skirmish Skirmish
Scenario_Hideout_Team_Deathmatch Team Deathmatch
Scenario_Hideout_Survival

Survival

 

 

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_Push_Insurgents Push Insurgents
Scenario_Hillside_Push_Security Push Security (INS2014 layout)
Scenario_Hillside_Skirmish Skirmish
Scenario_Hillside_Team_Deathmatch Team Deathmatch
Scenario_Hillside_Survival

Survival

 

 

Ministry

Scenario Name Description

Scenario_Ministry_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Ministry_Checkpoint_Security Checkpoint Security
Scenario_Ministry_Domination Domination
Scenario_Ministry_Firefight_A Firefight
Scenario_Ministry_Skirmish Skirmish
Scenario_Ministry_Team_Deathmatch Team Deathmatch
 

 

Outskirts (Compound)

Scenario Name Description

Scenario_Outskirts_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Outskirts_Checkpoint_Security Checkpoint Security
Scenario_Outskirts_Firefight_East Firefight East
Scenario_Outskirts_Firefight_West Firefight West
Scenario_Outskirts_Frontline Frontline
Scenario_Outskirts_Push_Insurgents Push Insurgents
Scenario_Outskirts_Push_Security Push Security
Scenario_Outskirts_Skirmish Skirmish
Scenario_Outskirts_Team_Deathmatch Team Deathmatch
Scenario_Outskirts_Survival

Survival

 

 

Precinct

Scenario Name Description

Scenario_Precinct_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Precinct_Checkpoint_Security Checkpoint Security
Scenario_Precinct_Firefight_East Firefight East
Scenario_Precinct_Firefight_West Firefight West
Scenario_Precinct_Frontline Frontline
Scenario_Precinct_Push_Insurgents Push Insurgents
Scenario_Precinct_Push_Security Push Security
Scenario_Precinct_Skirmish Skirmish
Scenario_Precinct_Team_Deathmatch Team Deathmatch
Scenario_Precinct_Survival

Survival

 

 

Refinery (Oilfield)

Scenario Name Description

Scenario_Refinery_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Refinery_Checkpoint_Security Checkpoint Security
Scenario_Refinery_Firefight_West Firefight West
Scenario_Refinery_Frontline Frontline
Scenario_Refinery_Push_Insurgents Push Insurgents
Scenario_Refinery_Push_Security Push Security
Scenario_Refinery_Skirmish Skirmish
Scenario_Refinery_Team_Deathmatch Team Deathmatch
 

 

Summit (Mountain)

Scenario Name Description

Scenario_Summit_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Summit_Checkpoint_Security Checkpoint Security
Scenario_Summit_Firefight_East Firefight East
Scenario_Summit_Firefight_West Firefight West
Scenario_Summit_Frontline Frontline
Scenario_Summit_Push_Insurgents Push Insurgents
Scenario_Summit_Push_Security Push Security
Scenario_Summit_Skirmish Skirmish
Scenario_Summit_Team_Deathmatch Team Deathmatch
Scenario_Summit_Survival

Survival

 

 

Power Plant (PowerPlant)

Scenario Name Description

Scenario_PowerPlant_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_PowerPlant_Checkpoint_Security Checkpoint Security
Scenario_PowerPlant_Domination Domination
Scenario_PowerPlant_Firefight_East Firefight East
Scenario_PowerPlant_Firefight_West Firefight West
Scenario_PowerPlant_Push_Insurgents Push Insurgents
Scenario_PowerPlant_Push_Security Push Security
Scenario_PowerPlant_Survival

Survival

 

 

Tideway (Buhriz)

Scenario Name Description

Scenario_Tideway_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Tideway_Checkpoint_Security Checkpoint Security
Scenario_Tideway_Domination Domination
Scenario_Tideway_Firefight_West Firefight West
Scenario_Tideway_Frontline Frontline
Scenario_Tideway_Push_Insurgents Push Insurgents
Scenario_Tideway_Push_Security Push Security
 

 

Bab

 

Scenario Name Description

Scenario_Bab_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Bab_Checkpoint_Security Checkpoint Security
Scenario_Bab_Domination Domination
Scenario_Bab_Firefight_East Firefight East
Scenario_Bab_Outpost Outpost
Scenario_Bab_Push_Insurgents Push Insurgents
Scenario_Bab_Push_Security Push Security

 

Citadel

 

Scenario Name Description

Scenario_Citadel_Checkpoint_Insurgents

Checkpoint Insurgents
Scenario_Citadel_Checkpoint_Security Checkpoint Security
Scenario_Citadel_Domination Domination
Scenario_Citadel_Firefight_East Firefight East
Scenario_Citadel_Outpost Outpost
Scenario_Citadel_Push_Insurgents Push Insurgents
Scenario_Citadel_Push_Security

Push Security

Scenario_Citadel_Survival

Survival

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.

 

Lighting Scenarios

In addition to day scenarios, night scenarios are also available. This is controlled through the travel parameter ?Lighting=, valid values are Night or Day.

For the map cycle, you control this through a Lighting parameter, similar to the Mode parameter. You should make sure that this parameter is specified for the correct voting image to show. For example:

(Scenario="Scenario_Town_Checkpoint_Security",Lighting="Night")

This will set the map cycle entry to use Hideout (Town) at Night on the Checkpoint Security scenario. You can mix Day and Night scenarios in the same map cycle by explicitly defining the Lighting parameter for both Day and Night, for example:

(Scenario="Scenario_Town_Checkpoint_Security",Lighting="Night") (Scenario="Scenario_Town_Checkpoint_Security",Lighting="Day")

This will allow you to play Hideout Checkpoint Security on both Day and Night which will show the appropriate images on the voting screen.s

 

Mods

Mods are delivered using Mod.io. To get started, you will need a Mod.io account. Once you have signed in, click your username at the top right, and click API Access from the left navigation.

OAuth management page

Under OAuth 2 Management, under Generate Access Token, enter a name to give your token and give it read access (write access is not needed) and click Create Token.

Generated token

You will be presented with your auth token, you may copy this to your clipboard. In your server's Engine.ini, you will enter the following to authenticate your server with the token (replace "TOKEN HERE" with what you just copied):

[/Script/ModKit.ModIOClient]

bHasUserAcceptedTerms=True

AccessToken=TOKEN HERE

Now you have entered your authentication token and your server is ready to start accepting mods. Your server must include -Mods on the command line for this to function.

To specify a list of mods your server is running, you can add a text file in the following directory Insurgency/Config/Server/ specifying each mod ID line by line. 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 Mods.txt.

For Linux:

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

You can also override the text file read by specifying -ModList=MyCustomModList.txt on the command line.

If you wish to specify a list of mods on the command line, you may do this through specifying -CmdModList="mod1,mod2,mod3" where mod1,mod2,mod3 is a comma-separated list of mod IDs.

You may specify a map to travel to after mods are downloaded by specifying the ModDownloadTravelTo= command-line argument, followed by the travel URL argument to change to.

An excellent resource for newcomers is the community guides available on Mod.io.

 

Mutators

Mutators (formerly rulesets) are packaged gameplay configuration assets which the game ships with. You may use these on your own servers by specifying -mutators=MutatorName on the server command line where "MutatorName" is from the following options:

File Name Mutator Name Description
AllYouCanEat All You Can Eat Start with 100 supply points.
AntiMaterielRiflesOnly Anti-Materiel Only Only anti-materiel rifles are available along with normal equipment and explosives.
BoltActionsOnly Bolt-Actions Only Only bolt-action rifles are available along with normal equipment and explosives.
Broke Broke Start with 0 supply points.
BudgetAntiquing Budget Antiquing Normal equipment and explosives, but limited to old and inexpensive weapons.
BulletSponge Bullet Sponge Health is increased.
Competitive Competitive Equipment is more expensive, rounds are shorter, and capturing objectives is faster.
CompetitiveLoadouts Competitive Loadouts Player classes are replaced with those from Competitive.
FastMovement Fast Movement Move Faster.
Frenzy Frenzy Fight against AI enemies who only use melee attacks. Watch out for special enemies.
FullyLoaded Fully Loaded All weapons, equipment, and explosives in the game are available in the Loadout Menu
Guerrillas Guerrillas Start with 5 supply points.
Gunslingers Gunslingers Kill the enemy more than they kill you with a big stinkin' revolver. And explosives.
Hardcore Hardcore Mutator featuring slower movement speeds and longer capture times.
HeadshotOnly Headshots Only Players only take damage when shot in the head.
HotPotato Hot Potato

A live fragmentation grenade is dropped on death.

LockedAim Locked Aim Weapons always point to the center of the screen.
MakarovsOnly
Makarovs Only Makarovs are the only option.
NoAim No Aim Down Sights Aiming down sights is disabled.
NoDrops No Drops No scavenging allowed.
PistolsOnly Pistols Only Only pistols are available along with normal equipment and explosives.
Poor Poor Start with limited supply.
ShotgunsOnly Shotguns Only Only Shotguns are available along with normal equipment and explosives.
SlowCaptureTimes Slow Capture Times Objectives will take longer to capture.
SlowMovement Slow Movement Move slower.
SoldierOfFortune Soldier of Fortune Gain supply points as your score increases.
SpecialOperations Special Operations Start with 30 supply points.
Strapped Strapped Start with 1 supply point.
Ultralethal Ultralethal Everyone dies with one shot.
Vampirism Vampirism Receive health when dealing damage to enemies equal to the amount of damage dealt.
Warlords Warlords Start with 10 supply points.
 

 

You may specify multiple mutators by using a comma-separated list. For example, to enable Hot Potato and Vampirism, specify -mutators=HotPotato,Vampirism on the server command line.

Some mutators can be configured beyond what is provided by the defaults. These mutators are listed below. All Mutator settings go in Game.ini.

 

Headshots Only

Headshots Only settings can be configured under [/Script/Insurgency.Mutator_HeadshotOnly].

INI Entry Default Travel URL Parameter Description
bCheckMeleeDamage false N/A Should melee be checked for headshots
 

 

Hot Potato

Hot Potato settings can be configured under [/Script/Insurgency.Mutator_HotPotato].

INI Entry Default

Travel URL Parameter

Description
GrenadeClass /Game/Game/Actors/Projectiles/BP_Projectile_M67.BP_Projectile_M67_C N/A The grenade type to be dropped on death.
ThrowbackWeaponClass /Game/Game/Actors/Weapons/Grenade/BP_Grenade_M67.BP_Grenade_M67_C N/A Weapon used for throwing back the dropped grenade.

bIgnoreHeadshots
false HotPotato_bIgnoreHeadshots Don't drop a grenade if it was a headshot?
bBotsOnly false HotPotato_bBotsOnly Only drop grenades for bots?
 

 

Vampirism

Vampirism settings can be configured under [/Script/Insurgency.Mutator_Vampirism].

INI Entry Default Travel URL Parameter Description
bCountFriendlyFire false Vampirism_bCountFriendlyFire Count friendly fire towards health gain?
MaxHealth 1000 Vampirism_MaxHealth The maximum amount of health that you can gain from damaging other players.
 

 

General Configuration

A bunch of general gameplay options can be added to Game.ini. Below is a table that lists the section they need to be under (find or add them to the file) as well as the options available under that section.

[/Script/Insurgency.INSGameMode]

Variable Default Description
bKillFeed False Is the kill feed enabled?
bKillFeedSpectator True

Is the kill feed enabled for dedicated spectators and replays?

bKillerInfo True

Show information about a death (killer, weapon) to the victim?

bKillerInfoRevealDistance False Reveal distance of kills?
TeamKillLimit 3 Limit for the number of team kills one player can perform before being kicked.
TeamKillGrace 0.2

Grace timer between team killing incidents.

TeamKillReduceTime 90

How long until a player’s TK count reduces by 1.

bDeadSay False Can alive players see messages from the dead?
bDeadSayTeam True Can alive players see messages from dead teammates using team-only chat?
bVoiceAllowDeadChat False Can alive players hear voice chat from dead players?
bVoiceEnemyHearsLocal True Can proximity voice chat be heard by enemies?
 

 

[/Script/Insurgency.INSMultiplayerMode]

Variable Default Description
bKillFeedGameStartingIntermissionTime 5 The additional time to wait for additional players during the starting intermission.
WinTime 5

How long players are frozen before transitioning to the round intermission screen.

PostRoundTime 15

How long is spent on the intermission screen.

PostGameTime 15 How much time is spent between last post round and game over.
bAutoAssignTeams True Should teams be assigned on connect?
bAllowFriendlyFire True

Enables friendly fire.

FriendlyFireModifier 0.2

Damage modifier for friendly fire.

FriendlyFireReflect 0 Damage modifier for friendly fire that is mirrored back at the attacker.
bAutoBalanceTeams True Enables auto team balancing.
AutoBalanceDelay 10 How long to wait after detecting unbalanced teams.
bMapVoting True Enabled map voting at the end of each game.
bUseMapCycle True Enables the use of the map cycle. If disabled, the current map loops indefinitely.
bVoiceIntermissionAllowAll True

Allow both teams to talk to each other between rounds.

IdleLimit 150 How long a player can be idle for before being kicked.
IdleLimitLowReinforcements 90 How long a player can idle for when there are low reinforcements.
IdleCheckFrequency 30 How frequently to check for idle players.
 

For example, enable the kill feed, show kill distance and disable friendly fire you would enter the following in your Game.ini:

[/Script/Insurgency.INSGameMode]

bKillFeed=True

bKillerInfoRevealDistance=True   

 

[/Script/Insurgency.INSMultiplayerMode]

bAllowFriendlyFire=False

 

Gamemode Configuration

Gamemode options can be defined through Game.ini, with each section corresponding to a given gamemode. The INI sections are as follows:

 

    • Push[/Script/Insurgency.INSPushGameMode]

    • Frontline[/Script/Insurgency.INSFrontlineGameMode]
    • Skirmish[/Script/Insurgency.INSSkirmishGameMode]

    • Survival[/Script/Insurgency.INSSurvivalGameMode]
    • Firefight[/Script/Insurgency.INSFirefightGameMode]

    • Checkpoint[/Script/Insurgency.INSCheckpointGameMode]

    • Outpost[/Script/Insurgency.INSOutpostGameMode]
    • Team Deathmatch: [/Script/Insurgency.INSTeamDeathmatchGameMode]

Any of the below settings under the general sections can be applied globally by putting them in the appropriate INI section.

 

General ([/Script/Insurgency.INSGameMode])

Variable Default Description
ObjectiveCaptureTime Varies How long it takes to capture territorial objectives.
ObjectiveResetTime -1 How long objective progress decays with no one on the point. Negative value disables.
ObjectiveSpeedup 0.25 Additional capture speed-up for each player on the point.
ObjectiveMaxSpeedupPlayers 4 Maximum players taken into account for capture speed-up.
 

 

General ([/Script/Insurgency.INSMultiplayerMode])

Variable Default Description
MinimumPlayers 1 Minimum players required on each team to start the game.
RoundLimit Varies

Maximum number of rounds to play.

WinLimit Varies Number of rounds required for game victory.
GameTimeLimit -1 Maximum duration a game can last. Negative value disables.
PreRoundLimit 10 Amount of “freeze time” at the start of a round.
RoundTime Varies Duration of the round.
OverTime 60

Amount of overtime given when there’s an objective being contested after the round timer expires.

TeamSwitchTime 10 Minimum additional time spent between team switches.
SwitchTeamsEveryRound Varies How often to switch teams. 0 = never, 1 = every round, 2 = every other round, etc.
bAllowPlayerTeamSelect True Allow players to switch to the other team?
bBots False

Enable bots?

BotQuots Varies Bot quota to fill.
InitialSupply 15 Amount of starting supply points.
MaximumSupply 15 Maximum supply that can be earned.
bSupplyGainEnabled False

Enable supply gain throughout the round.

bAwardSupplyInstantly False Should supply gain be awarded instantly?
SupplyGainFrequency 150 Score threshold for earning supply.
 

 

Push [/Script/Insurgency.INSPushGameMode]

Variable Default Description
RoundTimeExtension 300 How long a round is extended for each successful capture.
AttackerWavesPerObjective 5 Number of waves attackers get per-objective.
AttackerWaveDPR 0.25 Percentage of attacker team that has to be dead to trigger a reinforcement wave.
AttackerWaveTimer 20 Duration of attacker reinforcement wave timer.
DefenderWavesPerObjective 5

Number of waves attackers get per-objective.

DefenderWaveDPR 0.25

Percentage of defending team that has to be dead to trigger a reinforcement wave.

DefenderWaveTimer 35 Duration of defender reinforcement wave timer.
LastStandSetupDelay 10 Delay for the last defender spawn zone to be disabled.
AdvanceAttackerSpawnsDelay 30 Delay in advancing the attacker spawns.
 

 

Frontline [/Script/Insurgency.INSFrontlineGameMode]

Variable Default Description
StartingWaves 15 Number of waves each team starts with.
CapturingBonusWave 2 Number of waves a team gains for capturing an objective.
RegressSpawnsTimer 10 Timer used for giving players a chance to fallback after losing an objective.
 

 

Skirmish [/Script/Insurgency.INSSkirmishGameMode]

Variable Default Description
DefaultReinforcementWaves 5

Starting reinforcement waves for each team.

CaptureBonusWaves 1

Number of bonus waves to get when an objective is taken while the team cache is still intact.

 

 

Survival [/Script/Insurgency.INSSurvivalGameMode]

Variable Default Description
RoundTimeExtension 300 How long a round is extended for after capping an objective.
NumWaves 7 How many successful captures (including extraction) are required (note: it is possible to break certain maps for certain values of NumWaves. These have not been extensively tested).
bEnableExtractionObjective True Should the extraction sequence (includes final counterattack) be used.
ExtractionObjectiveHoldTime 150

How long the extraction objective needs to be held for a successful extraction

ExtractionSpawnStopTime 0

Time remaining in extraction to stop spawning enemies

BotDPRRespawnFinal 0.1

What ratio of bots to respawn at on final objective (ie. DPR of 0.3 means a bot will respawn if more than 30% of bots are dead)

BotDPRRespawnFirst 0.3 What ratio of bots to respawn at on first objective (ie. DPR of 0.3 means a bot will respawn if more than 30% of bots are dead)
MinimumBotsPerCompletedObjective 0.5 Bot respawn delay during counter-attack.At minimum player count, the number of bots to add per completed objective
MaximumBotsPerCompletedObjective

1.0

At maximum player count, the number of bots to add per completed objective

bResetLoadoutOnNewRound

False

Should the player's loadout and supply be reset on failure?

ObjectiveDefendDistance

2000

How close to the objective should the bots be before they move to defend it rather than wandering

BotMinimumSpawnRange

3000

The minimum distance away from all players that a bot must be upon spawning

BotMaximumSpawnRange

5000

The maximum distance away from the nearest player that the bot can be upon spawning. Should not be greater than BotRespawnDistance

BotRespawnDistance

10000

How far away the nearest player must be for the bots to respawn to a closer position. Should not be less than BotMaximumSpawnRange

BotSpawnDelay

10

How long after the game begins before bots spawn

BotRespawnDelay 1

How long to wait between respawning dead bots

BotRepositionDelay

1

How long to wait between teleporting lost bots

bUseSpecialWaves

True

Should special waves be used?

SpecialWaveFrequency

2

If special waves are enabled, how often should they be used?

SurvivalWaveConfigAssetPath

/Game/

Game/

Data/

Gamemodes/

SurvivalWaveConfig_Default.SurvivalWaveConfig_Default

Contains path to asset with enemy config

SurvivalNightTimeWaveConfigAssetPath

/Game/

Game/

Data/

Gamemodes/

SurvivalWaveConfig_Night.SurvivalWaveConfig_Night

Contains path to asset with enemy config for night maps

DefaultReinforcementWaves

5

Starting reinforcement waves for each team.

CaptureBonusWaves

1

Number of bonus waves to get when an objective is taken while the team cache is still intact.

 

General Coop [/Script/Insurgency.INSCoopMode]

Variable Default Description
AIDifficulty 0.5

AI difficulty factor (0-1 range).

bUseVehicleInsertion True Use vehicle insertion sequences where possible.
FriendlyBotQuota 4 Friendly bots for coop.
MinimumEnemies 6 Minimum number of enemy bots.
MaximumEnemies 12

Maximum number of enemy bots.

 

 

Checkpoint [/Script/Insurgency.INSCheckpointGameMode]

Variable Default Description
DefendTimer 90 Time to defend against counter attack with small player team.
DefendTimerFinal 180 Extend duration of counter-attack by this on the final point.
RetreatTimer 10 Time to force bots to retreat after a counter-attack.
RespawnDPR 0.1

“Dead player ratio” that must be reached before respawning the bot team.

RespawnDelay 20

Bot respawn delay.

PostCaptureRushTimer 30

Time bots will rush the cache after destruction.

CounterAttackRespawnDPR 0.2 “Dead player ratio” that must be reached before respawning the bot team during a counter-attack.
CounterAttackRespawnDelay 20 Bot respawn delay during counter-attack.
ObjectiveTotalEnemyRespawnMultiplierMin 1 Multiplier of bots to respawn with minimum player count.
ObjectiveTotalEnemyRespawnMultiplierMax 1 Multiplier of bots to respawn with maximum player count.
FinalCacheBotQuotaMultiplier 1.5 Increase in bot quota for final objective if it’s a cache.
 

 

Player Voting

Community servers can opt into enabling player voting on their servers. This can be enabled by entering the following into Game.ini:

[/Script/Insurgency.TeamInfo]

bVotingEnabled=True

TeamVoteIssues=/Script/Insurgency.VoteIssueKick

This will enable voting and include the vote kick issue, which as of now is the only supported voting issue. When additional vote issues are available, you would add a new line below for each issue you want to enable.

When voting is enabled, players can press Esc and click “Call Vote” to vote for a vote issue. Pressing F1 will vote yes and pressing F2 will vote no.

 

Vote Kick Options

 

INI Section: [/Script/Insurgency.VoteIssueKick]

Option Default Description
bCanTargetEnemies false Can the vote target an enemy player?
bRequiresMinimumToStart true Does this issue require a minimum number of players to show their voting intentions before commencing the vote?
DefaultVoteBanDuration 120 How long a ban for any other reason will last in seconds.
IdleVoteBanDuration -1 How long voting an idle player will ban them for in seconds, -1 represents a kick only.
MinimumPlayerRatio 0.25

Minimum ratio of team required to start a vote.

MinimumPlayersRequired 3 The number of players required to start a vote.
MinimumYesNoDifference 2 For the vote to succeed, yes must have this number of votes over no.
VotePassRatio 0.75 Ratio of team required to vote yes for vote to pass.
VoteTimeout 90

How long until this vote can be called again.

 

 

If something is unclear, or you require additional information, please create a support ticket. We're always here and happy to help.

Still have questions? We'd love to help.