Multiplayer Server Commands

From Bohemia Interactive Community
Revision as of 13:40, 17 May 2024 by Lou Montana (talk | contribs) (Text replacement - "[[server.cfg#" to "[[Arma 3: Server Config File#")
Jump to navigation Jump to search
Arma Reforger
For Arma Reforger see Arma Reforger:Server Management.


It is recommended to use BattlEye's RCon tool to administrate the server;
it uses custom port which one may easily secure by firewall rules! (RCON cannot be affected by in-game script exploits)

HowTo

You can access the command line by pressing the chat key (default /).

In the chat input window you can type any of the following commands in and confirm them with the enter key.

You have to add the # character before the command.

The commands can be used in SQF scripts by using serverCommand.

Troubleshooting: All commands are confirmed via a message in the console. If you enter a command that is properly formatted and you see no confirmation of the command then an error has occurred. Check your server log for more information (e.g. one or more of your mission files is corrupt or has an error which prevents the Missions Lobby from loading, or may prevent other commands like #restart or #reassign from executing).


Commands

The following commands are available to you once you have connected to a server:

Admin

Command Example Description
#login

#login password

#login

#login adminPW

Log in as the admin. Without password only possible if you are listed as an admin[] in Arma 3: Server Config File#Server_Options
#logout Admin log out.
#mission filename

#mission filename difficulty

#mission myDM.intro

#mission myDM.intro Veteran

Select mission with known name and set the difficulty. Difficulty parameter is optional and if not set, current difficulty is kept.
#missions Allows selection of mission on shown list of available missions (all or those inside missionWhiteList[] = {}; within server.cfg).
Note: this will trigger `missionEnd` (so if server.cfg is set with e.g. MissionsToServerRestart or MissionsToShutdown threshold, the server may immediately restart/shutdown)
#restart Restart mission.
#reassign Start over and reassign roles.
#shutdown Shuts down the server immediately
#restartserver Shuts down and restarts the server immediately (since Arma 3 v1.66)
#shutdownaftermission Shuts down the server after mission ends (since Arma 3 1.72.142200)
#restartserveraftermission Shuts down and restarts the server after mission ends (since Arma 3 1.72.142200)
#init Reload server config file loaded by -config option.
#exec ban name

#exec ban ID
#exec ban Player#

#exec ban nickName

#exec ban 47114712
#exec ban 3

Allows you to ban a player. Their ID will be added to the ban.txt
#kick name

#kick ID
#kick Player#

#kick nickName

#kick 47114712
#kick 3

Allows you to kick a player.
#monitor (interval in sec) #monitor 1 Shows performance information of the server. Interval 0 means to stop monitoring.
Values description
Traffic
G Guaranteed messages
NG Non-Guaranteed messages
Player info
L lobby
R role selection
B briefing
G in-game
D debriefing
#monitords (interval in sec) #monitords 1 Shows performance information in the dedicated server console. Interval 0 means to stop monitoring. (since Arma 3 v1.64)
#debug off #debug off Disables debugging.
#debug (interval in sec) #debug 30 Default interval is 10 seconds.
#debug (command) (param) #debug checkFile expansion\Dta\ui.pbo

#debug userSent <username>
#debug userInfo <username>
#debug userQueue <username>
#debug JIPQueue <username>
#debug totalSent 10

The available commands are:
checkFile
userSent
userInfo
userQueue
totalSent
JIPQueue

Each command can be disabled by the use of the off parameter e.g. #debug userSent off
Each command differs a bit; some output to screen, some to log file etc.
You need some debugger capable of catching OutputDebugString running on the client machine
(one very small and easy to use is available at SysInternals website).
You launch this debugger, then launch ARMA client, connect to the server, and issue any of the commands
.

#debug (command) #debug von

#debug console

The available commands are:

console

Send to submitter what's on server console. Works as DebugAnswer for all writes into the console.

von

Outputs into logFile defined in server config as e.g. logFile = "server_console.log";

Each of those commands should show a confirmation in the chat channels.

New admin commands since Armed Assault:
Command Description
#exec server side command Execute administration scripting command.
#lock Locks the server, prevents new clients from joining.
#unlock Unlocks the server, allows new clients to join.


"#debug von" sample

server_console.log

*** VoN Topology Diagnostics ((***
=Player=: #2
P2PManager: Time: 13:38:48 waiting edges: 0, active negotiations: 0
Matrix:
  3056006: #2
  #2: 3056006
Cliques:
  3056006,#2
Version: 1.60.86277
Private: 192.168.178.21
Connections:
  3056006: Direct P2P, 5 KA, snd: 10 sec, rcv: 10 sec, (192.168.178.21:2317) snd=0 rcv=0(0) Repl(-5,0,0)
Cliques:
  3056006,Unknown
=Player=: 3056006
Version: 1.60.86277
Private: 192.168.178.21
Public: 77.4.35.154
Connections:
  #2: Direct P2P, 5 KA, snd: 10 sec, rcv: 10 sec, (192.168.178.21:2305) snd=0 rcv=0(0) Repl(-5,0,0)
Cliques:
  3056006,Unknown
*** VoN Topology Diagnostics ))***


"#debug (command)" sample

DebugView

#debug console
1508] Debug: console

#debug totalSent
[1508] Debug: totalSent
[1508] ** Total: sent 1447 bps (2.10 Msgps), received 3788 bps (6.10 Msgps)

#debug userSent playerName
[1508] Debug: userSent
[1508] playerName: sent 1531 bps (2.30 Msgps), received 1259 bps (1.70 Msgps)

#debug userInfo playerName
[1508] Debug: userInfo
[1508] __SERVER__: Info Unknown player ID = 2
[1508] playerName: Info ping   0ms(   0,   1) BWfee  286Kb(   3, 204,   3) lost22.2%%(  2) queue   0B(   0) ackWait  0(0.0,0.0)

#debug userQueue playerName
[1508] Debug: userQueue
[1508] __SERVER__: Queue 0 B (0) 0 B Guaranteed (0), Desync 0
[1508] playerName: Queue 0 B (0) 222 B Guaranteed (3), Desync 0

Player

Command Example Description
#vote missions Users can vote for the mission selection.
#vote mission (name) #vote mission myD.intro Users can vote on a particular mission to loaded.
#vote admin (name/ID/PLR#) #vote admin nickName

#vote admin 47114712
#vote admin 3

Users can vote an admin to control the server.
#vote kick (name, ID or Player#) #vote kick nickName

#vote kick 47114712
#vote kick 3

Users can vote to kick off an individual.
#vote restart Vote to restart the mission.
#vote reassign Vote to reassign.
#userlist Displays the list of users on the server (use PgUp to scroll up).

Battleye

Command Description
#beclient players Displays the list of GUID's of all players on the server.
#beclient guid Show your own GUID.

Arma 3

In Arma 3 #exec kick and #exec ban commands require quotes (string) for Name, UID or Player#. To do this for the UID or Player#, use format command to turn the user ID into a string.

#exec kick "5"
#exec ban "imah4x0r"
#exec kick "938679499494"

#kick command can still be used either way:

#kick imah4x0r
#kick "imah4x0r"

In case of banning, ban.txt file is created in root Arma 3 directory that contains a list of banned UIDs. To unban a user by UID (UID is the only option) or to clear the ban.txt:

#exec unban "98749837498374"
#exec clearbans

2 more diagnostic commands have been added to Arma 3:

Also new in Arma 3:

  • #restartServer
  • #monitorDS