A partir do sgcWebSockets 4.5.1 o protocolo RCON é compatível. O Source RCON Protocol é um protocolo de comunicação baseado em TCP/IP usado pelo Source Dedicated Server, que permite que comandos de console sejam enviados ao servidor por meio de um "console remoto", ou RCON. O uso mais comum do RCON é permitir que proprietários de servidores controlem seus servidores de jogos sem acesso direto à máquina em que o servidor está rodando.
Configuração
As RCON_Options permitem configurar as seguintes propriedades:
- Host: endereço remoto do servidor.
- Port: porta de escuta do servidor.
- Password: é a string secreta usada para autenticar no servidor
Conectar
Use a propriedade Active para conectar / desconectar do servidor.
Quando Active é definido como True, o cliente tenta se conectar ao servidor; se conseguir conectar, ele tentará autenticar usando a senha fornecida.
O servidor enviará uma resposta a uma requisição de autenticação, o evento OnAuthenticate será chamado e você pode ler se a autenticação foi bem-sucedida ou não usando o parâmetro Authenticate.
Enviar comandos
Use o método ExecCommand para enviar comandos ao servidor. As respostas estarão disponíveis no 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;
