我正在为 Insurgency(源引擎游戏)专用服务器编写 RCON 客户端。我正在使用RCON protocol由 Valve 定义,用于所有使用 Source 引擎的游戏。我可以成功地将命令发送到服务器,并显示服务器对这些命令的响应。但是,我不知道如何读取或请求游戏内控制台显示的提要(其中包含我主要感兴趣的部分:killfeed)。我已经考虑过向服务器查询可能发送提要的请求,但没有列出此类功能。
我将如何从服务器检索控制台提要?
最佳答案
您无法通过 RCON 从服务器请求控制台源。
<小时/>我想到了两种替代解决方案:
保存服务器应用程序的输出
Insurgency(或大多数源服务器)将您要查找的信息打印到stdout。保存此输出的最优雅的解决方案是通过systemd启动服务器并通过journalctl从syslog读取它。
作为一个更简单的解决方案,您可以使用管道将其写入文件:
./start_server.sh > output.log
或者,如果您仍想查看打印输出:
./start_server.sh | tee output.log
<小时/>
使用sourcemod
你可以写一个 sourcemod -插件,或使用记录和提供这些信息的现有插件。 SuperLogs 我想到了插件,但我已经很长时间没有使用它了。这将需要更多的工作。
<小时/>我已经使用第一个解决方案很长时间了。请注意,Insurgency 缓冲输出,并且仅在缓冲区已满时才写入,这会导致20 分钟及以上的延迟。这可以通过在 Insurgency 配置中设置 sv_logflush 1
来改进。
关于java - 在 rcon 客户端上显示来自游戏服务器的控制台源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47947337/