缺少来自节点中子进程的信息
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 但我找不到任何相关信息,也尝试过像 message
和 log
这样的听众,但他们中的任何一个都检索到了信息。
知道如何获得所有这些信息吗?谢谢!
解决方案是:
- 这个Node.js程序只是用子进程
执行服务器
- 一旦服务器 运行 直接通过 RCON Protocol
进行通信
就这么简单,我不需要从头开始构建一个巨大的程序,使用 RCON 协议我可以读取所有输出并发送命令,就像我在游戏控制台中所做的那样。
我正在 运行使用 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 但我找不到任何相关信息,也尝试过像 message
和 log
这样的听众,但他们中的任何一个都检索到了信息。
知道如何获得所有这些信息吗?谢谢!
解决方案是:
- 这个Node.js程序只是用子进程 执行服务器
- 一旦服务器 运行 直接通过 RCON Protocol 进行通信
就这么简单,我不需要从头开始构建一个巨大的程序,使用 RCON 协议我可以读取所有输出并发送命令,就像我在游戏控制台中所做的那样。