How to run and administer an Insurgency: Sandstorm dedicated server: SteamCMD install on Windows and Linux, the map?Scenario= launch syntax and why a wrong scenario name silently loads the wrong map, the Game.ini location trap, enabling real Source-compatible RCON, Admins.txt, the two tokens (GSLT and GameStats) and which app ID the GSLT really needs, mod.io mods and mutators - including the config-file change most guides still miss.
Insurgency: Sandstorm is an Unreal Engine 4 title that, unlike most of its UE peers, ships a real RCON server speaking the Source RCON protocol - generic Source RCON clients work against it once you enable it. The catch is that almost everything else about the server is opinionated in ways host knowledge bases routinely get wrong: the config file is silently ignored if it sits in the wrong directory, a mistyped scenario silently loads a different map, the Steam login token must be generated against a different app ID than the one you installed, and the mod.io token moved files two major updates ago while old guides still point at the old location. This reference describes how the server actually behaves today.
Installing the server
The dedicated server is Steam app 581330 (the game itself is 581320 - that difference matters later for tokens) and anonymous SteamCMD login works:
Both platforms get native binaries: InsurgencyServer.exe on Windows, Insurgency/Binaries/Linux/InsurgencyServer-Linux-Shipping on Linux, and LinuxGSM supports it as inssserver if you prefer a managed install.
Launching: the map?Scenario= travel string
Sandstorm servers are started onto a specific map + scenario via an Unreal travel string, with server flags after it:
Default ports are -Port=27102 (game) and -QueryPort=27131 (query) - two separate UDP ports, forwarded independently. A server with only the game port forwarded runs fine and accepts direct connections but is invisible in the server browser and to query tools.
A wrong Scenario= name does not error out. The server starts anyway and silently falls back to its default map (commonly Farmhouse). If your server keeps starting "on the wrong map", the scenario string is the first thing to check.
Map name and scenario prefix do not always match: the map is Oilfield but its scenarios are Scenario_Refinery_.... Copy scenario names from a current scenario list rather than guessing from the map name.
Additional travel parameters chain with ?: ?MaxPlayers=, ?Lighting=Day / ?Lighting=Night (on maps that support it), ?Mutators= (below).
Game.ini - and the location trap
The server's persistent settings live in Game.ini, and its location is the single most common Sandstorm misconfiguration: the file is read only from
The directory does not exist on a fresh install - create it yourself. A Game.ini dropped in the server root, next to the binary, or in Insurgency/Config/Server/ is silently ignored: the server starts normally and simply uses defaults, which reads as "my settings do nothing".
(or equivalently on the command line: -Rcon -RconPassword=x -RconListenPort=x). Two things host KBs tend to state wrong:
There is no built-in default RCON port. 27015 is just the convention most example configs use - if you do not set ListenPort, do not expect RCON on any particular port. Pick one and set it explicitly.
The protocol is Source-RCON compatible, so any generic Source RCON client (mcrcon, web panels, libraries) works - you do not need a Sandstorm-specific tool.
The [Rcon] section also supports MaxPasswordAttempts and IncorrectPasswordBanTime for brute-force protection - worth setting on an internet-exposed port, or better, firewall the RCON port to your admin IPs.
The working command set: help, listplayers, kick, ban / banid / permban / unban / listbans, say, restartround, maps, scenarios, travel / travelscenario, and gamemodeproperty / listgamemodeproperties for live-tweaking mode settings without a restart.
Admins
Admin rights come from a plain text file at Insurgency/Config/Server/Admins.txt (this one really does live under Config/Server/, unlike Game.ini) - one 17-digit SteamID64 per line:
76561197986105829
There are no admin tiers: everyone listed gets full admin. The list is read at startup and on level change, so add admins before a restart or map switch. In-game, admins open the admin menu with Numpad Minus by default (rebindable) for kick/ban/map controls.
The two tokens: GSLT and GameStats
Sandstorm servers use up to two tokens, and they are different things:
GSLT (Game Server Login Token): generated at steamcommunity.com/dev/managegameservers - and here is the trip-up: generate it for app 581320 (the game), not 581330 (the server package you installed). A token generated against 581330 will not authenticate. Pass it as -GSLTToken=<token>. One unique token per server instance; the Steam account needs to be phone-verified and ban-free. A server without a GSLT still runs and is joinable by direct IP:port; run one if you want your server properly listed as an authenticated community server.
GameStatsToken: a separate token from https://gamestats.sandstorm.game/ (log in with Steam), passed as -GameStatsToken=<token>. This is what enables stats reporting and player XP progression on your server. It requires the GSLT to be set up first, and XP only stays enabled while the server is passwordless and cheat-free. Note this is a per-server-owner token - XP is not restricted to "official ruleset" servers, any community server with a valid token qualifies.
Mods and mutators
Server-side mods come from mod.io. Three pieces:
Mod list: Insurgency/Config/Server/Mods.txt, one mod.io resource ID per line, activated by adding -Mods to the launch command (inline alternative: -CmdModList="id1,id2").
mod.io access token: generate one on mod.io under API Access, then put it in GameUserSettings.ini (same Saved/Config/{WindowsServer|LinuxServer}/ directory as Game.ini):
This moved in update 1.11 Hotfix #5: older guides (including still-live host KBs) put the token in Engine.ini - that location is legacy and no longer works. The broader modding workflow was overhauled again in update 1.20 ("Operation: Clear Sight"), so distrust any modding tutorial that predates it.
3. Mutators (server-side gameplay modifiers, several ship with the game): either in the travel string - Oilfield?Scenario=...?Mutators=Frenzy,Vampirism - or as a launch flag -Mutators=Frenzy,Vampirism. Comma-separated, case-sensitive.
Official ruleset
Adding -ruleset=OfficialRules tags the server with the "Official Rules" browser filter and locks gameplay settings to vanilla. It is meant for servers that stay stock: combining it with a customized Game.ini causes conflicts (settings ignored or fought over). Opt in only if you want a vanilla server with the official tag; skip it on a customized server.
Other footguns
Official documentation moved. New World Interactive was wound down in the Embracer restructuring; support and patch notes now live at support.saber.games. Old sandstorm-support.newworldinteractive.com links in guides may be stale or orphaned.
Most Game.ini changes need a restart; live tweaks for mode settings go through the RCON gamemodeproperty command instead.
Player caps are effectively governed by ?MaxPlayers= and per-scenario design; specific modes carry their own practical limits, so test your target scenario rather than trusting a blanket number.
MantaScope tracks the live Insurgency: Sandstorm server list with decoded server attributes - filter by Game Mode (Checkpoint, Push, and the rest as reported by servers), spot co-op, official-ruleset, mutated and night servers at a glance, and browse real player counts, population history and uptime per server. And because Sandstorm speaks standard Source RCON, you can claim your server on MantaScope and administer it straight from the browser - player list, kick/ban, chat and console over the RCON port you configured above - alongside monitoring, population graphs, downtime alerts and Discord notifications.