Ab sgcWebSockets 4.5.1 wird das RCON-Protokoll unterstützt. Das Source RCON-Protokoll ist ein TCP/IP-basiertes Kommunikationsprotokoll, das von Source Dedicated Server verwendet wird und es ermöglicht, Konsolenbefehle über eine "Remote-Konsole" (RCON) an den Server zu senden. Die häufigste Verwendung von RCON besteht darin, Serverbesitzern die Steuerung ihrer Game-Server zu ermöglichen, ohne direkten Zugriff auf die Maschine zu haben, auf der der Server läuft.
Konfiguration
Die RCON_Options ermöglichen die Konfiguration der folgenden Eigenschaften:
- Host: Remote-Adresse des Servers.
- Port: Lauschender Port des Servers.
- Password: die geheime Zeichenkette zur Authentifizierung gegenüber dem Server
Verbinden
Verwende die Eigenschaft Active, um eine Verbindung zum Server herzustellen oder zu trennen.
Wenn Active auf True gesetzt wird, versucht der Client, sich mit dem Server zu verbinden. Bei erfolgreichem Verbindungsaufbau versucht er, sich mit dem angegebenen Passwort zu authentifizieren.
Der Server sendet eine Antwort auf die Authentifizierungsanfrage; das Ereignis OnAuthenticate wird aufgerufen und du kannst über den Parameter Authenticate auslesen, ob die Authentifizierung erfolgreich war oder nicht.
Befehle senden
Verwende die Methode ExecCommand, um Befehle an den Server zu senden. Die Antworten sind im Ereignis OnResponse verfügbar.
oRCON := TsgcLib_RCON.Create(nil);
oRCON.RCON_Options.Host := '127.0.0.1';
oRCON.RCON_Options.Port := 25575;
oRCON.RCON_Options.Password := 'test';
oRCON.Active := True;
procedure OnAuthenticate(Sender: TObject; Authenticated: Boolean; const aPacket: TsgcRCON_Packet);
begin
if Authenticated then
DoLog('#authenticated')
else
DoLog('#not authenticated');
end;
procedure OnResponse(Sender: TObject; const aResponse: string; const aPacket: TsgcRCON_Packet);
begin
DoLog(aResponse);
end;
