在 rcon 客户端上显示来自游戏服务器的控制台提要

Displaying console feed from game server on rcon client

我正在为 Insurgency(Source 引擎游戏)专用服务器编写 RCON 客户端。我正在使用由 Valve 定义的 RCON protocol,它用于所有使用 Source 引擎的游戏。我可以成功地向服务器发送命令,并显示服务器对这些命令的响应。但是,我不知道如何阅读或请求游戏内控制台显示的提要(其中包含我主要感兴趣的部分:killfeed)。我查看了向服务器查询发送提要的可能请求,但没有列出此类功能。

我将如何从服务器检索控制台提要?

您不能通过 RCON 从服务器请求控制台源。


想到两个备选解决方案:

保存服务器应用程序的输出

Insurgency(或大多数源服务器)将您正在寻找的信息打印到 stdout。保存此输出的最优雅的解决方案是通过 systemd 启动服务器并通过 journalctl[ 从 syslog 读取它=46=].

作为更简单的解决方案,您可以使用管道将其写入文件:

./start_server.sh > output.log

或者如果您仍想看到打印的输出:

./start_server.sh | tee output.log

使用 sourcemod

想到可以写一个sourcemod-plugin, or use an existing one that records and provides those information. The SuperLogs插件,但是好久没用了。这将大大增加工作量。


我已经使用第一个解决方案很长时间了。请注意,Insurgency 缓冲输出 并且仅在缓冲区已满时才写入,导致延迟 20 分钟或以上 。这可以通过在 Insurgency 配置中设置 sv_logflush 1 来改善。