Insurgency: Sandstorm server administration is available through the in-game Admin menu, the Unreal console, or a Source-compatible RCON client. For reliable moderation, first run listplayers to identify a player, then use the appropriate kick, ban, permban, or unban syntax. Map and scenario changes use travel or travelscenario, while restartround resets the current round.
This guide explains how to authorize administrators, connect through RCON, use every core command, change maps safely, edit persistent files, and avoid the most common access and capacity problems.
Which administration methods can you use?
You can administer a Sandstorm dedicated server in three ways: the in-game Admin menu, the server console, and Source-compatible RCON. They operate on the same server but suit different situations.
| Method | Best for | Access and persistence | Main trade-off |
|---|---|---|---|
| In-game Admin menu | Quick, point-and-click actions while connected to the server | Opened in-game; actions affect the live session | Less convenient for repeatable or auditable procedures |
| Server console | Direct local administration and exact command syntax | Live commands entered on the server; file edits remain separate | Requires console access and familiarity with parameters |
| RCON | Remote moderation and scripted administration | Uses the server’s configured RCON port and password; commands are live | Exposes a privileged network credential if configured carelessly |
The Admin menu is in addition to the regular console. In-game, the console opens with the tilde key (~), while the Admin menu is normally bound to the keypad-minus key. Menu pages include Game, Players, Levels, and Developer controls.
How do I add an administrator?
Add one SteamID64 per line to Insurgency/Config/Server/Admins.txt. The server does not normally grant a newly added account privileges until it is restarted or a level change causes the administrator list to reload.
- Obtain the administrator’s 64-bit Steam ID, not a display name or a short account identifier.
- Open the server’s
Insurgency/Config/Server/Admins.txtfile. - Enter one SteamID64 on each line. Do not add commas, quotes, or explanatory text.
- Save the file and restart the server, or perform a level change.
- Reconnect and test an administrative action from the console or Admin menu.
Keep a backup of the file before making changes. A display name can change and can match another player; a SteamID64 is the stable identifier intended for authorization.
What command syntax should I use?
In the command reference below, angle brackets identify required parameters and square brackets identify optional parameters. Replace the bracketed text with a value; do not type the brackets themselves.
| Command | Syntax | What it does |
|---|---|---|
help |
help |
Prints the available command list. |
listplayers |
listplayers |
Shows connected players and their identifiers. |
kick |
kick <id/netid/name> [reason] |
Removes a connected player. |
ban |
ban <id/netid/name> [minutes] [reason] |
Applies a temporary ban. |
banid |
banid <netid> [minutes] [reason] |
Applies a temporary ban using a network ID. |
permban |
permban <id/netid/name> [reason] |
Applies a permanent ban. |
unban |
unban <netid> |
Lifts a ban by network ID. |
listbans |
listbans |
Displays the current ban list. |
say |
say <message> |
Broadcasts a message to the server. |
restartround |
restartround [0 or 1] |
Restarts the round; 1 also swaps teams. |
maps |
maps [level filter] |
Lists maps, optionally narrowed by a filter. |
scenarios |
scenarios [level filter] |
Lists scenarios, optionally narrowed by a filter. |
travelscenario |
travelscenario <scenario> |
Loads a named scenario. |
travel |
travel <travel URL> |
Transitions using a complete travel URL. |
listgamemodeproperties |
listgamemodeproperties [property filter] |
Lists properties exposed by the active game mode. |
gamemodeproperty |
gamemodeproperty <property> [new value] |
Reads a live mode property or sets a new value. |
How do I identify and moderate a player?
Run listplayers immediately before a moderation action. The output supplies the identifiers and names accepted by the moderation commands, reducing the risk of acting on the wrong person when names are similar.
Kick a player
Use kick <id/netid/name> [reason]. For example, a reason can explain a rules violation to the removed player and create a useful record for other staff. A kick ends the current connection but does not create a ban.
Issue a temporary ban
Use ban <id/netid/name> [minutes] [reason] when removal should last for a defined period. Check the player identifier in listplayers, specify the duration in minutes, and add the reason after it.
Ban by network ID
banid <netid> [minutes] [reason] is useful when you have the net ID from the player listing and want to avoid an ambiguous name. Confirm that the net ID belongs to the intended account before executing it.
Apply a permanent ban
Use permban <id/netid/name> [reason] for a ban with no temporary duration. Reserve it for conduct that meets your server’s stated permanent-ban policy and record the reason in your moderation log.
Review or remove bans
Run listbans to inspect existing entries. To lift an entry, use unban <netid> with the network ID shown by the ban list. If an unban appears ineffective, verify the exact ID and check that the server has loaded the current ban data.
How do I change the map or scenario?
A scenario combines a map and a game mode, so changing a scenario is a travel operation rather than merely selecting a map name. First discover valid values, then perform the transition.
- Run
mapsto list maps, ormaps <level filter>to narrow the output. - Run
scenariosto list scenarios, orscenarios <level filter>for a filtered list. - For a named scenario, execute
travelscenario <scenario>exactly as listed. - When the server requires a full travel string, use
travel <travel URL>with the complete URL rather than only a map label.
Traveling changes the live session and can disconnect players during the transition. Announce the change with say <message> before starting it, particularly on a populated server.
How do I restart a round without changing the level?
Use restartround to restart the current round. The optional value changes its effect: restartround 0 restarts without a team swap, while restartround 1 restarts and swaps teams. Omitting the value uses the command’s default behavior.
How do I use live game-mode properties?
Use listgamemodeproperties to see properties exposed by the currently active mode, optionally adding a property filter. Then read or set one with gamemodeproperty <property> [new value].
- Run
listgamemodepropertiesand note the exact property spelling. - Run
gamemodeproperty <property>without a value to read the current setting. - Run
gamemodeproperty <property> [new value]to change it for the live session. - Confirm the result by reading the property again and observe the next round for the intended effect.
A live property change is not automatically a permanent configuration edit. If the setting must survive a restart, place the corresponding option in the appropriate server configuration section after verifying the name and value format.
How do I configure and connect to RCON?
RCON lets you run the same administrative commands remotely. Configure it in the server’s Game.ini, then connect with an RCON client such as mcrcon using the server address, RCON port, and password.
Configure the server
For a Linux server, the documented file is Insurgency/Saved/Config/LinuxServer/Game.ini; Windows installations use the matching Windows server configuration directory. Add or edit an [Rcon] section similar to this:
[Rcon]
bEnabled=True
Password=replace-with-a-long-unique-password
ListenPort=27015
Use the actual port selected for your installation; the example port is illustrative, not a universal requirement. The RCON configuration also supports password-attempt controls. Restart the server after saving configuration changes so the listener starts with the new values.
Connect from an RCON client
- Install and open mcrcon or another Source-compatible RCON client.
- Enter the server IP address without the port in the address field.
- Enter the RCON
ListenPortconfigured inGame.ini. - Enter the RCON password exactly as saved in the
[Rcon]section. - Connect and run
helporlistplayersto confirm that commands are reaching the intended server.
Treat the RCON password as an administrator credential. Use a unique secret, restrict the listening port with your firewall to trusted networks where possible, avoid posting the password in scripts or chat, and rotate it if an unauthorized person may have seen it.
Which files control administrators, bans, and persistent settings?
Sandstorm separates plain-text server lists from platform-specific INI settings. The server directory commonly contains Admins.txt, MapCycle.txt, Motd.txt, Mods.txt, and Bans.json under Insurgency/Config/Server/.
| File or location | Purpose | When it takes effect |
|---|---|---|
Insurgency/Config/Server/Admins.txt |
One SteamID64 per line for administrators | After a restart or level change reloads the list |
Insurgency/Config/Server/Bans.json |
Persistent ban data maintained by the server | When the server reads the updated ban data |
Insurgency/Config/Server/MapCycle.txt |
Plain-text map-cycle entries | According to the server’s map-cycle loading behavior |
Insurgency/Config/Server/Motd.txt |
Server message-of-the-day text | When the server loads the MOTD |
Insurgency/Config/Server/Mods.txt |
Plain-text mod list | According to the server’s mod-loading process |
Insurgency/Saved/Config/<platform>Server/ |
INI configuration, including gameplay and RCON settings | Normally after a server restart |
Persistent multiplayer settings are organized in sections such as [/Script/Insurgency.INSMultiplayerMode] and [/Script/Insurgency.INSCoopMode]. Documented examples include friendly-fire behavior, idle limits, bot quotas, MinimumEnemies, and MaximumEnemies. Back up an INI before editing and change one setting at a time so a malformed value is easy to isolate.
What are the co-op and PvP capacity limits?
A current 2026 server guide reports examples of up to eight human co-op players and 28 PvP players. These are guide-reported operating figures, not an independent benchmark or a publisher specification, so confirm the limits for your game build and hosting environment.
| Mode | Published figure | What affects practical capacity |
|---|---|---|
| Co-op | Eight human players in the current guide | Bot quota, MinimumEnemies, MaximumEnemies, CPU, and memory |
| PvP | 28 players in the current guide’s examples | Map, server performance, network conditions, and the configured player layout |
Increasing AI counts can raise CPU and memory use even when the number of human players stays the same. Monitor server performance after changing bot quotas or enemy limits rather than assuming that a larger value is free.
Should I use the Admin menu, console, or RCON?
Choose the interface based on where you are and how repeatable the action must be.
- Use the Admin menu for quick point-and-click actions such as restarting a round, selecting a level, kicking or banning a player, and accessing developer pages for AI, player, visual, or server actions.
- Use the console when you need exact syntax, filtered map or scenario lists, live game-mode properties, or a procedure that another administrator can reproduce.
- Use RCON when you are off-site, need centralized staff access, or want to integrate commands into an administration workflow.
The GUI is faster for an isolated action, while console and RCON commands are easier to document and audit. RCON adds remote access but also adds a credential and a network listener that must be secured.
What should I do when a command fails?
The server says the command is unknown
Run help to confirm that you are connected to the Sandstorm server console and that the command is available in the current build. Check spelling and remove any quotation marks or brackets copied from documentation.
The player cannot be found
Run listplayers again and use the exact ID, net ID, or name shown there. Names can contain spaces or resemble another player’s name; an identifier from the listing is safer.
The new administrator has no privileges
Check that the entry is a SteamID64 on its own line in Insurgency/Config/Server/Admins.txt. Restart the server or change level, then reconnect. A name, shortened Steam ID, or unsaved file will not authorize the account.
RCON cannot connect
Verify that bEnabled=True, the password, and ListenPort are in the active server’s [Rcon] section. In the client, enter the IP without the port and put the configured port in the separate port field. Check the firewall and ensure the port is reachable only from the network you intend to authorize.
The map or scenario does not load
Use maps and scenarios to obtain an exact valid value. Use travelscenario for a named scenario; use travel only with a complete travel URL. Announce the transition and allow the server time to finish loading before issuing another travel command.
Co-op performance deteriorates after adding bots
Reduce bot quota or lower MinimumEnemies and MaximumEnemies in the relevant co-op configuration. AI counts increase resource demand, so test changes with the expected human-player load and watch CPU and memory usage.
What is a safe day-to-day administration routine?
- Confirm that you are connected to the intended server, especially when using RCON.
- Run
listplayersbefore any kick or ban and record the identifier and reason. - Use the least severe action that resolves the problem: kick, temporary ban, then permanent ban when policy requires it.
- Announce disruptive actions such as a round restart or travel with
say. - Use
listbanswhen reviewing appeals or correcting a mistaken ban. - Back up
Admins.txt,Bans.json, and edited INI files before changing persistent settings. - After a restart or configuration edit, test with
help,listplayers, and a non-destructive command before changing gameplay.
Frequently Asked Questions
Can I make someone an admin without restarting the whole server?
A level change can reload Admins.txt, so a full process restart is not always required. The new administrator should reconnect after the reload and verify access.
What is the difference between a SteamID64 and a net ID?
A SteamID64 is the 64-bit account identifier used in the administrator list. A net ID is an identifier exposed by the live player or ban listings and is the value required by commands such as banid and unban.
Do console changes automatically survive a server restart?
Most console actions affect the live session only. To make a setting persistent, edit the appropriate server file or INI section and restart or otherwise reload the configuration.
How can I announce maintenance before changing levels?
Send a short notice with say <message>, wait long enough for connected players to read it, and then run the travel command. This does not pause the transition, so use a scheduled maintenance window for major changes.