The configuration file
Game.ini is used by a Insurgency: Sandstorm server to control many settings for the game.
It can be used to set not only the basic settings for the game (such as server name, password, etc), but more complex settings such as if bots are allowed, the number of bots, the length of rounds, and many many other things. Specific game modes , such as "checkpoint" co-op or versus PVP can also have their own unique settings in their own special sections of the config file, that are only used when playing those specific game modes.
Game.ini file will be blank
Unfortunately, after a server is freshly installed, this incredibly important
Game.ini config file will be completely blank inside. Totally empty. Nada. Zilch.
This is completely normal, and the developers of the game intended for it to work like that. You are supposed to add the settings you need one by one into the config file. This can be pretty tedious. So at the end of this guide are whole blocks of settings that you can simply copy and paste right into your own
Game.ini config file.
The rest of this guide tells you where the config file is, how to edit it, and some of the really complicated rules for the format inside the config file. If the settings aren't in a very specific format, the game generally completely ignores those settings.
What happens if you leave it blank?
A blank config file can cause interesting things to happen when you switch to certain game modes, like automatically and instantly losing a co-op scenario, because the game had no settings for the number of bots on the opposing team, how long the round was supposed to be, etc. You can also end up seeing a very particular error screen that simply states the game can't finish loading because it lacks settings telling it what to load. All of these strange things can be usually be instantly solved by adding the correct settings into the
Game.ini config file.
Use the Nodecraft Control Panel to Add Some Settings
Nodecraft has implemented some of the very basic settings for Insurgency: Sandstorm on the "Game Settings" section of the Nodecraft control panel, like server name and password to name a few. The panel will record the settings shown on the "Game Settings" page, and if necessary, it will also create a new
Game.ini config file too.
Many of the settings added by the Nodecraft control panel will actually be set as "Startup Arguments", and these are handled by the control panel in a different way:
The Nodecraft control panel stores these settings, and sends them directly to the game at each startup. For some of these settings, that is the only normal way they can be set (as Startup Arguments).
These include settings like server name, password, starting scenario, and many other settings added to the "Game Settings" section of the control panel.
They will not be stored in the
Game.iniconfig file. If you can't find them in the config file, you aren't going crazy. They're just not stored there.
Startup Arguments will have the highest priority, meaning they will override a duplicate setting if it's also in a config file too (in the few cases you can set them multiple ways).
Some other simpler settings, such as the kill camera feed and RCON access, cannot be set as Startup Arguments. The Nodecraft control panel will have to add those settings into config files normally.
Even after using the Nodecraft control panel to change settings, it's not uncommon to see a mostly empty
Adding Additional Settings
The settings that have been implemented on the control panel are a good starting point, but unfortunately, there are a lot of extra settings for Insurgency: Sandstorm.
A lot. Tons..
We are working to add more and more settings to the Nodecraft control panel, but some settings are considered completely optional. You are only supposed to add them if you need them. If you aren't using certain features in the game, it's best to simply not add them at all.
Some settings are actually contradictory and adding them simultaneously to the config file might result in some pretty strange results. So the
Game.ini config file will need to be manually edited to add other settings.
Where to Find Information about Other Settings
Server Admin Guides
The developers of Insurgency: Sandstorm have an excellent guide for admins, which lists and explains much of the operation and settings for the game. Most of the content in this guide was pulled directly from this admin guide.
The site Mod.io, which is the official home for all Insurgency: Sandstorm mods, also has a very informative guide on server settings as well.
Both of these guides are updated very frequently.
You can consult these guides for more information about the function of these settings, and some of the allowed values that they can be set to.
Game.ini Config File
Game.ini config file is located at
/Insurgency/Saved/Config/LinuxServer in the file manager tab of the Nodecraft control panel.
You can edit the
Game.ini file directly in the file manager window of the the Nodecraft control panel. Just select the file by clicking on the box to the left of it's name. A button labelled "Edit" will appear at the top of the file manager window. When you click on it, a text editor opens directly in the window. When you're finished editing the file, you can save your changes with the "Save" button.
Alternately, you could create a text file on your home computer, and just upload it to the correct folder on the server.
Syntax of the
Game.Ini Config File
The contents of the
Game.ini config file need to be in a very specific format. If settings are not added properly, the game will probably ignore those settings. The following sections cover some basic things that apply to the entire config file.
Many sections of the
Game.ini will have "header" titles enclosed by square brackets. These headers control which section of the game's code actually looks at and interprets these settings. Settings without headers directly above them will most likely be completely ignored by the game.
The spelling on these headers needs to be exact, and they are case sensitive (those upper case letters matter!)
Headers are unique, and should only appear once in the file
Each different header should appear only once in the config file. If you have a lot of settings, just make one continuous list under a single header.
No blank lines inside sections
Settings need to be directly underneath the headers for their appropriate section, with no blank lines. If settings are separated by a blank lines, the game will interpret those as a different sections (and without a header, it will pretty much ignore them). Of course, you do need to separate the different sections with blank lines.
Settings in specific sections can override other sections
Headers for specific game modes, like co-op "checkpoint" game mode, can override the general global settings under other headers, like the two main headers for global settings in the game:
For example: you can disable all bots under general multiplayer settings, but still have bots in a multiplayer "checkpoint" scenario. The game will check the settings under the header for checkpoint game mode (
[/Script/Insurgency.INSCheckpointGameMode])and use the bot settings in that section instead.
Variables shown in the sample config files
The sample config file elements at the end of this guide are intended to be copied and pasted directly into the config file. Some of the settings don't have any default values, and generally have a "fill-in-the-blank" label like "varies". That doesn't work well if it's being pasted directly in, so some were given specific values. You can edit them however you wish afterwards.
Any setting that listed "varies" as a value, have had those values replaced with the closest equivalent to what the game usually uses as a default settings. For example, round length is set to "480" seconds, which produces rounds of 8 minutes in length.
Some optional settings were set to "0", if the main setting was turned off. For example, the setting
bBots=Falsedisables bots in regular multiplayer games. A related settings that controls the number of bots that would be created if it was enabled
(BotQuots=)was simply set to zero. For some of these sub-settings, it's probably a better habit to completely delete them, if the main setting is disabled.
All of the remaining settings are the default values listed in the admin guides.
Game.ini Config Settings
The following examples are all the
Game.ini config file option known for an Insurgency: Sandstorm Server. They are not intended to be used as is. As mentioned above, some of the settings are sort of contradictory. Many settings require customization, or adjustment.
If you have issues using the sample Game.ini text shown below, it is most likely due to the fact that there are simply has too many settings added in. You may have to consult the Server Admin guides, and either delete or modify some settings so they are compatible.
The purpose of these examples is to allow you to:
copy and paste their contents
Delete un-needed sections.
Manually adjust other settings.
Go play. Yay!
This saves you the time of laboriously copying and pasting these settings in, line by line by line by line. Trust me, it was pretty tedious pasting all of these in here.
If you want to enable Rcon access, you will need to add the following settings to the
Game.ini file. You will need to manually edit the password or it will actually be set to "password" (That would not be a good thing).
[Rcon] bEnabled=True Password=password ListenPort=27015
Optional Rcon Settings
These are added under the header
[Rcon] shown above.
bAllowConsoleCommands=True bUseBroadcastAddress=True IncorrectPasswordBanTime=30 ListenAddressOverride=0.0.0.0 MaxPasswordAttempts=3
General global setting for the entire game
These settings below are used mainly by "Versus" PVP mode in the game, but some are used globally by other game modes.
[/Script/Insurgency.INSGameMode] bKillFeed=False bKillFeedSpectator=True bKillerInfo=True bKillerInfoRevealDistance=False TeamKillLimit=3 TeamKillGrace=0.2 TeamKillReduceTime=90 bDeadSay=False bDeadSayTeam=True bVoiceAllowDeadChat=False bVoiceEnemyHearsLocal=True
Optional General settings
These settings are added under the header
[/Script/Insurgency.INSGameMode] shown above. If you don't need to change these settings from the default, it's better to not even include them at all.
ObjectiveCaptureTime=30 ObjectiveResetTime=-1 ObjectiveSpeedup=0.25 ObjectiveMaxSpeedupPlayers=4
General Multiplayer Settings
These settings apply globally to most multiplayer game modes (including versus and co-op), unless specific settings in those game modes have a higher priority.
[/Script/Insurgency.INSMultiplayerMode] bKillFeedGameStartingIntermissionTime=5 WinTime=5 PostRoundTime=15 PostGameTime=15 bAutoAssignTeams=True bAllowFriendlyFire=True FriendlyFireModifier=0.2 FriendlyFireReflect=0 bAutoBalanceTeams=True AutoBalanceDelay=10 bMapVoting=True bUseMapCycle=False bVoiceIntermissionAllowAll=True IdleLimit=150 IdleLimitLowReinforcements=90 IdleCheckFrequency=30
Optional General Multiplayer Settings
These settings are added under the header
[/Script/Insurgency.INSMultiplayerMode]shown above. Once again, if you don't need to change these settings from the defaults, it's probably better to not even include them in the config file at all.
MinimumPlayers=1 RoundLimit=5 WinLimit=3 GameTimeLimit=-1 PreRoundLimit=10 RoundTime=480 OverTime=60 TeamSwitchTime=10 SwitchTeamsEveryRound=0 bAllowPlayerTeamSelect=True bBots=False BotQuots=0 InitialSupply=15 MaximumSupply=15 bSupplyGainEnabled=False bAwardSupplyInstantly=False SupplyGainFrequency=150
Push Game Mode Settings
[/Script/Insurgency.INSPushGameMode] RoundTimeExtension=300 AttackerWavesPerObjective=5 AttackerWaveDPR=0.25 AttackerWaveTimer=20 DefenderWavesPerObjective=5 DefenderWaveDPR=0.25 DefenderWaveTimer=35 LastStandSetupDelay=10 AdvanceAttackerSpawnsDelay=30
Frontline Game Mode Settings
[/Script/Insurgency.INSFrontlineGameMode] StartingWaves=15 CapturingBonusWave=2 RegressSpawnsTimer=10
Skirmish Game Mode Settings
[/Script/Insurgency.INSSkirmishGameMode] DefaultReinforcementWaves=5 CaptureBonusWaves=1
While this is listed as a game mode in the admin guides, there are no custom settings described for this game mode. But if you wanted to add settings for this game mode, they need to go under the header below.
General "Checkpoint" Co-op Settings
These settings apply globally to all checkpoint scenarios.
[/Script/Insurgency.INSCoopMode] AIDifficulty=0.5 bUseVehicleInsertion=True FriendlyBotQuota=4 MinimumEnemies=6 MaximumEnemies=12
Checkpoint Co-op Game Mode Settings
This also has settings that also affect co-op "Checkpoint" missions.
Why are there two different headers for checkpoint? This is just the format the game developers use. If you look at the very beginning of these listings, you will see the same dual setup, with:
Checkpoint has it's matching setup with:
[/Script/Insurgency.INSCoopMode](the preceding section)
[/Script/Insurgency.INSCheckpointGameMode](the section shown below).
[/Script/Insurgency.INSCheckpointGameMode] DefendTimer=90 DefendTimerFinal=180 RetreatTimer=10 RespawnDPR=0.1 RespawnDelay=20 PostCaptureRushTimer=30 CounterAttackRespawnDPR=0.2 CounterAttackRespawnDelay=20 ObjectiveTotalEnemyRespawnMultiplierMin=1 ObjectiveTotalEnemyRespawnMultiplierMax=1 FinalCacheBotQuotaMultiplier=1.5
As of the 1.1 update, the game developers introduced the ability to call votes. At this time, the only issue that can be voted on is kicking players. 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.
[/Script/Insurgency.TeamInfo] bVotingEnabled=True TeamVoteIssues=/Script/Insurgency.VoteIssueKick
Vote Kick Options
These settings are for the specific issue of voting to kick players (which is the only vote topic currently implemented).
You will still need to paste the player voting section above, in order to turn on voting at all.
[/Script/Insurgency.VoteIssueKick] bCanTargetEnemies=false bRequiresMinimumToStart=true DefaultVoteBanDuration=120 IdleVoteBanDuration=-1 MinimumPlayerRatio=0.25 MinimumPlayersRequired= MinimumYesNoDifference=2 VotePassRatio=0.75 VoteTimeout=90