Insurgency Sandstorm Server Admin Guide

Server Admin Guide v1.9

 


Installation

Prerequisites

Before installation, make sure you have installed the required prerequisites on your server.

Windows

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’s files fairly easily.

You can download SteamCMD from the following links:

You can read more about SteamCMD and how to use it here: Developer.valvesoftware.com.

Most commands through SteamCMD require knowledge of the “app ID”, for Insurgency: Sandstorm its server files use the app ID 581330.

Launching

Once installed, you may launch the server from the “InsurgencyServer” executable located in the root directory of where you installed 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.

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 “port”, “queryport” and “MaxPlayers” are 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.

Command Line Arguments

-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).

Configuration

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

The location of the configuration files are in the following directories (relative to the installation directory):

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

Admin List

The game has a built-in admin menu which provides basic functionality such as kicking, banning and changing the level. In order 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.

The list is contained inside Insurgency/Config/Server/Admins.txt. If this file does not exist, create it. 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 server admin you want to add, put each Steam ID on a new line. 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 is connected to the server, they should be able to open the admin menu, it is bound to the Keypad Subtract button by default and can be re-bound in the key bindings menu.

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:

bUseBroadcastAddress True If enabled, then the rcon socket will listen on all available network devices.
ListenAddressOverride 0.0.0.0 If bUseBroadcastAddress is False, this is the network IP the rcon socket is bound to.
bAllowConsoleCommands True When enabled, any unknown rcon commands will be interpreted as console commands.
MaxPasswordAttempts 3 The maximum number of failed authentication attempts before the IP address is temporarily banned.
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.

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 as well as 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.

help Displays a list of commands.
listplayers Lists players currently connected to the server.
kick <id/netid/name> [reason] Kicks a player from the server.
ban <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.
permban <id/netid/name> [reason] Permanently bans a player from the server.
unban Lifts a ban for a user.
listbans Shows the ban list for the server.
say Shows a message to all players in the chat box.
restartround [0 = no team switch, 1 = swap teams] Restarts the current round.
maps [level filter] Lists available maps.
scenarios [level filter] Lists available scenarios.
travelscenario Change level to given scenario.
travel Transitions the server to a different level.
gamemodeproperty [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 is able to host a stats-enabled game. The only requirements is that you must use a Steam GSLT and you must not have a password.

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, game servers will not attempt to report to the stats system. Following the GSLT login steps above, also add -GameStats to your server’s command line to enable the opt-in.

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 in order for your server to appear under the “official rules” filter. In order 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 mapcycle file which contains a list of scenarios, separated by new lines. 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.

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 gamemode as some gamemodes can share scenarios. For example, in order to have Hardcore Checkpoint Security on Hideout you would enter the following:

(Scenario=&quot;Scenario_Town_Checkpoint_Security&quot;,Mode=&quot;CheckpointHardcore&quot;)

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.

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_Outpost Outpost
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
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
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_Team_Deathmatch Team Deathmatch
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_Outpost Outpost
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_Domination Domination
Scenario_Outskirts_Firefight_East Firefight East
Scenario_Outskirts_Firefight_West Firefight West
Scenario_Outskirts_Frontline Frontline
Scenario_Outskirts_Outpost Outpost
Scenario_Outskirts_Push_Insurgents Push Insurgents
Scenario_Outskirts_Push_Security Push Security
Scenario_Outskirts_Skirmish Skirmish
Scenario_Outskirts_Team_Deathmatch Team Deathmatch
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_Outpost Outpost
Scenario_PowerPlant_Push_Insurgents Push Insurgents
Scenario_PowerPlant_Push_Security Push Security
Precinct
Scenario Name
Description
Scenario_Precinct_Checkpoint_Insurgents Checkpoint Insurgents
Scenario_Precinct_Checkpoint_Security Checkpoint Security
Scenario_Precinct_Domination Domination
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
Refinery (Oilfield)
Scenario Name
Description
Scenario_Refinery_Checkpoint_Insurgents Checkpoint Insurgents
Scenario_Refinery_Checkpoint_Security Checkpoint Security
Scenario_Refinery_Domination Domination
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_Domination Domination
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
TELL
Scenario Name
Description
Scenario_Tell_Checkpoint_Insurgents Checkpoint Insurgents
Scenario_Tell_Checkpoint_Security Checkpoint Security
Scenario_Tell_Outpost Outpost
Scenario_Tell_Domination Domination
Scenario_Tell_Firefight_East Firefight East
Scenario_Tell_Firefight_West Firefight Westt
Scenario_Tell_Frontline Frontline
Scenario_Tell_Push_Insurgents Push Insurgents
Scenario_Tell_Push_Security Push Security
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

Lighting Scenarios

As of 1.7, Night scenarios are available. This is controlled through the travel URL 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.

Mods

As of the 1.6 update, you can host mods on your server. Mods are delivered using mod.io. To get started you will need a mod.io account, once you have signed-in, click your username as 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, 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 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.

If you wish to specify a list of mods on the command line you may do this through specifying -CmdModList=&quot;mod1,mod2,mod3&quot; where mod1,mod2,mod3 is a command 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.

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:

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.
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.
Guerrillas Guerrillas Start with 5 supply points.
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.
NoAim No Aim Down Sights Aiming down sights is disabled.
PistolsOnly Pistols Only Only pistols are available along with normal equipment and explosives.
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].

bCheckMeleeDamage false N/A Should melee be checked for headshots

Hot Potato

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

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].

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
GameStartingIntermissionTime 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
bAllowDeathCamera True True when players can use the death camera on this server.
bAllowThirdPersonSpectate True Are players permitted to use the 3rd person camera while spectating?
bAllowFriendlyFire True Enables friendly fire.
bAllowPlayerTeamSelect True Allow players to switch between teams of their choice?
bAutoAssignTeams True Should teams be assigned on connect?
FriendlyFireModifier 0.2 Damage modifier for friendly fire.
FriendlyFireReflect 0 Damage modifier for friendly fire that is mirrored back at the attacker.
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]
  • Firefight: [/Script/Insurgency.INSFirefightGameMode]
  • Checkpoint: [/Script/Insurgency.INSCheckpointGameMode]
  • 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.
PreRoundTime 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?
BotQuota 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.
bRestrictClassByPlayerLevel True Should player classes enforce their minimum level requirements?
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 20 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.
Firefight [/Script/Insurgency.INSFirefightGameMode]
Variable Default Description
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.
Outpost [/Script/Insurgency.INSOutpostGameMode]
Variable Default Description
InitialPrepareTimer 15 Preparation timer given at the start of a round.
PrepareTimer 45 Preparation timer given between waves.
WaveSurvivalSupplyAward 1 Amount of supply awarded to all players for wave survival
NumWaves 7 Number of waves human players have to survive
bDeductWaveAfterRetreat False Should a wave be deducted from a defense phase if we had to retreat?
bResetWavesOnRetreat False Should the wave count reset if we have to fall back?
bForceRespawnOnRetreat True Should all players, including alive ones, be respawned on retreat?
bRetreatOnElimination True Should the human players retreat when the team is eliminated rather than ending the round?
EliminationRetreatDelay 2 Delay on elimination respawning the team at the next objective group
bAllowRetreatOnFinalWave True Do the players fallback if they lose against the final wave, or just lose the game?
DefendTimer 120 Time for each attack wave
FinalDefendTimer 180 Timer used for the final wave
RetreatTimer 0 If the bots capture a point, this is how long the human team is given to retreat and get into position
MinimumBotsPerAdditionalObjective 2 At minimum player count, the number of bots to add per additional active objective
MaximumBotsPerAdditionalObjective 6 At maximum player count, the number of bots to add per additional active objective
MinimumBotsPerCompletedWave 0.5 At minimum player count, the number of bots to add per completed wave
MaximumBotsPerCompletedWave 1 At maximum player count, the number of bots to add per completed wave
BotDPRRespawnFirst 0.5 Bot respawn DPR (dead player ratio) for the first objective
BotDPRRespawnFinal 0.2 Bot respawn DPR (dead player ratio) for the final objective
BotDPRMinimumTimeRemaining 15 Minimum round time remaining required to use the DPR respawning for bots
bUseSpecialWaves True Should special waves be used?
SpecialWaveFrequency 2 If special waves are enabled, how often should they be used?
bResetLoadoutOnNewRound True Should the player’s loadout and supply be reset on failure?
StartingItems (Item=”/Game/Game/Actors/Weapons/SideArm/BP_Firearm_Makarov.BP_Firearm_Makarov_C”) When loadout reset is enabled, these are the items given to the player.
OutpostWaveConfigAssetPath /Game/Game/Data/Gamemodes/OutpostWaveConfig_Default.OutpostWaveConfig_Default Contains path to asset with special enemy config

Player Voting

As of update 1.1, 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]

MinimumPlayersRequired 3 The number of players required to start a vote.
bRequiresMinimumToStart True Does this issue require a minimum number of players to show their voting intentions before commencing the vote?
MinimumPlayerRatio 0.25 Minimum ratio of team required to start a vote.
VotePassRatio 0.75 Ratio of team required to vote yes for vote to pass.
MinimumYesNoDifference 2 For the vote to succeed, yes must have this number of votes over no.
VoteTimeout 90 How long until this vote can be called again.
bCanTargetEnemies false Can the vote target an enemy player?
IdleVoteBanDuration -1 How long voting an idle player will ban them for in seconds, -1 represents a kick only.
DefaultVoteBanDuration 120 How long a ban for any other reason will last in seconds.