我正在通过子进程模块运行带有Node.js的Counter-Strike:Source Dedicated Server:
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}`);
});
服务器运行得很好,我可以加入其中并玩游戏,但是我丢失了服务器必须在控制台中返回的信息。
如果我从控制台手动运行服务器,它将显示所有this info。 但是,如果我从该节点运行它,则该Node应用程序仅显示this info (我使用pastebin是因为有太多行要直接粘贴在这里)
我缺少了我想要的最重要的信息,即以L
字符开头的所有行,它们是服务器日志,告诉我每场比赛中发生的一切。
我阅读了documentation,但找不到任何信息,还尝试了message
和log
之类的侦听器,但其中的任何一个都检索到信息。
知道如何获取所有这些信息吗?谢谢!
答案 0 :(得分:1)
解决方案是:
就这么简单,我不需要从头开始构建一个庞大的程序,借助RCON协议,我可以像在游戏机控制台中一样读取所有输出并发送命令。