There are a number of commands that can be executed on a running dedicated server while being in-game. With these commands, you can control how the server runs.
There are commands that a available to all player, even public players - those commands are called public commands. All other commands require the player to be assigned a specific access level by a server administrator.
In order to enter a command, you have to open the console. On an English keyboard you access the console by double-tapping the ` (tilde) key on your keyboard. If this does not work for you, an easy workaround is to press the AllChat key J on your keyboard and then press backspace and remove the current command "ChatToAll" - now you have the console open and ready to use. You can repeat old commands in the console by pressing the cursor ↑ key. With the cursor ↑ ↓ keys you can also scroll through your command history and execute it with ↵ Enter.
If you face any problems with your server, please go to Server Troubleshooting.
Admin Access Levels[]
The following table lists the existing access levels. Please note that all players have access to the public commands; there is no access level for public commands.
Access levels need to be assigned to individual users - see section "Adding Admins in Admins.cfg" for more details on this. Only the server administrators of the dedicated server in question can set these and they will only apply to this server.
Level | Description |
---|---|
changemap | Map commands |
canseeadminchat | This group can see the admin chat + teamkills |
balance | This group can switch teams regardless of team sizes |
pause | Match commands |
cheat | Access to some cheat commands |
private | Set server private |
chat | Admin chat, Server broadcast |
kick | kick commands |
ban | ban commands |
config | Set server configuration |
immune | Cannot be kicked or banned |
manageserver | Manage server / kill server |
cameraman | Spectate players |
featuretest | Debug commands like Vehicle Spawner |
forceteamchange | Allows forced team changes |
reserve | Reserved slot access |
demos | Record demo's (currently broken) |
debug | Debug commands |
teamchange | Change teams without penalty |
Admin Console Commands[]
When it says <TextToEntry> you're supposed to free text it.
Check AdminKick for further details.
RCON | Admin Command | Access | ARGUMENTS | Description |
---|---|---|---|---|
yes | AdminKick | kick | AdminKick <NameOrSteamId> <KickReason> | Kicks a player from the server
Example: Adminkick Guemi Intentional TK |
yes | AdminKickById | kick | AdminKickById <PlayerId> <KickReason> | Kicks a player with Id from the server
Example : AdminKickById 75 Camping enemy uncapable |
yes | AdminBan | ban | AdminBan <NameOrSteamId> <BanLength> <BanReason> | Bans a player from the server for a length of time. 0 = Perm, 1d = 1 Day, 1M = 1 Month, etc
Example : Adminban Hodor 1M Attacking main base |
yes | AdminBanById | ban | AdminBanById <PlayerId> <BanLength> <BanReason> | Bans player with Id from the server for length of time. 0 = Perm, 1d = 1 Day, 1M = 1 Month, etc
Example : AdminBanById 75 1M Attacking main base |
yes | AdminBroadcast | chat | AdminBroadcast <Message> | Send system message to all players on the server
Example : AdminBroadcast Always apologize for TK's! |
no | ChatToAdmin | chat | ChatToAdmin <Message> | Send system message to all admins on the server
Same as all the other chats, but only admins see it. |
yes | AdminEndMatch | pause | AdminEndMatch | Tell the server to immediately end the match |
no | AdminPauseMatch | pause | AdminPauseMatch | Tell the server to put the match on hold |
no | AdminUnpauseMatch | pause | AdminUnpauseMatch | Tell the server to take off the hold |
yes | AdminChangeLayer | changemap | AdminChangeLayer <LayerName> | Change the layer and travel to it immediately |
yes | AdminSetNextLayer | changemap | AdminSetNextLayer <LayerName> | Set the next layer to travel to after this match ends |
yes | AdminSetMaxNumPlayers | config | AdminSetMaxNumPlayers <NumPlayers> | Set the maximum number of players for this server |
yes | private | AdminSetServerPassword <Password> | Set the password for a server or use "" to remove it | |
yes | AdminSlomo | cheat | AdminSlomo <TimeDilation> | Set the clock speed on the server 0.1 is 10% of normal speed 2.0 is twice the normal speed |
yes | AdminForceTeamChange | forceteamchange | AdminForceTeamChange <NameOrSteamId> | Changes a player’s team. |
yes | AdminForceTeamChangeById | forceteamchange | AdminForceTeamChangeById <PlayerId> | Changes a player with a certain id’s team. |
no | AdminForceAllDeployableAvailability | cheat | AdminForceAllDeployableAvailability <0>|<1> | Sets the server to ignore placement rules for deployables |
no | AdminNoRespawnTimer | cheat | AdminNoRespawnTimer <0>|<1> | Layer based setting, disables respawn timer |
no | AdminNoTeamChangeTimer | cheat | AdminNoTeamChangeTimer <0>|<1> | Layer based setting, disables team change timer |
no | AdminDisableVehicleClaiming | changemap | AdminDisableVehicleClaiming <0>|<1> | Sets the server to disable vehicle claiming |
no | AdminForceAllRoleAvailability | cheat | AdminForceAllRoleAvailability <0>|<1> | Sets the server to ignore kit restrictions |
no | AdminNetTestStart | debug | AdminNetTestStart | Starts the network test and prints it to the clients logs |
no | AdminNetTestStop | debug | AdminNetTestStop | Stops the network test and prints it to the clients logs |
yes | AdminListDisconnectedPlayers | kick | AdminListDisconnectedPlayers | List recently disconnected player ids with associated player name and SteamId |
no | TraceViewToggle | FeatureTest | TraceViewToggle | Runs a trace from center of screen out to any objects and displays information about that object |
no | AdminCreateVehicle | FeatureTest | AdminCreateVehicle <Vehiclelink> | Allows you to spawn a vehicle on an unlicensed servers or on a local server (see VEHICLE SPAWN COMMANDS for more info) |
yes | AdminDemoteCommander | kick | AdminDemoteCommander <PlayerName> | Demote a commander specified by player name or Steam Id |
yes | AdminDemoteCommanderById | kick | AdminDemoteCommander <PlayerId> | Demote a commander with Id from the server |
yes | AdminDisbandSquad | kick | AdminDisbandSquad <TeamNumber = [1|2]> <SquadIndex> | Disbands the specified Squad (Which team 1 or 2 you will see on the team screen) |
yes | AdminRemovePlayerFromSquad | kick | AdminRemovePlayerFromSquad <PlayerName> | Remove a player from their squad without kicking them |
yes | AdminRemovePlayerFromSquadById | kick | AdminRemovePlayerFromSquad <PlayerId> | Remove a player from their squad without kicking them via Id |
yes | AdminWarn | kick | AdminWarn <NameOrSteamId> <WarnReason> | Warns a player from the server for being abusive. |
yes | AdminWarnById | kick | AdminWarnById <PlayerId> <WarnReason> | Warns a player with Id from the server for being abusive. |
no | AdminForceNetUpdateOnClientSaturation | debug | AdminForceNetUpdateOnClientSaturation <0>|<1> | If true, when a connection becomes saturated, all remaining actors that couldn’t complete replication will have ForceNetUpdate called on them |
no | AdminProfileServer | debug | AdminProfileServer <SecondsToProfileFor> <0>|<1> | Starts profiling on the server for a fixed length of time, after which the profiling data is saved to disk. |
yes | AdminRestartMatch | pause | AdminRestartMatch | Tell the server to restart the match |
no | AdminSetPublicQueueLimit | config | AdminSetPublicQueueLimit <value> | =25 will cap public queue at 25
=0 means that there wont be public queue so non admins and all other players wont be able to join =-1 is unlimited queue |
Public Commands[]
When it says <TextToEntry> you're supposed to free text it.
Command | ARGUMENTS | Description |
---|---|---|
ChangeTeams | ChangeTeams | Change teams to the other side |
ChangeTeamsWithId | ChangeTeamsWithId <NewTeam> | Change teams to the specified team number, zero changes to the other side |
ChatToAll | ChatToAll <Msg> | Chat to everyone |
ChatToTeam | ChatToTeam <Msg> | Chat only to same team |
ChatToSquad | ChatToSquad <Msg> | Chat only to same squad |
CreateRallyPoint | CreateRallyPoint | Drop a rally point for squad members to spawn from |
CreateSquad | CreateSquad <Name> 1 | Request the creation of a squad, specifying the name |
DisableUI | DisableUI | Removes the UI components from the screen |
DisconnectToMenu | DisconnectToMenu | Disconnects from server |
GiveUp | GiveUp | Die and give up being wounded |
HighResShot | HighResShot <Resolution/Multiplier> | Take a screen shot, e.g., “HighResShot 3840x2160” or “HighResShot 4” and places the file in:
C:\Users\[username]\AppData\Local\SquadGame\Saved\Screenshots\WindowsNoEditor |
JoinSquadWithName | JoinSquadWithName <Name> | Join a squad on our team with the following name |
JoinSquadWithId | JoinSquadWithId <Id> | Join a squad on our team with the following id |
LeaveSquad | LeaveSquad | Leave the squad we are currently in |
ListCommands | ListCommands <1>|<0> | Prints out the information for all commands in the game. |
ListPermittedCommands | ListPermittedCommands <1>|<0> | Prints out the information for all commands the player is currently permitted to execute. |
ListPlayers | ListPlayers | List player ids with associated player name and SteamId |
ListSquads | ListSquads | List Squads by their Index numbers’s |
r.setres | r.setres <Resolution> | Change screen resolution, “r.setres 1920x1080” |
Respawn | Respawn | Causes the player to respawn |
RecordHeatmap | RecordHeatmap <XStepSize> <YStepSize> <HeightOffset> <bUseRawValues [0|1]> <PositionWaitTime> <FileName> | Takes a resolution in meters a heatmap of stat data for the map, requires stat unit to be turned on |
SetHudWidgetsEnabled | SetHudWidgetsEnabled <1>|<0> | Sets visibility of all widgets on the HUD |
ShowCommandInfo | ShowCommandInfo <CommandName> | Prints out the details of a particular command |
ShowNextMap | ShowNextMap | Ask the server what the next map is |
SLInviteMember | SLInviteMember <Name> | Invite a member to your squad, the name can be partial |
stat FPS | stat FPS | Draw frame rate on screen |
stat Unit | stat Unit | Draws game, draw, and gpu times on screen |
stat UnitGraph | stat UnitGraph | Draws game, draw, and gpu times with an on-screen time graph |
TraceViewToggle | TraceViewToggle | Runs a trace from center of screen out to any objects and displays information about that object |
Additional Commands[]
There are also Debug Commands for testing purposes, however they are disabled on licensed servers.
Spectator Camera[]
The spectator camera (often also called "admin camera" or "admin cam"), a semi-free movement camera, is a very useful feature for clans and tournament hosts or if you want to have full camera control when recording gameplay videos of Squad.
You need to have access level "cameraman" in order to use the camera. There is one exception: on Firing Range all players can use the camera.
While in the camera, you soldier character will be invisible. When you exit the camera if you are on a server, you'll resume from where you've entered the camera. If you exit the camera when you are in the local shooting range, you spawn your character model at the camera's current position (beware of heights - you die from high falls)
If you want to record pure gameplay footage without any HUD elements, you can use the public command "SetHudWidgetsEnabled 0" or the screen shot mode. To hide ammo symbols make sure do disable "Ingame help" in Settings > Interface.
If you want to watch from both team's sides, you will have to switch teams to see the other side.
OWI is constantly improving and adding functionality to the spectator camera, however please be aware of some known bugs and problems:
- Very rarely when exiting the camera you get glitched. In this case you will need to suicide to respawn.
- While seated in a vehicle do not enter the spectator camera.
- If, after exiting the camera, your character arms do not move, you will need to suicide to respawn.
- If you switch teams twice without leaving the camera you sometimes will completely glitch out and need to restart Squad.
- If you use player stencils without having HUDViews turned on, the outlines will ghost.
The following table shows all available controls of the spectator camera. All controls only work if you have the spectator camera turned on.
Control | Description |
---|---|
⇧ Shift + P | Turns spectator camera on/off |
W, A, S, D | Moves camera |
Mouse | Pans camera |
Space | Go Up |
CTRL | Go Down |
1 + Scroll Wheel | Changes Movement FlySpeed (default) (1-100000+) |
2 + Scroll Wheel* | Changes Field of View (FOV) (5-140) |
3 + Scroll Wheel | Changes Camera Deceleration (50-100000+) |
4 | Turns TicketScores on/off (0-1) |
5 | Toggles FOBs / RallyPoints between the following states: OFF/ALL/FRIENDLY/ENEMY. (0-3) |
6 | Turns CaptureZones overlay on/off (grids visually show the capture zones) (0-1) |
7 | Turns player stencils (outlines) on/off (0-1) |
8 | Toggles HUDViews between the following states: OFF/ALL/FRIENDLY/ENEMY. (0-3) Upward triangle means alive, downward triangle means incapacitated or dead. |
9 | Turns Player Nametags on/off (0-1) |
0 | Turns spectator camera debug menu in top left corner on/off (0-1) |
Eye Button in Menu | Screen Shot Mode |
Spawn Commands[]
The Spawn Commands have moved. You can find a link to them in the "See Also" section of this page.
Getting Crash Dumps[]
Crash dumps are helpful files that show more advanced system details at the time of a server crash.
Linux[]
1. Navigate to your squad server directory.
2. Navigate to the following file:
.../SquadGame/Saved/Config/LinuxServer/Engine.ini
3. Add these additional lines:
[CrashReportClient] bAgreeToCrashUpload=true
4. Create a crashes folder at:
.../SquadGame/Saved/Crashes
ALL CHANGES BELOW HERE IMPACT SYSTEM WIDE SETTINGS AND ARE ONLY REQUIRED FOR FULL COREDUMP/CRASHDUMP FILES.
5. Make sure ulimit for cores is greater than 0. Having too small of a number may result in core dumps being cut off.
Run this command in any terminal:
ulimit -c unlimited
It may also be necessary to increase the per process file handle limit:
This should only be done if your crash log has error "failed: errno=24 (Too many open files)" as a log line right before the callstack at the end of the log
ulimit -n 2048
or alternatively editing your limits.conf file.
Changing these limits will require the SquadGameServer is restarted.
6. On systemd based distros (ubunto/debian) the *systemd-coredump* package may also be required.
You can install this by running this command in any terminal:
apt install systemd-coredump
It is suggested to adjust systemd settings regarding core file size or you may see core dumps being cut off.
Navigate to /etc/systemd/coredump.conf and edit the following lines:
ProcessSizeMax=10G ExternalSizeMax=10G
A server restart is required for the settings changed to take effect.
Crash Minidump and logs will appear in:
SquadGame/Saved/Crashes/
Each crash will create its own folder labeled:
crashinfo-SquadGame.../ *
Full core dumps will be created where your system creates core dumps. For systemd-coredump systems they will be located in:
/var/lib/systemd/coredump/
It is possible to force a crashdump by using this command in any terminal:
kill -SIGSEGV $pid
Replace pid with the process id of the SquadGameServer process.