Cómo activar RCON en un servidor de Arma Reforger
RCON es la forma de administrar un servidor dedicado de Arma Reforger desde afuera del juego: ver quién está conectado, expulsar, banear y reiniciar sin entrar como jugador. Viene apagado. Se activa con un bloque en el config.json del servidor y un puerto UDP abierto.
1. El bloque rcon en config.json
Abre el config.json que le pasas al servidor con -config y agrega (o completa) este bloque al mismo nivel que game:
"rcon": {
"address": "0.0.0.0",
"port": 19999,
"password": "UnaClaveLargaSinEspacios",
"permission": "admin",
"blacklist": [],
"whitelist": []
}
- address: la IP en la que escucha.
0.0.0.0acepta conexiones por cualquier interfaz; en hosting compartido suele ir la IP pública del servidor. - port: puerto UDP. Cualquiera libre; 19999 es la convención. No puede ser el mismo que el del juego ni el de Steam Query.
- password: sin espacios. Es distinta de
passwordAdmin, que es la del#logindentro del juego. - permission:
"admin"para poder expulsar, banear y reiniciar. Con"monitor"solo se puede mirar (#players). - whitelist / blacklist: listas de comandos permitidos o prohibidos por RCON. Vacías = todo lo que permite el permiso.
2. Abrir el puerto
El servidor no puede abrir el puerto solo. Según dónde corra:
- Máquina propia / VPS: regla UDP de entrada en el firewall (ufw, firewalld, Windows Defender) y, si hay router, redirección de puerto.
- Pterodactyl: el puerto tiene que ser una allocation asignada al servidor, además de la del juego. Si el egg no la expone, la agrega el administrador del nodo.
- Hosting alquilado (Nitrado, GPortal y similares): normalmente hay una opción "RCON" en el panel del proveedor que escribe este bloque y abre el puerto por ti; buscá ahí el puerto y la clave.
3. Reiniciar y comprobar
Los cambios en config.json se leen al arrancar: reinicia el servidor. Para comprobar que RCON responde, conecta con cualquier cliente BattlEye (el protocolo es el mismo que en DayZ y Arma 3) y manda #players. La respuesta empieza con:
Players on server: [Player#] ; [Player UID] ; [Player Name]
Si no responde nada, el orden de sospecha es: puerto UDP cerrado, address mal puesta, contraseña con espacios, o el servidor todavía arrancando (RCON tarda unos segundos más que el juego).
Errores comunes
- Usar la misma clave para
passwordAdminyrcon.password. Son sistemas distintos; si una se filtra, se filtran las dos. - Abrir el puerto en TCP. BattlEye RCON es UDP.
- Dejar
permission: "monitor"y después preguntarse por qué#kickno hace nada. - Publicar la IP y el puerto RCON en un Discord abierto. Cualquiera con la clave manda comandos.
Qué se puede hacer con RCON (y qué no)
Con RCON activo puedes listar jugadores, expulsar, banear con duración, ver y quitar baneos, y reiniciar o apagar el servidor. No puedes escribir en el chat, cambiar el escenario, mover jugadores ni ver kills: el RCON de Reforger no tiene esos comandos. Para eso hace falta un mod server-side; en la guía de comandos está la lista completa.
Qué contesta el servidor a cada comando
Saber el texto exacto importa cuando algo se automatiza: una respuesta que no se reconoce se confunde con un fallo. Estas son las respuestas reales de Arma Reforger 1.8.0.13:
#players Players on server: [Player#] ; [Player UID] ; [Player Name]
4 ; 7d6f1c2a-... ; Nombre
#kick Player 'NOMBRE' kicked!
#ban create Player '7d6f1c2a-...' banned!
#ban remove Ban removed!
#ban list Server has no bans to list. (cuando no hay ninguno)
Total bans: 3 | Page: 1/1 (cuando hay)
- Identity Id | Banned name
- 7d6f1c2a-... | Nombre
Un comando bien escrito pero que no se puede aplicar —por ejemplo, banear una identidad que no existe— contesta error '<comando>'. No es un fallo de conexión: es el servidor diciendo que no. Conviene tratarlo distinto de un tiempo agotado, porque reintentarlo no va a cambiar nada.
El detalle que rompe automatizaciones: confirmar no es ejecutar
BattlEye confirma la recepción de un comando antes de que el juego lo ejecute. Esa confirmación llega siempre, incluso si el servidor se cuelga un instante después. La consecuencia práctica: un #ban list que confirma y después no manda nada es indistinguible de un #ban list de una lista vacía.
Si construyes algo encima de RCON, no des por hecho que la confirmación significa éxito. La forma de salir de la duda es mandar un ping del protocolo (un comando vacío) y ver si vuelve: si vuelve, el servidor está vivo y la lista estaba vacía de verdad; si no vuelve, el servidor se fue. Y nunca reintentes automáticamente un #ban create cuya respuesta se perdió: puede haberse aplicado.
El puerto de RCON no es el puerto del juego
Es la confusión más repetida. Un servidor dedicado de Arma Reforger usa varios puertos distintos: el del juego (2001 por defecto, al que se conectan los jugadores), el de Steam Query (17777 por defecto, el que responde si el servidor está en línea) y el de RCON (19999 en el ejemplo de arriba, solo para administrar). Pegar el de RCON en el buscador de servidores no lleva a ninguna parte, y abrir el del juego no hace que RCON responda.
Quién puede mandar comandos, y cómo cerrarlo
Quien tenga la IP, el puerto y la contraseña de RCON puede administrar tu servidor. No hay usuarios, ni roles, ni registro de quién hizo qué: la contraseña es el permiso. Por eso conviene tratarla como la llave del servidor y no como un dato de configuración más.
Tres cosas que reducen el riesgo sin complicarte la vida:
- Usa la lista de direcciones permitidas (
allowedAddresses) si tu hosting te deja. Con eso, aunque la contraseña se filtre, solo sirve desde donde tú digas. - No reutilices la contraseña. Ni la de
passwordAdmin, ni la del hosting, ni la de Discord. Si una se filtra, no se llevan las demás. - Cámbiala cuando alguien deja el equipo. Es lo único que revoca su acceso, porque no hay forma de quitarle el permiso a una persona concreta.
Y una que se olvida: la contraseña de RCON viaja en el propio config.json. Si compartes ese archivo para que alguien te ayude con un problema —en un Discord, en un ticket de soporte—, bórrala antes.
