Multiplayer Server Commands: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Added optional reason to kick and ban)
(73 intermediate revisions by 16 users not shown)
Line 1: Line 1:
==Warning==
{{TOC|side}}
<small>
{{Feature|armaR|For {{armaR}} see [[Arma Reforger:Server Management]].}}
{{Important|Reports have been circulated of a script exploit that allows a non-admin player to force an in-game admin to issue Admin commands. Either #logout of server admin when not required, or consider using [[BattlEye#Rcon|BattlEye's RCon]] tool to administer the server out of band }}
</small>


==HowTo==
You can access the command line <b>by pressing the chat key (default: <big>/</big>).<br></b>
In the chat input window you can type any of the following commands in and confirm them with the enter key.<br>
You have to <b>add the <big>#</big> character before the command.</b>


==Commands==
{{Feature|important|It is recommended to use [[BattlEye#RCon|BattlEye's RCon]] tool to administrate the server;<br>
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 {{Controls|/}}).
 
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 {{hl|#}} 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:
The following commands are available to you once you have connected to a server:


===Admin===
=== Admin ===
{| border="1" cellspacing="0"
 
|+
{| class="wikitable"
| '''Command''' || '''Example''' || '''Description'''
! Command !! Example !! Description
|- valign="top"
|-
| #login password ||
| {{hl|#login}} <br>
* #login adminPW
{{hl|#login}} ''password''<br>
|| Log in as the admin
| {{hl|#login}}  <br>
|- valign="top"
{{hl|#login adminPW}}  <br>
| #logout ||  || Admin log out
| Log in as the admin. Without password only possible if you are listed as an admin[] in [[Arma 3: Server Config File#Server_Options]]
|- valign="top"
|-
| #mission filename ||
| {{hl|#logout}}
* #mission myDM.intro
|
|| Select mission with known name
| Admin log out.
|- valign="top"
|-
| #missions || || Select mission
|{{hl|#mission}} ''filename''<br>
|- valign="top"
{{hl|#mission}}&nbsp;''filename''&nbsp;''difficulty''
| #restart ||  || Restart mission
|{{hl|#mission&nbsp;myDM.intro}}<br>
|- valign="top"
{{hl|#mission&nbsp;myDM.intro&nbsp;Veteran}}
| #reassign ||  || Start over and reassign roles
| Select mission with known name and set the difficulty. Difficulty parameter is optional and if not set, current difficulty is kept.
|- valign="top"
|-
| #shutdown || || Shuts down the server
| {{hl|#missions}}
|- valign="top"
|  
| #init || || Reload server config file loaded by –config option
| Allows selection of mission on shown list of available missions (all or those inside missionWhiteList[] = {}; within server.cfg). <br> Note: this will trigger `missionEnd` (so if server.cfg is set with e.g. MissionsToServerRestart or MissionsToShutdown threshold, the server may immediately restart/shutdown)
|- valign="top"
|-
| #exec ban (name, ID or Player#) ||
| {{hl|#restart}}
* #exec ban nickName
|  
* #exec ban 47114712
| Restart mission.
* #exec ban 3
|-
|| Allows you to ban a player. Their ID will be added to the ban.txt
| {{hl|#reassign}}
|- valign="top"
|  
| #kick (name, ID or Player#) ||
| Start over and reassign roles.
* #kick nickName
|-
* #kick 47114712
| {{hl|#shutdown}}
* #kick 3
|  
|| Allows you to kick a player
| Shuts down the server immediately
|- valign="top"
|-
| #monitor (interval in sec) ||
| {{hl|#restartserver}}
* #monitor 1
|
|| Shows performance information of the server. Interval 0 means to stop monitoring
| Shuts down and restarts the server immediately (since Arma 3 v1.66)
|- valign="top"
|-
| #debug off ||
| {{hl|#shutdownaftermission}}
* #debug off
|  
|| <i>Disables debbuging.</I>
| Shuts down the server after mission ends (since Arma 3 1.72.142200)
|- valign="top"
|-
| #debug (interval in sec) ||
| {{hl|#restartserveraftermission}}
* #debug 30
|
|| <i>Default interval is 10 seconds.</I>
| Shuts down and restarts the server after mission ends (since Arma 3 1.72.142200)
|- valign="top"
|-
| #debug (command) (param) ||
| {{hl|#init}}
* #debug checkFile expansion\Dta\ui.pbo
|  
* #debug userSent <username>
| Reload server config file loaded by {{hl|[[:Category:Startup Parameters|-config]]}} option.
* #debug userInfo <username>
|-
* #debug userQueue <username>
|{{hl|#exec ban}} ''name''<br>
* #debug JIPQueue <username>
{{hl|#exec ban}} ''ID''<br>
* #debug totalSent 10
{{hl|#exec ban}} ''Player#''<br>
|| The available commands are:
{{hl|#exec ban "user reason"}}
* checkFile
|{{hl|#exec ban nickName}}<br>
* userSent
{{hl|#exec ban 47114712}}<br>
* userInfo
{{hl|#exec ban 3}}<br>
* userQueue
{{hl|#exec ban "3 Griefing"}}<br>
* totalSent
{{GVI|arma3|2.18|size=0.75}} {{hl|#exec ban """Some Username""" ""Some Ban Reason Text"""}}
* JIPQueue
| Allows you to ban a player. Their ID will be added to the {{hl|ban.txt}} file.
<i>Each command command can be disabled by off instead parameter e.g. '#debug userSent off'</i><br>
|-
<i>Each command differs bit some output to screen, some to log file etc.</i><br>
| {{hl|#kick}} ''name''<br>
<small>You need some debugger capable of catching OutputDebugString running on the client machine <br>
{{hl|#kick}} ''ID''<br>
(one very small and easy to use is available at SysInternals website. <br>
{{hl|#kick}} ''Player#''<br>
You launch this debugger, you launch ARMA client, connect to the server, issue any of commands</small>
{{hl|#kick user reason}}
|- valign="top"
| {{hl|#kick nickName}}<br>
| #debug (command) ||
{{hl|#kick 47114712}}<br>
* #debug von
{{hl|#kick 3}}<br>
* #debug console
{{GVI|arma3|2.18|size=0.75}} {{hl|#kick "Some Username" "Some Kick Reason Text"}}
|| The available commands are:
| Allows you to kick a player.
* Console
|-
** <i> send to submitter what's on server console , works as DebugAnswer for all writes into the console </i>
| {{hl|#monitor}} ''(interval in sec)''
* von
| {{hl|#monitor 1}}
**<i>outputs into logFile defined in server.cfg as e.g. logFile = "server_console.log"; </i><br>
| Shows performance information of the server. Interval {{hl|0}} means to stop monitoring.
<i>Each of those commands should show a confirmation in the chat channels.</i>
 
{| class="wikitable"
|+ Values description
! colspan="2" | Traffic
|-
| G
| Guaranteed messages
|-
| NG
| Non-Guaranteed messages
|-
! colspan="2" | Player info
|-
| L
| lobby
|-
| R
| role selection
|-
| B
| briefing
|-
| G
| in-game
|-
| D
| debriefing
|}
|-
| {{hl|#monitords}} ''(interval in sec)''
| {{hl|#monitords 1}}
| Shows performance information in the dedicated server console. Interval {{hl|0}} means to stop monitoring. (since Arma 3 v1.64)
|-
| {{hl|#debug off}}
| {{hl|#debug off}}
| Disables debugging.
|-
| {{hl|#debug}} ''(interval in sec)''
| {{hl|#debug 30}}
| Default interval is {{hl|10}} seconds.
|-
| {{hl|#debug}} ''(command) (param)''
| {{hl|#debug checkFile expansion\Dta\ui.pbo}}<br>
{{hl|#debug userSent}} ''<username>''<br>
{{hl|#debug userInfo}} ''<username>''<br>
{{hl|#debug userQueue}} ''<username>''<br>
{{hl|#debug JIPQueue}} ''<username>''<br>
{{hl|#debug totalSent}} ''10''
| The available commands are:<br>
: {{hl|checkFile}}
: {{hl|userSent}}
: {{hl|userInfo}}
: {{hl|userQueue}}
: {{hl|totalSent}}
: {{hl|JIPQueue}}
Each command can be disabled by the use of the {{hl|off}} parameter ''e.g.'' {{hl|#debug userSent off}}<br>
Each command differs a bit; some output to screen, some to log file etc.<br>
<small>You need some debugger capable of catching ''OutputDebugString'' running on the client machine<br>
(one very small and easy to use is available at ''SysInternals'' website).<br>
You launch this debugger, then launch ARMA client, connect to the server, and issue any of the commands</small>.
|-
| {{hl|#debug}} ''(command)''
| {{hl|#debug von}}<br>
{{hl|#debug console}}
| The available commands are:
{{hl|console}}
: Send to submitter what's on server console. Works as ''DebugAnswer'' for all writes into the console.
{{hl|von}}
: Outputs into ''logFile'' defined in [[Arma 3: Server Config File|server config]] as ''e.g.'' {{hl|c= logFile = "server_console.log";}}
Each of those commands should show a confirmation in the chat channels.
|}
|}


New admin commands since Armed Assault:
{| class="wikitable"
{| border="1" cellspacing="0"
|+ New admin commands since Armed Assault:
|+
! Command !! Description
| '''Command''' || '''Description'''
|-
|- valign="top"
| {{hl|#exec}} ''[[ArmA: Armed Assault: Server Side Scripting|server side command]]''
| #exec [[ArmA: Server Side Scripting|server side command]] || Execute administration scripting command
| Execute administration scripting command. Only works on dedicated servers.
|- valign="top"
|-
| #lock || Locks the server, prevents new clients from joining
| {{hl|#lock}}
|- valign="top"
| Locks the server, prevents new clients from joining.
| #unlock || Unlocks the server, allows new clients to join
|-
| {{hl|#unlock}}
| Unlocks the server, allows new clients to join.
|}
|}


===Player===
 
{| border="1" cellspacing="0" valign="top"
==== "#debug von" sample ====
|+
'''server_console.log'''
| '''Command''' || '''Example''' || '''Description'''
<pre>*** VoN Topology Diagnostics ((***
|- valign="top"
=Player=: #2
| #vote missions || || Users can vote for the mission selection
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 ))***</pre>
 
 
==== "#debug (command)" sample ====
'''DebugView'''
<pre>#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</pre>
 
=== Player ===
{| class="wikitable"
! Command!! Example !! Description
|-
| {{hl|#vote missions}}
|
| Users can vote for the mission selection.
|-
| {{hl|#vote mission}} ''(name)''
| {{hl|#vote mission myD.intro}}
| Users can vote on a particular mission to loaded.
|-
| {{hl|#vote admin}} ''(name/ID/PLR#)''
|{{hl|#vote admin nickName}}<br>
{{hl|#vote admin 47114712}}<br>
{{hl|#vote admin 3}}
| Users can vote an admin to control the server.
|-
| {{hl|#vote kick}} ''(name, ID or Player#)''
| {{hl|#vote kick nickName}}<br>
{{hl|#vote kick 47114712}}<br>
{{hl|#vote kick 3}}
| Users can vote to kick off an individual.
|-
|-
| #vote mission (name) ||
| {{hl|#vote restart}}
* #vote mission myD.intro
|
|| Users can vote on a particular mission to loaded
| Vote to restart the mission.
|- valign="top"
|-
| #vote admin (name/ID/PLR#) ||
| {{hl|#vote reassign}}
* #vote admin nickName
|
* #vote admin 47114712
| Vote to reassign.
* #vote admin 3
|-
|| Users can vote an admin to control the server
| {{hl|#userlist}}
|- valign="top"
|
| #vote kick (name, ID or Player#) ||
| Displays the list of users on the server (use ''PgUp'' to scroll up).
* #vote kick nickName
* #vote kick 47114712
* #vote kick 3
|| Users can vote to kick off an individual
|- valign="top"
| #vote restart ||  || Vote to restart the mission
|- valign="top"
| #vote reassign ||  || Vote to reassign
|- valign="top"
| #userlist ||  || Displays the list of users on the server (use pgup to scroll up)
|}
|}


===Battleye===
=== Battleye ===
{| border="1" cellspacing="0" valign="top"
{| class="wikitable"
|+
! Command !! Description
| '''Command''' || '''Description'''
|-
|- valign="top"
| {{hl|#beclient players}}
| #beclient players || Displays the list of GUID's of all players on the server
| Displays the list of ''GUID's'' of all players on the server.
|- valign="top"
|-
| #beclient guid || Show your own GUID
| {{hl|#beclient guid}}
| Show your own ''GUID''.
|}
|}


[[Category:Multiplayer]]
=== Arma 3 ===
[[category:Operation Flashpoint:_Multiplayer]]
 
[[Category:ArmA:_Multiplayer]]
{{Feature|arma3|See [[Arma 3: Server Side Scripting]].}}
 
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.
 
<pre>#exec kick "5"
#exec ban "imah4x0r"
#exec kick "938679499494"</pre>
 
'''#kick''' command can still be used either way:
 
<pre>#kick imah4x0r
#kick "imah4x0r"</pre>
 
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'':
<pre>#exec unban "98749837498374"
#exec clearbans</pre>
 
2 more diagnostic commands have been added to Arma 3:
 
* '''#logEntities''' (see also [[logEntities]])
* '''#exportJIPqueue''' (see also [[exportJIPMessages]])
 
Also new in Arma 3:
 
* '''#restartServer'''
* '''#monitorDS'''
 
 
[[Category:Multiplayer Hints and Tips]]
[[Category:Multiplayer Hints and Tips]]
{{GameCategory|ofp|Multiplayer}}
{{GameCategory|arma1|Multiplayer}}
{{GameCategory|arma2|Multiplayer}}
{{GameCategory|arma3|Multiplayer}}

Revision as of 16:43, 26 July 2024

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 "user reason"

#exec ban nickName

#exec ban 47114712
#exec ban 3
#exec ban "3 Griefing"
Arma 3 logo black.png2.18 #exec ban """Some Username""" ""Some Ban Reason Text"""

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

#kick ID
#kick Player#
#kick user reason

#kick nickName

#kick 47114712
#kick 3
Arma 3 logo black.png2.18 #kick "Some Username" "Some Kick Reason Text"

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. Only works on dedicated servers.
#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