Protokół Source RCON

Wysyłaj uwierzytelnione zdalne polecenia konsoli do serwerów gier opartych na silniku Source (Counter-Strike, Garry's Mod, ARK, Rust, Minecraft, ...) przez binarny protokół RCON.

TsgcLib_RCON

Klient TCP dla binarnego protokołu Source RCON — uwierzytelnij się hasłem serwera, wysyłaj polecenia exec, parsuj odpowiedzi.

Klasa komponentu

TsgcLib_RCON

Platformy

Windows, macOS, Linux, iOS, Android

Edycja

Standard / Professional / Enterprise

Ustaw host i hasło, wysyłaj polecenia

Ustaw host, port i hasło na TsgcLib_RCON, połącz, uwierzytelnij się, a następnie wywołaj ExecCommand dla każdego polecenia konsoli.

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

Co jest w środku

Implementuje binarny protokół Valve Source RCON (SERVERDATA_AUTH / SERVERDATA_EXECCOMMAND) przez zwykłe TCP.

Uwierzytelnianie

Przy Connect komponent wysyła pakiet SERVERDATA_AUTH ze skonfigurowanym hasłem i czeka na SERVERDATA_AUTH_RESPONSE. OnAuthenticate raportuje powodzenie lub niepowodzenie.

Wykonywanie poleceń

ExecCommand wysyła SERVERDATA_EXECCOMMAND z żądanym poleceniem konsoli. Odpowiedź serwera dociera jako OnResponse z przeanalizowaną zawartością pakietu.

Odpowiedzi wielopakietowe

Source RCON dzieli duże odpowiedzi na wiele pakietów — komponent ponownie je składa, korzystając z triku z pustą odpowiedzią-sygnałem, i zwraca pojedynczy połączony tekst.

Szerokie wsparcie gier

Działa z każdym serwerem implementującym protokół Source RCON: Counter-Strike, Garry's Mod, ARK: Survival Evolved, Rust, Squad, Project Zomboid, Minecraft (przez wtyczki) i wieloma innymi.

Zwykłe TCP, zwykły tekst

W przeciwieństwie do komponentów WebSocket na tej stronie, RCON jest komponentem czystego TCP (binarne ramkowanie little-endian). Transport WebSocket nie jest wymagany.

Odporność

Powiąż OnDisconnect i OnError, aby obsługiwać zerwania zdalne lub odrzucenia hasła. Ponownie wywołaj Connect, aby uwierzytelnić się ponownie.

Specyfikacje i źródła

Autorytatywne źródła protokołu implementowanego przez ten komponent.

Dokumentacja i dema

Bezpośredni link do dokumentacji komponentu, gotowy do uruchomienia projekt demo i pobieranie wersji próbnej.

Pomoc online — RCON Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu.
Projekt demo — Demos\50.Other\02.RCON Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej.
Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz źródła pierwotne — tylko ten komponent.
Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki.

Gotowy do zdalnego zarządzania serwerami gier?

Pobierz bezpłatną wersję próbną i uruchamiaj polecenia RCON z poziomu swoich aplikacji Delphi.