Depuis sgcWebSockets 4.5.1, le protocole RCON est pris en charge. Le protocole Source RCON est un protocole de communication basé sur TCP/IP utilisé par Source Dedicated Server, qui permet d'émettre des commandes console vers le serveur via une « console distante », ou RCON. L'utilisation la plus courante de RCON est de permettre aux propriétaires de serveurs de contrôler leurs serveurs de jeu sans accès direct à la machine sur laquelle le serveur tourne.
Configuration
Les RCON_Options permettent de configurer les propriétés suivantes :
- Host : adresse distante du serveur.
- Port : port d'écoute du serveur.
- Password : chaîne secrète utilisée pour s'authentifier auprès du serveur.
Connexion
Utilise la propriété Active pour te connecter / déconnecter du serveur.
Quand Active est défini à True, le client essaie de se connecter au serveur, s'il y parvient, il tentera de s'authentifier avec le mot de passe fourni.
Le serveur enverra une réponse à une requête d'authentification, l'événement OnAuthenticate sera appelé et tu pourras lire si l'authentification a réussi ou non via le paramètre Authenticate.
Envoyer des commandes
Utilise la méthode ExecCommand pour envoyer des commandes au serveur. Les réponses seront disponibles via l'événement 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;
