Source RCON 协议

通过二进制 RCON 协议向 Source 引擎游戏服务器(Counter-Strike、Garry's Mod、ARK、Rust、Minecraft 等)发送已验证的远程控制台命令。

TsgcLib_RCON

Source RCON 二进制协议的 TCP 客户端——使用服务器密码进行身份验证,发送执行命令并解析响应。

组件类

TsgcLib_RCON

支持平台

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 命令。