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