BattlEye RCON

BattlEye RCON, implemented as the protocol it actually is

Two very different protocols are both called RCON. DayZ and the Arma series use BattlEye's BERCon over UDP, where the server talks first, silence gets you dropped, and long answers arrive in pieces. Tempest speaks it natively — not Source RCON pointed at a different port.

Windows, macOS, Linux, Android & iOS.

Tempest console attached to a DayZ server over BattlEye RCON

Why this is a separate protocol

BattlEye is not request-and-reply

Source RCON is a call: one command out, one answer back, silence in between. BattlEye is a conversation, and three things about it break any client that treats it like the other one.

The server talks first. Chat, the admin log, kick and ban notices arrive unprompted — and each one has to be acknowledged, or the server keeps resending it while you think.
Silence is fatal. A client that puts nothing on the wire for 45 seconds is dropped, and an admin console is idle almost all the time. Tempest keeps the connection alive in the background.
Long answers are split. A players list on a full server comes back as numbered parts that have to be collected and rejoined in order before it makes sense.
A command is never silently resent. UDP loses packets, but the lost one might have been the reply — and a shutdown or a kick executed twice because the network blipped is worse than one that says it got no answer.

Setup

RConPassword, RConPort, and the right protocol switch

The credentials come from BEServer_x64.cfg in the server's BattlEye directory. In the connection form, set Protocol to BattlEye (UDP) — Source RCON pointed at the same port will simply never answer.

RConPassword in BEServer_x64.cfg is the password; RConPort is the port, which is not the 27015 Source default — often 2302.
Works with DayZ, Arma 2, Arma 3 and Arma Reforger servers.
Outbound proxying is supported through SOCKS5, which is the only one of the three proxy types that can carry datagrams at all. Jump hosts & bastions

Running the server

The admin log, and the machine under it

Because server-initiated messages are handled properly, the console is a live admin log rather than a command box: connections, chat, bans and kicks stream in as they happen.

Keep the console and an SSH session to the same box side by side in one workspace. Split screens
Edit BEServer_x64.cfg, the bans file, or a mission config over SFTP. SFTP file manager
Live CPU and memory gauges on the host, and a scheduled check that pushes to your phone when it fails. Monitoring docs
The same profiles on Android and iOS, for the kick that cannot wait until you are home.
BattlEye console beside an SSH session on the same game host

Frequently asked questions

Why will my DayZ server not answer a normal RCON client?
Because it is not a normal RCON server. DayZ and Arma use BattlEye's BERCon over UDP, a different protocol from Valve's Source RCON over TCP. A client that only speaks Source will sit there timing out no matter what port you give it.
Where do I find the RCON password?
In BEServer_x64.cfg (older installs: BEServer.cfg) inside the server's BattlEye folder, as RConPassword. The port on the line next to it, RConPort, is what you connect to.
Which port does BattlEye RCON use?
Whatever RConPort in that config says — there is no universal default, though 2302 is common. It is not 27015; that number belongs to the Source protocol.
Does the connection drop while I am idle?
Not in Tempest. BattlEye drops a client that is silent for 45 seconds, so the session sends a keepalive on a schedule of its own while you sit there reading the log.
Are BattlEye and Source RCON both supported?
Yes — Protocol is a dropdown on the RCON connection. Source over TCP covers Minecraft, CS2, Rust and Factorio; BattlEye over UDP covers DayZ and Arma. Which one a server speaks cannot be detected by probing, so you tell it once when you save the host.

The protocol is the hard part. It is already done.