Delphi RCON-client

· Componenten

Vanaf sgcWebSockets 4.5.1 wordt het RCON-protocol ondersteund. Het Source RCON-protocol is een op TCP/IP gebaseerd communicatieprotocol dat wordt gebruikt door Source Dedicated Server, waarmee console-commando's aan de server kunnen worden gegeven via een "remote console", oftewel RCON. Het meest gebruikelijke gebruik van RCON is om serverbeheerders hun gameservers te laten besturen zonder directe toegang tot de machine waarop de server draait.

Configuratie 

Met RCON_Options kun je de volgende eigenschappen configureren:


Verbinden

Gebruik de eigenschap Active om verbinding te maken met of te verbreken van de server.

Wanneer Active op True wordt gezet, probeert de client verbinding te maken met de server. Als de verbinding tot stand komt, probeert hij te authenticeren met het opgegeven wachtwoord.

De server stuurt een antwoord op een authenticatie-request. Het event OnAuthenticate wordt aangeroepen en je kunt via de parameter Authenticate uitlezen of de authenticatie is geslaagd of niet.


Commando's versturen 

Gebruik de methode ExecCommand om commando's naar de server te sturen. De antwoorden zijn beschikbaar in het event OnResponse.

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;