Tactical team-based FPS with realistic combat mechanics
| Engine: | Unreal Engine 4 |
| Developer: | New World Interactive |
| App ID: | 581320 (Dedicated Server) |
| Default Ports: | 27102 (Game), 27131 (Query), 27015 (RCON) |
| Max Players: | 8v8 (16 players typical), up to 32 possible |
| Game Modes: | Push, Firefight, Skirmish, Frontline, Checkpoint, Outpost, Survival |
| Platforms: | Linux, Windows |
Insurgency: Sandstorm is a hardcore tactical FPS focusing on close-quarters combat and teamwork. The game features realistic ballistics, minimal HUD, and high lethality combat where positioning and communication matter more than twitch reflexes.
| Port | Protocol | Purpose | Required? |
|---|---|---|---|
27102 |
UDP | Game Port (client connections) | ✓ Required |
27131 |
UDP | Query Port (server browser) | ✓ Required |
27015 |
TCP | RCON Port (remote administration) | Optional Recommended |
Note: Ports are configurable in Game.ini and Engine.ini. Default ports shown above.
# Allow Insurgency: Sandstorm ports
sudo ufw allow 27102/udp comment "Insurgency Game Port"
sudo ufw allow 27131/udp comment "Insurgency Query Port"
sudo ufw allow 27015/tcp comment "Insurgency RCON"
sudo ufw reload
# Add Insurgency: Sandstorm ports
sudo firewall-cmd --permanent --add-port=27102/udp # Game
sudo firewall-cmd --permanent --add-port=27131/udp # Query
sudo firewall-cmd --permanent --add-port=27015/tcp # RCON
sudo firewall-cmd --reload
# Create firewall rules for Insurgency: Sandstorm
New-NetFirewallRule -DisplayName "Insurgency Game" -Direction Inbound -Protocol UDP -LocalPort 27102 -Action Allow
New-NetFirewallRule -DisplayName "Insurgency Query" -Direction Inbound -Protocol UDP -LocalPort 27131 -Action Allow
New-NetFirewallRule -DisplayName "Insurgency RCON" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
# Allow Insurgency: Sandstorm ports
iptables -A INPUT -p udp --dport 27102 -j ACCEPT -m comment --comment "Insurgency Game"
iptables -A INPUT -p udp --dport 27131 -j ACCEPT -m comment --comment "Insurgency Query"
iptables -A INPUT -p tcp --dport 27015 -j ACCEPT -m comment --comment "Insurgency RCON"
# Save rules (Ubuntu/Debian)
netfilter-persistent save
# Save rules (CentOS/RHEL)
service iptables save
# Create server directory
mkdir -p ~/insurgency_server
cd ~/insurgency_server
# Download server files with SteamCMD
steamcmd +force_install_dir ~/insurgency_server +login anonymous +app_update 581320 validate +quit
# Note: App ID 581320 is for Insurgency: Sandstorm Dedicated Server
# Download size is approximately 18-20 GB
# Download SteamCMD for Windows
# Extract to C:\steamcmd\
# Create server directory
mkdir C:\insurgency_server
# Run SteamCMD
C:\steamcmd\steamcmd.exe +force_install_dir C:\insurgency_server +login anonymous +app_update 581320 validate +quit
Configuration files are in Insurgency/Saved/Config/LinuxServer/ (Linux) or Insurgency/Saved/Config/WindowsServer/ (Windows):
Edit Insurgency/Saved/Config/LinuxServer/Engine.ini:
[URL]
Port=27102
[/Script/Engine.GameNetworkManager]
TotalNetBandwidth=64000
MaxDynamicBandwidth=32000
MinDynamicBandwidth=16000
[SystemSettings]
net.MaxRepArraySize=2048
net.MaxRepArrayMemory=2048
[/Script/OnlineSubsystemUtils.IpNetDriver]
MaxClientRate=25000
MaxInternetClientRate=25000
Edit Insurgency/Saved/Config/LinuxServer/Game.ini:
[/Script/Insurgency.INSMultiplayerMode]
bAllowFriendlyFire=True
bMapVoting=True
RoundLimit=3
WinLimit=3
GameTimeLimit=-1
PreRoundTime=15
PostRoundTime=15
PostGameTime=15
[/Script/Insurgency.INSCoopMode]
bAllowFriendlyFire=True
RoundLimit=1
WinLimit=1
Create Insurgency/Saved/Config/LinuxServer/MapCycle.txt:
# Competitive Push rotation
(Scenario="Scenario_Crossing_Push",Lighting="Day")
(Scenario="Scenario_Hideout_Push",Lighting="Day")
(Scenario="Scenario_Summit_Push",Lighting="Day")
(Scenario="Scenario_Tell_Push",Lighting="Day")
(Scenario="Scenario_Ministry_Push",Lighting="Day")
# Mix in night maps
(Scenario="Scenario_Hideout_Push",Lighting="Night")
(Scenario="Scenario_Ministry_Push",Lighting="Night")
| Mode | Description | Players |
|---|---|---|
| Push | Attackers push through objectives, defenders hold ground | 8v8 (16) |
| Firefight | Fast-paced 3 objective control, single life per round | 5v5 (10) |
| Frontline | Tug-of-war over middle objectives with respawn waves | 8v8 (16) |
| Skirmish | Elimination with limited respawns, capture objectives to gain more | 8v8 (16) |
| Mode | Description | Players |
|---|---|---|
| Checkpoint | Team captures objectives against AI defenders | Up to 8 co-op |
| Outpost | Defend single objective against AI waves (Horde mode) | Up to 8 co-op |
| Survival | Extract-based co-op with permadeath and limited resources | Up to 8 co-op |
Most maps support multiple lighting scenarios:
RCON allows remote administration. Configure in startup parameters or config files.
# Player management
kick [PlayerName] [Reason]
ban [PlayerName]
listplayers
# Map control
travel [MapName]
restartround
# Server settings
say [Message]
setnextmap [MapName]
In-game console (tilde key ~):
# Admin commands (requires admin login)
adminlogin [password]
kick [PlayerName]
ban [PlayerName]
travel [MapName]
restartround
say [Message]
Insurgency: Sandstorm supports Steam Workshop mods:
Subscribe to mods on Steam Workshop, then add their IDs to your startup command:
-Mods=123456789,987654321
#!/bin/bash
# start_insurgency.sh
cd ~/insurgency_server
./Insurgency/Binaries/Linux/InsurgencyServer-Linux-Shipping \
Crossing?Scenario=Scenario_Crossing_Push?Lighting=Day \
-Port=27102 -QueryPort=27131 \
-log -AdminList=Admins -MapCycle=MapCycle \
-MaxPlayers=16 -Mods
@echo off
REM start_insurgency.bat
cd C:\insurgency_server
InsurgencyServer.exe Crossing?Scenario=Scenario_Crossing_Push?Lighting=Day ^
-Port=27102 -QueryPort=27131 ^
-log -AdminList=Admins -MapCycle=MapCycle ^
-MaxPlayers=16 -Mods
MapName?Scenario=ScenarioName?Lighting=Day - Start map with scenario-Port=27102 - Game port-QueryPort=27131 - Server browser query port-MaxPlayers=16 - Maximum players (8v8 typical)-AdminList=Admins - Admin list file (Admins.txt)-MapCycle=MapCycle - Map rotation file (MapCycle.txt)-Mods - Enable Workshop mods-log - Enable detailed logging-hostname="Server Name" - Server name in browser-password=serverpass - Server password (optional)# Check ports are open
netstat -an | grep 27102
netstat -an | grep 27131
# Verify server is running
ps aux | grep Insurgency # Linux
tasklist | findstr Insurgency # Windows
# Check firewall allows both game and query ports
# Wait 5-10 minutes for Steam master server registration
MaxClientRate in Engine.ini (try 50000-100000)MaxPlayers if server hardware is limited# Ensure -Mods flag is in startup command
# Verify Workshop mod IDs are correct
# Check mod compatibility with current game version
# Some mods require client and server to both have them
# Example with specific mod IDs:
-Mods=2389387394,2318862735
MaxPlayers isn't reachedInsurgency/Saved/Logs/# Verify RCON port (27015) is open
# Check RCON password is set in startup command or config
# Try connecting from localhost first (127.0.0.1)
# Use RCON tools compatible with Source-style RCON protocol
Insurgency/Saved/Logs/Insurgency.log