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
| Feature | RCON | In-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 |
| Password | Separate RCON password | Admin 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@ssSx8#mK2!qL9pNv4Gm&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):
- https://github.com/TerjeKir/RCONPanel
- Web interface for RCON management
- User-friendly GUI
RustAdmin (Windows):
- Originally for Rust, works with many games
- Download: https://www.rustadmin.com/
- Configure with your server IP:19999
GameServerMonitor:
- Multi-server management
- Windows/Linux support
- https://github.com/Darthcaboose/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:
- Install app
- Add server
- Enter: IP, Port (19999), Password
- 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:
- Set up WireGuard/OpenVPN on server
- Don't forward RCON port publicly
- Connect via VPN first, then use RCON
- 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:
- RCON not enabled in config.json
- Wrong port in RCON client
- Port 19999 not forwarded
- Firewall blocking connection
- Server not running
Solutions:
- Verify
"enabled": truein config - Check port matches config (default: 19999)
- Forward port 19999 TCP in router
- Allow port in firewall
- 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:
#listPlayersNOTlistPlayers
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:
- Check port forwarding (19999 TCP)
- Verify public IP is correct
- Test port is open: https://www.yougetsignal.com/tools/open-ports/
- 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:
- Open-source game server management
- Built-in RCON support
- https://pterodactyl.io
AMP (Application Management Panel):
- Commercial server management
- RCON integration
- https://cubecoders.com/AMP
Monitoring Tools
Grafana + Prometheus:
- Monitor server metrics via RCON
- Track player count over time
- Alert on server issues
RCON Command Reference
Quick Command List
| Command | Syntax | Description |
|---|---|---|
| List players | #listPlayers | Show 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 | #restartMission | Reload current scenario |
| Server status | #status | Show server info |
| Server FPS | #fps | Show current server FPS |
| Say message | #say <message> | Broadcast message |
| Tell player | #tell <name> <msg> | Message specific player |
| List mods | #listMods | Show loaded mods |
| Load mission | #loadMission <id> | Load different scenario |
Command Aliases
Some commands have shorter aliases:
#listPlayers=#players#restartMission=#restart
Best Practices Summary
- ✅ Use strong, unique passwords (12+ characters, mixed case, symbols)
- ✅ Limit access by IP if possible
- ✅ Monitor RCON logs for unauthorized access
- ✅ Use non-standard port to reduce attacks
- ✅ Disable when not needed for added security
- ✅ Never share RCON password publicly
- ✅ Use VPN for remote access when possible
- ✅ Test locally first before exposing publicly
- ✅ Keep server logs of RCON activity
- ✅ Separate from admin password - use different credentials
Helpful Resources
- Server Setup Guide
- Port Forwarding Guide
- Config Generator (RCON Setup)
- JSON Validator
- rcon-cli Tool
- mcrcon Tool
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!