Arma 3: Named Pipe

From Bohemia Interactive Community
Revision as of 23:35, 7 September 2019 by killzone_kid (talk | contribs)
Jump to navigation Jump to search


Arma 3 has a fully working implementation of named pipe which allows developers to pass several predefined commands to Arma process. The pipe is created only if the command line contains -command= param which defines the name for the pipe. Works for client and hosting client.

Command Line

-command=name, where name is the unique pipe name and can include any character other than a backslash, including numbers and special characters. The entire pipe name string can be up to 256 characters long. Pipe names are not case sensitive The name of the pipe created will be \\.\pipe\name (See also: CreateNamedPipe)

Available Commands

  • shutdown - closes the game
  • message some message - sends message to the systemChat
  • reply whatever - echoes back whatever is send to it
  • session - returns JSON string in format:
  • session {"playerId":"uidoftheclient"} - If not in session
  • session {"playerId":"uidoftheclient","hosting":trueifthehost,"island":"curmapname","mission":"curmissionname"} - If in session
  • session {"playerId":"uidoftheclient","hosting":trueifthehost,"island":"curmapname","mission":"curmissionname","host":"curservername","hostIP":"curserverip:port"} - If is user client
  • connect JSONexpr - Forces the client to connect to a server described as JSON expression: {"ip":"serveripaddress", "port":serverport, "password":"optionalpassword"}. If client is in MP session, nothing happens.


Created pipe has the following params:
maxinstances: 1
inbuffer: 4096
outbuffer: 4096
timeout: 100