我正在尝试为Unturned编写一个管理工具(它是一个僵尸生存游戏)。该游戏的服务器在终端中运行。我想以某种方式获得该控制台的实时输出,同时能够写入终端,以便我可以使用我在node.js中编写的管理工具来控制服务器。我试图谷歌/搜索解决方案,但我不完全确定要寻找什么。到目前为止,我用child_process尝试了不同的东西,但无济于事。这样的事情是否可能,何时是如此?
const spawn = require('child_process').spawn;
const proc = spawn("Unturned.exe", ["-batchmode", "-nographics", "+secureserver/servername", "", "", "", ]);
proc.stdout.on('data', (data) => {
console.log(data);
});
proc.stderr.on('data', (data) => {
console.log(data);
});
proc.on('exit', (code) => {
console.log(`Child exited with code ${code}`);
});
和另一个。
const spawn = require('child_process').spawn;
const proc = spawn("Unturned.exe", ["-batchmode", "-nographics", "+secureserver/servername", "", "", "", ], { stdio: ['pipe', 'pipe', 'pipe'] });
proc.stdout.on('data', (data) => {
console.log("stdout: "+data);
});
proc.stderr.on('data', (data) => {
console.log("stderr: "+data);
});
proc.on('exit', (code) => {
console.log(`Child exited with code ${code}`);
});
两者都不起作用(第一个没有输入/输出,第二个甚至没有成功启动服务器。)
提前致谢。
答案 0 :(得分:0)
您确定Unturned.exe
正在向stdout
和stderr
发送输出。你能这样做:Unturned.exe -batchmode -nographics +secureserver/servername >data.txt
?