Multiplayer Server Commands

From Bohemia Interactive Community
Revision as of 19:07, 11 November 2011 by .kju (talk | contribs) (Added debug output sample)
Jump to navigation Jump to search

Warning

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's RCon tool to administer the server out of band

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.

Commands

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

Admin

Command Example Description
#login password
  • #login adminPW
Log in as the admin
#logout Admin log out
#mission filename
  • #mission myDM.intro
Select mission with known name
#missions Select mission
#restart Restart mission
#reassign Start over and reassign roles
#shutdown Shuts down the server
#init Reload server config file loaded by –config option
#exec ban (name, ID or 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, ID or 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
#debug off
  • #debug off
Disables debbuging.
#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 command can be disabled by off instead parameter e.g. '#debug userSent off'
Each command differs 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, you launch ARMA client, connect to the server, issue any of 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.cfg 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 userQueue playerName
[1508] Debug: userSent
[1508] playerName: sent 1531 bps (2.30 Msgps), received 1259 bps (1.70 Msgps)
#debug userQueue 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