Administration

Arma Reforger RCON Setup & Admin Commands Guide

Published: 2025-11-069 min read

Arma Reforger RCON Setup & Admin Commands Guide

RCON (Remote Console) allows you to remotely administer your Arma Reforger server without joining the game. This comprehensive guide covers setup, security, commands, and remote management tools for server administrators.

Understanding RCON

RCON is a protocol that allows remote execution of server commands via TCP connection.

What is RCON?

RCON (Remote Console) enables:

  • Remote command execution without joining server
  • Server administration from anywhere with internet
  • Automated management scripts
  • Integration with third-party admin tools
  • Multiple administrators managing same server

RCON vs In-Game Admin

FeatureRCONIn-Game Admin
Must join server❌ No✅ Yes
Remote access✅ Yes❌ No (must be on server)
Script automation✅ Yes❌ No
Third-party tools✅ Yes❌ No
Requires port forwarding✅ Yes (port 19999)❌ No
PasswordSeparate RCON passwordAdmin password

When to Use RCON

Use RCON for:

  • ✅ Managing server from phone/tablet
  • ✅ Automated server maintenance scripts
  • ✅ Multiple admins needing access
  • ✅ Server monitoring and logging
  • ✅ Quick restarts without joining

Use in-game admin for:

  • ✅ Direct player management (kick/ban)
  • ✅ Testing commands while playing
  • ✅ Immediate visual feedback
  • ✅ No port forwarding required

Enabling RCON in Config.json

RCON is disabled by default and must be configured in your server config.

Basic RCON Configuration

Add the rcon section to your config.json:

{
  "bindPort": 2001,
  "publicPort": 2001,
  "game": {
    "name": "My Server",
    "scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
    "maxPlayers": 32
  },
  "rcon": {
    "enabled": true,
    "port": 19999,
    "password": "YOUR_STRONG_PASSWORD_HERE"
  }
}

RCON Configuration Options

Full options:

{
  "rcon": {
    "enabled": true,              // Enable/disable RCON
    "port": 19999,                // RCON port (default: 19999)
    "password": "SecurePass123",  // RCON password (REQUIRED)
    "permission": "admin",        // Permission level (admin/moderator)
    "maxClients": 10              // Max simultaneous RCON connections
  }
}

Password Requirements

Strong RCON password:

  • ✅ At least 12 characters
  • ✅ Mix of uppercase and lowercase
  • ✅ Include numbers and symbols
  • ✅ Different from admin password
  • ❌ No dictionary words
  • ❌ No personal information

Example strong passwords:

  • Rf2025$Adm!nP@ss
  • Sx8#mK2!qL9pNv4
  • Gm&Srv*2025!Rcn

Generate random password (Linux):

openssl rand -base64 16

CRITICAL: Never use weak passwords like "password" or "admin123" for RCON!

Port Forwarding for RCON

To access RCON from outside your network, forward port 19999:

Router configuration:

Service Name: Arma Reforger RCON
External Port: 19999
Internal Port: 19999
Protocol: TCP
IP Address: [Your server's local IP]

See our Port Forwarding Guide for detailed instructions.

Firewall Configuration

Windows Firewall:

netsh advfirewall firewall add rule name="Arma Reforger RCON" dir=in action=allow protocol=TCP localport=19999

Linux (UFW):

sudo ufw allow 19999/tcp

Connecting to RCON

Method 1: Using rcon-cli (Command Line)

Install rcon-cli (cross-platform tool):

Linux:

wget https://github.com/gorcon/rcon-cli/releases/download/v0.10.3/rcon-0.10.3-amd64_linux.tar.gz
tar -xvf rcon-0.10.3-amd64_linux.tar.gz
sudo mv rcon /usr/local/bin/

Windows: Download from https://github.com/gorcon/rcon-cli/releases

Connect:

rcon -a YOUR_SERVER_IP:19999 -p YOUR_RCON_PASSWORD

# Or for localhost:
rcon -a 127.0.0.1:19999 -p YOUR_RCON_PASSWORD

Execute commands:

# Interactive mode
rcon -a 127.0.0.1:19999 -p password
> #listPlayers
> #kick PlayerName
> #shutdown 60

# Single command mode
rcon -a 127.0.0.1:19999 -p password "#listPlayers"

Method 2: Using mcrcon (Alternative CLI)

Install mcrcon:

git clone https://github.com/Tiiffi/mcrcon.git
cd mcrcon
make
sudo make install

Connect:

mcrcon -H YOUR_SERVER_IP -P 19999 -p YOUR_RCON_PASSWORD

Method 3: GUI RCON Clients

RCONPanel (Web-based):

RustAdmin (Windows):

GameServerMonitor:

Method 4: Mobile Apps

Android:

  • RCON Mobile Admin - Google Play Store
  • SourceRCON - Google Play Store

iOS:

  • RCONManager - App Store
  • Game Admin - App Store

Configuration:

  1. Install app
  2. Add server
  3. Enter: IP, Port (19999), Password
  4. Save and connect

Available RCON Commands

Arma Reforger supports standard admin commands via RCON.

Player Management

List all players:

#listPlayers

Output:

id: 1 - PlayerName (123.45.67.89:12345)
id: 2 - AnotherPlayer (98.76.54.32:54321)

Kick player:

#kick PlayerName

Or by ID:

#kick 1

Ban player:

#ban PlayerName

Or by ID:

#ban 1

Unban player (edit ban list file manually):

  • Located in ServerProfile/ban.txt
  • Remove player's GUID from file

Server Management

Shutdown server:

#shutdown

Shutdown with countdown (in seconds):

#shutdown 300

(Shuts down in 5 minutes)

Restart mission:

#restartMission

Load different scenario:

#loadMission {SCENARIO_ID_HERE}

Example:

#loadMission {ECC61978EDCC2B5A}Missions/23_Campaign.conf

Information Commands

Server status:

#status

Shows: uptime, player count, mission name

Get server FPS:

#fps

List loaded mods:

#listMods

Server configuration:

#serverInfo

Communication Commands

Send message to all players:

#say Your message here

Send message to specific player:

#tell PlayerName Your message here

Admin Login (In-Game via RCON)

While RCON doesn't require login, in-game admin does:

#login YOUR_ADMIN_PASSWORD

After login, you can use admin commands in-game console.

Security Best Practices

RCON is a powerful tool and must be secured properly.

1. Use Strong Passwords

Bad:

{
  "rcon": {
    "password": "admin"  ❌ Too weak!
  }
}

Good:

{
  "rcon": {
    "password": "Sx8#mK2!qL9pNv4"  ✅ Strong
  }
}

2. Limit RCON Port Access

Only allow specific IPs (if your router supports it):

Example: Only allow connections from your home IP:

  • Router → RCON rule → Allow from 123.45.67.89 only

Firewall rules (Linux):

# Only allow from specific IP
sudo ufw allow from 123.45.67.89 to any port 19999 proto tcp

# Block all others
sudo ufw deny 19999/tcp

3. Change Default Port

Using non-standard port reduces brute-force attempts:

{
  "rcon": {
    "port": 25123  // Non-standard port
  }
}

Remember to forward the new port!

4. Monitor RCON Access

Check server logs for RCON connections:

grep "RCON" ServerProfile/logs/console_*.log

Look for:

  • Failed authentication attempts
  • Commands executed
  • Connection times

5. Limit Max Clients

Prevent connection flooding:

{
  "rcon": {
    "maxClients": 3  // Only 3 simultaneous RCON connections
  }
}

6. Use VPN for Remote Access

Most secure option:

  1. Set up WireGuard/OpenVPN on server
  2. Don't forward RCON port publicly
  3. Connect via VPN first, then use RCON
  4. RCON only accessible through VPN tunnel

7. Separate Passwords

Never reuse passwords:

{
  "game": {
    "passwordAdmin": "InGameAdminPass123"
  },
  "rcon": {
    "password": "DifferentRconPass456"  // Must be different!
  }
}

8. Disable RCON When Not Needed

If you don't use RCON regularly:

{
  "rcon": {
    "enabled": false
  }
}

Automated RCON Scripts

RCON allows powerful automation.

Auto-Restart Script (Linux)

restart-server.sh:

#!/bin/bash
RCON_IP="127.0.0.1"
RCON_PORT="19999"
RCON_PASS="YOUR_PASSWORD"

# Announce restart
rcon -a ${RCON_IP}:${RCON_PORT} -p ${RCON_PASS} "#say Server restarting in 5 minutes"
sleep 240

rcon -a ${RCON_IP}:${RCON_PORT} -p ${RCON_PASS} "#say Server restarting in 1 minute"
sleep 60

rcon -a ${RCON_IP}:${RCON_PORT} -p ${RCON_PASS} "#shutdown 10"

Schedule with cron (daily at 4 AM):

crontab -e

# Add:
0 4 * * * /path/to/restart-server.sh

Player Count Monitor (Python)

monitor.py:

import socket
import time

def rcon_command(ip, port, password, command):
    # Simplified RCON implementation
    # Use proper RCON library in production
    pass

while True:
    players = rcon_command("127.0.0.1", 19999, "password", "#listPlayers")
    print(f"Current players: {len(players.splitlines())}")
    time.sleep(60)  # Check every minute

Automated Backup Script

backup-on-empty.sh:

#!/bin/bash
PLAYERS=$(rcon -a 127.0.0.1:19999 -p password "#listPlayers")

if [ -z "$PLAYERS" ]; then
  echo "Server empty, creating backup..."
  tar -czf backup-$(date +%Y%m%d-%H%M%S).tar.gz ServerProfile/
fi

Troubleshooting

"Connection Refused" Error

Causes:

  1. RCON not enabled in config.json
  2. Wrong port in RCON client
  3. Port 19999 not forwarded
  4. Firewall blocking connection
  5. Server not running

Solutions:

  1. Verify "enabled": true in config
  2. Check port matches config (default: 19999)
  3. Forward port 19999 TCP in router
  4. Allow port in firewall
  5. Start server first, then connect

"Authentication Failed" Error

Causes:

  • Wrong password
  • Extra spaces in password
  • Case-sensitive password mismatch

Solutions:

# Double-check password in config
cat config.json | grep -A5 '"rcon"'

# Test with correct password
rcon -a 127.0.0.1:19999 -p "EXACT_PASSWORD_HERE"

Commands Not Working

Check command syntax:

  • Must start with # symbol
  • Example: #listPlayers NOT listPlayers

Verify permission level:

{
  "rcon": {
    "permission": "admin"  // Must be "admin" for full access
  }
}

Can't Connect Remotely

Test local connection first:

# From server machine:
rcon -a 127.0.0.1:19999 -p password "#status"

If local works but remote doesn't:

  1. Check port forwarding (19999 TCP)
  2. Verify public IP is correct
  3. Test port is open: https://www.yougetsignal.com/tools/open-ports/
  4. Check ISP doesn't block port 19999

RCON Timeout

Increase timeout in client:

rcon -a IP:19999 -p password -t 10  # 10 second timeout

Check server logs for errors:

tail -f ServerProfile/logs/console_*.log | grep RCON

RCON with Third-Party Tools

Integration with Discord Bots

Example: Discord bot executing RCON commands

Python example using discord.py and rcon library:

import discord
from rcon.source import Client

@bot.command()
async def players(ctx):
    with Client('YOUR_IP', 19999, passwd='password') as client:
        response = client.run('#listPlayers')
        await ctx.send(f"Online players:\n{response}")

Web Admin Panels

Pterodactyl Panel:

AMP (Application Management Panel):

Monitoring Tools

Grafana + Prometheus:

  • Monitor server metrics via RCON
  • Track player count over time
  • Alert on server issues

RCON Command Reference

Quick Command List

CommandSyntaxDescription
List players#listPlayersShow all connected players
Kick player#kick <name/id>Remove player from server
Ban player#ban <name/id>Ban player from server
Shutdown#shutdown [seconds]Shutdown server (optional countdown)
Restart mission#restartMissionReload current scenario
Server status#statusShow server info
Server FPS#fpsShow current server FPS
Say message#say <message>Broadcast message
Tell player#tell <name> <msg>Message specific player
List mods#listModsShow loaded mods
Load mission#loadMission <id>Load different scenario

Command Aliases

Some commands have shorter aliases:

  • #listPlayers = #players
  • #restartMission = #restart

Best Practices Summary

  1. Use strong, unique passwords (12+ characters, mixed case, symbols)
  2. Limit access by IP if possible
  3. Monitor RCON logs for unauthorized access
  4. Use non-standard port to reduce attacks
  5. Disable when not needed for added security
  6. Never share RCON password publicly
  7. Use VPN for remote access when possible
  8. Test locally first before exposing publicly
  9. Keep server logs of RCON activity
  10. Separate from admin password - use different credentials

Helpful Resources


Last Updated: November 2025

Want hassle-free server hosting with RCON pre-configured? Get Arma Reforger servers at xGaming Server with 30% OFF your first month!

Ready to set up RCON? Generate your config now!

Need Arma Reforger Server Hosting?

Get your server online in 5 minutes with xGaming Server

Instant Setup
DDoS Protection
High Performance
24/7 Support
Get 30% OFF First Month

Professional Arma Reforger hosting • No setup fees • Cancel anytime