Protocolo RCON de Source

Envía comandos de consola remota autenticados a servidores de juego basados en Source (Counter-Strike, Garry's Mod, ARK, Rust, Minecraft, ...) mediante el protocolo binario RCON.

TsgcLib_RCON

Cliente TCP para el protocolo binario Source RCON — autentícate con la contraseña del servidor, envía comandos exec y parsea la respuesta.

Clase del componente

TsgcLib_RCON

Plataformas

Windows, macOS, Linux, iOS, Android

Edición

Standard / Professional / Enterprise

Configura el host y la contraseña, envía comandos

Establece el host, el puerto y la contraseña en TsgcLib_RCON, conecta, autentícate y luego llama a ExecCommand por cada comando de consola.

uses
  sgcLibs;

var
  RCON: TsgcLib_RCON;
begin
  RCON := TsgcLib_RCON.Create(nil);
  RCON.Host     := 'gameserver.example.com';
  RCON.Port     := 27015;
  RCON.Password := 'rcon-password';

  RCON.OnResponse := procedure(Sender: TObject;
    const aResponse: string; const aPacket: TsgcRCON_Packet)
  begin
    Memo1.Lines.Add(aResponse);
  end;

  RCON.Connect;
  RCON.ExecCommand('status');
  RCON.ExecCommand('sv_gravity 800');
end;
// uses: sgcLibs
TsgcLib_RCON *RCON = new TsgcLib_RCON(this);
RCON->Host     = "gameserver.example.com";
RCON->Port     = 27015;
RCON->Password = "rcon-password";

RCON->Connect();
RCON->ExecCommand("status");

Qué incluye

Implementa el protocolo binario Source RCON de Valve (SERVERDATA_AUTH / SERVERDATA_EXECCOMMAND) sobre TCP plano.

Autenticación

En Connect, el componente envía un paquete SERVERDATA_AUTH con la contraseña configurada y espera SERVERDATA_AUTH_RESPONSE. OnAuthenticate informa del éxito o el fallo.

Ejecución de comandos

ExecCommand envía SERVERDATA_EXECCOMMAND con el comando de consola solicitado. La respuesta del servidor llega como OnResponse con el cuerpo del paquete parseado.

Respuestas multi-paquete

Source RCON divide las respuestas grandes en varios paquetes — el componente las reensambla usando el truco del sentinel de respuesta vacía y expone una única cadena concatenada.

Amplio soporte de juegos

Funciona con todos los servidores que implementan el protocolo Source RCON: Counter-Strike, Garry's Mod, ARK: Survival Evolved, Rust, Squad, Project Zomboid, Minecraft (mediante plugins) y muchos más.

TCP plano, texto plano

A diferencia de los componentes WebSocket de este sitio, RCON es un componente TCP en bruto (framing binario little-endian). No se requiere transporte WebSocket.

Resiliencia

Engancha OnDisconnect y OnError para gestionar caídas remotas o rechazos de contraseña. Vuelve a llamar a Connect para autenticarte de nuevo.

Especificaciones y referencias

Fuentes oficiales del protocolo que este componente implementa.

Documentación y Demos

Enlace directo a la referencia del componente, descarga el proyecto demo listo para ejecutar y consigue la prueba gratuita.

Ayuda en línea — RCON Referencia completa de propiedades, métodos y eventos de este componente.
Proyecto demo — Demos\50.Other\02.RCON Proyecto de ejemplo listo para ejecutar. Se incluye dentro del paquete sgcWebSockets Ready-to-run example project. Ships inside the sgcWebSockets package — download the trial below.mdash; descarga la prueba a continuación.
Documento técnico (PDF) Características, inicio rápido, ejemplos de código para Delphi y C++ Builder y referencias a fuentes primarias Features, quick start, code samples for Delphi & C++ Builder and primary-source references — this component only.mdash; solo de este componente.
Manual de usuario (PDF) Manual completo que cubre todos los componentes de la librería.

¿Listo para administrar servidores de juego de forma remota?

Descarga la prueba gratuita y ejecuta comandos RCON desde tus aplicaciones Delphi.