sgcWebSockets 4.5.1 sürümünden itibaren RCON protokolü desteklenmektedir. Source RCON Protokolü, Source Dedicated Server tarafından kullanılan, konsol komutlarının sunucuya bir "uzak konsol" (remote console) veya RCON aracılığıyla verilmesine olanak tanıyan TCP/IP tabanlı bir iletişim protokolüdür. RCON'un en yaygın kullanımı, sunucu sahiplerinin sunucunun çalıştığı makineye doğrudan erişim olmadan oyun sunucularını kontrol etmelerine olanak tanımaktır.
Yapılandırma
RCON_Options, aşağıdaki özellikleri yapılandırmaya olanak tanır:
- Host: sunucu uzak adresi.
- Port: sunucunun dinleme bağlantı noktası.
- Password: sunucuya karşı kimlik doğrulamak için kullanılan gizli dizedir
Bağlanma
Sunucuya Bağlanmak / Sunucudan Bağlantıyı Kesmek için Active özelliğini kullanın.
Active True olarak ayarlandığında, istemci sunucuya bağlanmayı dener; bağlanabilirse, sağlanan parolayı kullanarak kimlik doğrulamayı dener.
Sunucu, bir Kimlik Doğrulama isteğine yanıt gönderecektir; OnAuthenticate olayı çağrılacaktır ve Authenticate parametresini kullanarak kimlik doğrulamasının başarılı olup olmadığını okuyabilirsiniz.
Komut Gönderme
Sunucuya komut göndermek için ExecCommand metodunu kullanın. Yanıtlar OnResponse Olayında kullanılabilir olacaktır.
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;
