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

标签 java source-engine

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

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

最佳答案

您无法通过 RCON 从服务器请求控制台源。

<小时/>

我想到了两种替代解决方案:

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

Insurgency(或大多数源服务器)将您要查找的信息打印到stdout。保存此输出的最优雅的解决方案是通过systemd启动服务器并通过journalctlsyslog读取它。

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

./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/

相关文章:

javax.net.ssl.SSLHandshakeException : sun. security.validator.ValidatorException:PKIX 路径构建失败:

javascript - 正则表达式匹配括号内关键字后的字符串

scripting - 在 TF2 脚本中转义双引号

java - 最佳 "free"JMS 实现(不会一直崩溃)

java - 获取未读短信数量的更快方法?

java - android 日历 API 与 android 的谷歌日历 API 相同吗?

java - 在 Groovy 中将整数转换为 BigDecimal