diff --git a/cluster_rcon.js b/cluster_rcon.js new file mode 100644 index 00000000..bfffde5b --- /dev/null +++ b/cluster_rcon.js @@ -0,0 +1,33 @@ +const needle = require("needle"); +const config = require("./config.json"); + +const masterIP = `${config.masterIP}:${config.masterPort}`; +const token = config.masterAuthToken +let commandArray = process.argv; +commandArray.shift(); +commandArray.shift(); +const needleOptionsWithTokenAuthHeader = { + headers: { + 'x-access-token': token, + }, +}; + +let command = commandArray.join(" "); +let killBiters = `/silent-command local surface=game.surfaces[1] for key, entity in pairs(surface.find_entities_filtered({force="enemy"})) do entity.destroy() end`; + +(async ()=>{ + needle.post(masterIP+"/api/runCommand", { + broadcast:true, + command, + }, needleOptionsWithTokenAuthHeader, (err, resp) => { + console.log(resp.body) + }); + // setInterval(()=>{ + // needle.post(masterIP+"/api/runCommand", { + // broadcast:true, + // command: killBiters, + // }, needleOptionsWithTokenAuthHeader, (err, resp) => { + // console.log(resp.body) + // }); + // }, 1000*60*5); +})(); \ No newline at end of file diff --git a/master.js b/master.js index c030f57c..9b7a4407 100644 --- a/master.js +++ b/master.js @@ -758,6 +758,8 @@ if(args.masterPort || config.masterPort){ /* Websockets for remoteMap */ var io = require("socket.io")(server); +const ioMetrics = require("socket.io-prometheus"); +ioMetrics(io); var slaveMappers = {}; class slaveMapper { constructor(instanceID, socket) { diff --git a/package.json b/package.json index 3a39e4f9..dfc5977e 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,7 @@ "single-line-log": "^1.1.2", "socket.io": "^2.0.4", "socket.io-client": "^2.0.4", + "socket.io-prometheus": "^0.2.1", "sync-request": "^4.0.1", "underscore": "^1.8.3" },