A partir de sgcWebSockets 4.5.1 se admite el protocolo RCON. El Source RCON Protocol es un protocolo de comunicación basado en TCP/IP usado por Source Dedicated Server, que permite enviar comandos de consola al servidor mediante una "consola remota", o RCON. El uso más habitual de RCON es permitir que los propietarios de servidores controlen sus servidores de juego sin acceso directo a la máquina en la que se ejecuta el servidor.
Configuración
La propiedad RCON_Options permite configurar las siguientes propiedades:
- Host: dirección remota del servidor.
- Port: puerto de escucha del servidor.
- Password: cadena secreta usada para autenticarse contra el servidor.
Conectar
Usa la propiedad Active para conectar y desconectar del servidor.
Cuando Active se pone a True, el cliente intenta conectar con el servidor; si lo consigue, intentará autenticarse usando la contraseña indicada.
El servidor enviará una respuesta a la petición de autenticación; se llamará al evento OnAuthenticate y podrás comprobar si la autenticación ha sido correcta o no a través del parámetro Authenticate.
Enviar comandos
Usa el método ExecCommand para enviar comandos al servidor. Las respuestas estarán disponibles en el evento 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;
