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

时间:2017-12-22 21:00:59

标签: java source-engine

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

如何从服务器检索控制台源?

1 个答案:

答案 0 :(得分:1)

您无法通过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来改善这一点。