Protocollo Source RCON

Invia comandi di console remoti autenticati a server di gioco basati su Source (Counter-Strike, Garry's Mod, ARK, Rust, Minecraft, ...) tramite il protocollo binario RCON.

TsgcLib_RCON

Client TCP per il protocollo binario Source RCON — autenticati con la password del server, invia comandi exec, analizza la risposta.

Classe del componente

TsgcLib_RCON

Piattaforme

Windows, macOS, Linux, iOS, Android

Edizione

Standard / Professional / Enterprise

Imposta host e password, invia comandi

Imposta host, porta e password su TsgcLib_RCON, connetti, autenticati, quindi chiama ExecCommand per ogni comando di 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");

Cosa contiene

Implementa il protocollo binario Valve Source RCON (SERVERDATA_AUTH / SERVERDATA_EXECCOMMAND) su TCP semplice.

Autenticazione

Al Connect il componente invia un pacchetto SERVERDATA_AUTH con la password configurata e attende SERVERDATA_AUTH_RESPONSE. OnAuthenticate segnala successo o fallimento.

Esecuzione dei comandi

ExecCommand invia SERVERDATA_EXECCOMMAND con il comando di console richiesto. La risposta del server arriva come OnResponse con il corpo del pacchetto analizzato.

Risposte multi-pacchetto

Source RCON divide le risposte grandi su più pacchetti — il componente le riassembla usando il trucco della sentinella a risposta vuota ed espone una singola stringa concatenata.

Ampio supporto di giochi

Funziona con ogni server che implementa il protocollo Source RCON: Counter-Strike, Garry's Mod, ARK: Survival Evolved, Rust, Squad, Project Zomboid, Minecraft (tramite plugin) e molti altri.

TCP semplice, testo semplice

A differenza dei componenti WebSocket di questo sito, RCON è un componente TCP raw (framing binario little-endian). Non è richiesto alcun trasporto WebSocket.

Resilienza

Collega OnDisconnect e OnError per gestire disconnessioni remote o rifiuti della password. Richiama Connect per autenticarti di nuovo.

Specifiche e riferimenti

Fonti autorevoli per il protocollo che questo componente implementa.

Documentazione e demo

Collegamenti diretti al riferimento del componente, progetto demo pronto all'uso e download della versione di prova.

Guida online — RCON Riferimento completo di proprietà, metodi ed eventi di questo componente.
Progetto demo — Demos\50.Other\02.RCON Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto.
Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti alle fonti primarie — solo questo componente.
Manuale utente (PDF) Manuale completo che copre ogni componente della libreria.

Pronto a gestire server di gioco da remoto?

Scarica la versione di prova gratuita ed esegui comandi RCON dalle tue applicazioni Delphi.