Delphi RCON クライアント

· コンポーネント

sgcWebSockets 4.5.1 から RCON プロトコルがサポートされています。Source RCON プロトコルは Source Dedicated Server で使用される TCP/IP ベースの通信プロトコルで、「リモートコンソール(RCON)」を介してサーバーにコンソールコマンドを送信できます。RCON の最も一般的な用途は、サーバーが稼働しているマシンに直接アクセスすることなく、サーバーオーナーがゲームサーバーを管理できるようにすることです。

Configuration 

RCON_Options では次のプロパティを設定できます。


Connect

サーバーへの接続・切断には Active プロパティを使用します。

Active を True に設定すると、クライアントはサーバーへの接続を試みます。接続できた場合は、提供されたパスワードを使って認証を試みます。

認証リクエストに対するサーバーの応答として OnAuthenticate イベントが呼び出され、Authenticate パラメーターで認証の成否を確認できます。


Send Commands 

サーバーへのコマンド送信には ExecCommand メソッドを使用します。応答は 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;