Source RCON 协议
通过二进制 RCON 协议向 Source 引擎游戏服务器(Counter-Strike、Garry's Mod、ARK、Rust、Minecraft 等)发送已验证的远程控制台命令。
通过二进制 RCON 协议向 Source 引擎游戏服务器(Counter-Strike、Garry's Mod、ARK、Rust、Minecraft 等)发送已验证的远程控制台命令。
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(通过插件)等。
与本站的 WebSocket 组件不同,RCON 是原始 TCP 组件(二进制小端帧格式),不需要 WebSocket 传输。
绑定 OnDisconnect 和 OnError 以处理远程断开或密码拒绝。重新调用 Connect 以重新验证身份。
本组件实现协议的权威来源。