缺少来自节点中子进程的信息

Missing information from Child Process in Node

我正在 运行使用 Node.js 通过子进程模块创建反恐精英:源专用服务器,如下所示:

var spawn = require('child_process').spawn;
const server = spawn('./srcds_run', ['-game cstrike', '+map de_dust2', '+maxplayers 10'])
server.on('error', function (error){
    console.log(error);
});
server.stdout.on('data', (data) => {
    console.log(`server stdout:\n${data}`);
});
server.stderr.on('data', (data) => {
    console.error(`server stderr:\n${data}`);
});

服务器 运行 非常好,我可以加入并玩游戏,但我在控制台中缺少服务器必须 return 的信息。

如果我从控制台手动 运行 服务器,它会显示所有 this info。 但是如果我 运行 它从这个节点应用程序只显示 this info (我用的是pastebin,因为行太多直接贴在这里)

我遗漏了我想要的最重要的信息,它们是所有以 L 字符开头的行,它们是服务器日志,告诉我每场比赛中发生的所有事情。

我读了 documentation 但我找不到任何相关信息,也尝试过像 messagelog 这样的听众,但他们中的任何一个都检索到了信息。

知道如何获得所有这些信息吗?谢谢!

解决方案是:

  1. 这个Node.js程序只是用子进程
  2. 执行服务器
  3. 一旦服务器 运行 直接通过 RCON Protocol
  4. 进行通信

就这么简单,我不需要从头开始构建一个巨大的程序,使用 RCON 协议我可以读取所有输出并发送命令,就像我在游戏控制台中所做的那样。