Source RCON プロトコル

バイナリ RCON プロトコル経由で、Source エンジンのゲームサーバー (Counter-Strike、Garry's Mod、ARK、Rust、Minecraft など) に認証済みのリモートコンソールコマンドを送信します。

TsgcLib_RCON

Source RCON バイナリプロトコル向けの TCP クライアントです。サーバーパスワードで認証し、exec コマンドを送信して、応答をパースします。

コンポーネントクラス

TsgcLib_RCON

プロトコル

Source RCON Protocol

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Standard / Professional / Enterprise

ホストとパスワードを設定し、コマンドを送信する

TsgcLib_RCON にホスト、ポート、パスワードを設定し、接続して認証したうえで、コンソールコマンドごとに ExecCommand を呼び出します。

uses
  sgcLibs;

var
  RCON: TsgcLib_RCON;
begin
  RCON := TsgcLib_RCON.Create(nil);
  RCON.Host     := 'gameserver.example.com';
  RCON.Port     := 27015;
  RCON.Password := 'rcon-password';

  RCON.OnResponse := procedure(Sender: TObject;
    const aResponse: string; const aPacket: TsgcRCON_Packet)
  begin
    Memo1.Lines.Add(aResponse);
  end;

  RCON.Connect;
  RCON.ExecCommand('status');
  RCON.ExecCommand('sv_gravity 800');
end;
// uses: sgcLibs
TsgcLib_RCON *RCON = new TsgcLib_RCON(this);
RCON->Host     = "gameserver.example.com";
RCON->Port     = 27015;
RCON->Password = "rcon-password";

RCON->Connect();
RCON->ExecCommand("status");

主な構成

プレーンな TCP 上で Valve Source RCON バイナリプロトコル (SERVERDATA_AUTH / SERVERDATA_EXECCOMMAND) を実装します。

認証

Connect 時にコンポーネントは設定済みパスワードを含む SERVERDATA_AUTH パケットを送信し、SERVERDATA_AUTH_RESPONSE を待機します。成否は OnAuthenticate で通知されます。

コマンド実行

ExecCommand は要求されたコンソールコマンドを含む SERVERDATA_EXECCOMMAND を送信します。サーバーからの応答はパース済みのパケット本体とともに OnResponse として届きます。

マルチパケット応答

Source RCON は大きな応答を複数パケットに分割します。コンポーネントは空応答センチネルの手法を用いてそれらを再構成し、連結された単一の文字列として返します。

幅広いゲームサポート

Source RCON プロトコルを実装するあらゆるサーバー (Counter-Strike、Garry's Mod、ARK: Survival Evolved、Rust、Squad、Project Zomboid、Minecraft (プラグイン経由) など) で動作します。

プレーン TCP、プレーンテキスト

本サイトの WebSocket コンポーネントとは異なり、RCON は生の TCP コンポーネント (バイナリのリトルエンディアンフレーミング) です。WebSocket トランスポートは不要です。

レジリエンス

リモート切断やパスワード拒否を処理するには OnDisconnectOnError をフックします。再認証するには Connect を再度呼び出してください。

仕様とリファレンス

本コンポーネントが実装するプロトコルの信頼できる一次情報源です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、体験版のダウンロードを提供します。

オンラインヘルプ — RCON 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。
デモプロジェクト — Demos\50.Other\02.RCON すぐに実行可能なサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。以下から体験版をダウンロードしてください。
技術ドキュメント (PDF) 本コンポーネントに特化した機能解説、クイックスタート、Delphi および C++ Builder のコードサンプル、一次情報源リファレンスを収録しています。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。

ゲームサーバーをリモート管理する準備はできましたか?

体験版をダウンロードして、Delphi アプリケーションから RCON コマンドを実行しましょう。