Insurgency Sandstorm Server Admin Guide
User Manual:
Open the PDF directly: View PDF .
Page Count: 13

Insurgency: Sandstorm Server Admin
Guide
Installation
Prerequisites
Windows
SteamCMD
Launching
Travel Parameters
Command Line Arguments
Configuration
Admin List
Remote Access (Rcon)
Enabling Access
Commands
Map Cycle
Scenario List
General Configuration
Gamemode Configuration
Installation
Prerequisites
Before installation make sure you have installed the required prerequisites on your server.
Windows
● Visual C++ 2015 Redistributable:
https://www.microsoft.com/en-us/download/details.aspx?id=53587
● VIsual C++ 2017 Redistributable: https://aka.ms/vs/15/release/vc_redist.x64.exe
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:
●Windows: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip

●Linux: https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
You can read more about SteamCMD and how to use it here:
https://developer.valvesoftware.com/wiki/SteamCMD.
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:
Windows
InsurgencyServer.exe
Oilfield?Scenario=Scenario_Oilfield_Push_Security?MaxPlayers=28
-Port=27102 -QueryPort=27131 -log -hostname="My Server”
Linux
Insurgency/Binaries/Linux/InsurgencyServer-Linux-Shipping
Oilfield?Scenario=Scenario_Oilfield_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
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).
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.
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:
Setting
Default
Description
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 “]”.
Command
Parameters
Function
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.
permban
<id/netid/name> [reason]
Permanently bans a player
from the server.
unban
<netid>
Lifts a ban for a user.
listbans
Shows the ban list for the
server.
say
<message>
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
<scenario>
Change level to given
scenario.
travel
<travel url>
Transitions the server to a
different level.
gamemodeproperty
<property> [new value]
Gets or sets a gamemode
property for the length of the

scenario.
By default, any unknown commands will be executed as console commands.
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_Town_Skirmish
Scenario_Oilfield_Skirmish
Scenario_Farmhouse_Skirmish
Scenario List
Farmhouse
Scenario Name
Description
Scenario_Farmhouse_Checkpoint_Insurge
nts
Checkpoint Insurgents
Scenario_Farmhouse_Checkpoint_Security
Checkpoint Security
Scenario_Farmhouse_Firefight_East
Firefight East
Scenario_Farmhouse_Firefight_West
Firefight West
Scenario_Farmhouse_Push_Insurgents
Push Insurgents
Scenario_Farmhouse_Push_Security
Push Security
Scenario_Farmhouse_Skirmish
Skirmish
Hideout (Town)
Scenario Name
Description
Scenario_Town_Checkpoint_Insurgents
Checkpoint Insurgents
Scenario_Town_Checkpoint_Security
Checkpoint Security
Scenario_Town_Firefight_East
Firefight East

Scenario_Town_Firefight_West
Firefight West
Scenario_Town_Push_Insurgents
Push Insurgents
Scenario_Town_Push_Security
Push Security
Scenario_Town_Skirmish
Skirmish
Refinery (Oilfield)
Scenario Name
Description
Scenario_Oilfield_Checkpoint_Insurgents
Checkpoint Insurgents
Scenario_Oilfield_Checkpoint_Security
Checkpoint Security
Scenario_Oilfield_Firefight_West
Firefight West
Scenario_Oilfield_Push_Insurgents
Push Insurgents
Scenario_Oilfield_Push_Security
Push Security
Scenario_Oilfield_Skirmish
Skirmish
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.
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
GameStartingIntermissionTi
me
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]
●Skirmish: [/Script/Insurgency.INSSkirmishGameMode]
●Firefight: [/Script/Insurgency.INSFirefightGameMode]
●Checkpoint: [/Script/Insurgency.INSCheckpointGameMode]
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.
ObjectiveMaxSpeedupPlaye
rs
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.
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.
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.
DefenderWavesPerObjectiv
e
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.
AdvanceAttackerSpawnsDel
ay
30
Delay in advancing the
attacker spawns.
Skirmish [/Script/Insurgency.INSSkirmishGameMode]
Variable
Default
Description
DefaultReinforcementWave
s
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
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.
CounterAttackRespawnDela
y
20
Bot respawn delay during
counter-attack.
ObjectiveTotalEnemyRespa
wnMultiplierMin
1
Multiplier of bots to respawn
with minimum player count.
ObjectiveTotalEnemyRespa
wnMultiplierMax
1
Multiplier of bots to respawn
with maximum player count.
FinalCacheBotQuotaMultipli
er
1.5
Increase in bot quota for
final objective if it’s a cache.