Protocolo Source RCON

Envie comandos de console remoto autenticados para servidores de jogos baseados na Source-engine (Counter-Strike, Garry's Mod, ARK, Rust, Minecraft, ...) pelo protocolo binário RCON.

TsgcLib_RCON

Cliente TCP para o protocolo binário Source RCON — autentique-se com a senha do servidor, envie comandos exec, analise a resposta.

Classe do componente

TsgcLib_RCON

Plataformas

Windows, macOS, Linux, iOS, Android

Edição

Standard / Professional / Enterprise

Defina host e senha, envie comandos

Defina o host, a porta e a senha em TsgcLib_RCON, conecte, autentique e então chame ExecCommand para cada comando de console.

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");

O que tem dentro

Implementa o protocolo binário Valve Source RCON (SERVERDATA_AUTH / SERVERDATA_EXECCOMMAND) sobre TCP puro.

Autenticação

No Connect, o componente envia um pacote SERVERDATA_AUTH com a senha configurada e aguarda SERVERDATA_AUTH_RESPONSE. OnAuthenticate informa sucesso ou falha.

Execução de comandos

ExecCommand envia SERVERDATA_EXECCOMMAND com o comando de console solicitado. A resposta do servidor chega como OnResponse com o corpo do pacote já analisado.

Respostas multi-pacote

O Source RCON divide respostas grandes em vários pacotes — o componente os recompõe usando o truque do sentinel de resposta vazia e entrega uma única string concatenada.

Amplo suporte a jogos

Funciona com qualquer servidor que implemente o protocolo Source RCON: Counter-Strike, Garry's Mod, ARK: Survival Evolved, Rust, Squad, Project Zomboid, Minecraft (via plugins) e muitos outros.

TCP puro, texto puro

Diferente dos componentes WebSocket deste site, o RCON é um componente TCP bruto (framing binário little-endian). Nenhum transporte WebSocket é necessário.

Resiliência

Conecte OnDisconnect e OnError para lidar com quedas remotas ou rejeições de senha. Chame Connect novamente para reautenticar.

Especificações e referências

Fontes oficiais para o protocolo que este componente implementa.

Documentação e demos

Acesse a referência do componente, baixe o projeto de demonstração pronto para executar e obtenha a versão de avaliação.

Ajuda online — RCON Referência completa de propriedades, métodos e eventos deste componente.
Projeto de demonstração — Demos\50.Other\02.RCON Projeto de exemplo pronto para executar. Vem dentro do pacote sgcWebSockets — baixe a versão de avaliação abaixo.
Documento técnico (PDF) Recursos, início rápido, exemplos de código para Delphi e C++ Builder e referências oficiais — apenas este componente.
Manual do usuário (PDF) Manual completo cobrindo cada componente da biblioteca.

Pronto para gerenciar servidores de jogos remotamente?

Baixe a avaliação gratuita e execute comandos RCON a partir de suas aplicações Delphi.