Switch to 'rcon' package instead of 'mbr-rcon'
This commit is contained in:
parent
44af9c4a4b
commit
a309997899
88
index.js
88
index.js
|
@ -1,7 +1,7 @@
|
||||||
const Config = require('./config/config');
|
const Config = require('./config/config');
|
||||||
const Servers = require('./config/servers');
|
const Servers = require('./config/servers');
|
||||||
const Discord = require('discord.js');
|
const Discord = require('discord.js');
|
||||||
const Rcon = require('mbr-rcon');
|
const Rcon = require('rcon');
|
||||||
const Query = require("minecraft-query");
|
const Query = require("minecraft-query");
|
||||||
const Server = require('./includes/class_server');
|
const Server = require('./includes/class_server');
|
||||||
|
|
||||||
|
@ -109,61 +109,41 @@ client.on('message', async msg => {
|
||||||
let serverStatus = "Stopped";
|
let serverStatus = "Stopped";
|
||||||
let serverTPS = "---";
|
let serverTPS = "---";
|
||||||
if ( server.rconPort != 0 ) {
|
if ( server.rconPort != 0 ) {
|
||||||
const rcon = new Rcon({
|
var rcon = new Rcon(server.rconAddress, server.rconPort, server.rconPassword);
|
||||||
host: server.rconAddress,
|
rcon.on('auth', function() {
|
||||||
port: server.rconPort,
|
serverStatus = "Running";
|
||||||
pass: server.rconPassword,
|
rcon.send(server.rconTPSCommand);
|
||||||
onClose: function () {}
|
}).on('response', function(response) {
|
||||||
});
|
if ( ['1.2.5', '1.4.7'].includes(server.mcVersion) ) {
|
||||||
const connection = rcon.connect({
|
let tpsParts = response.trim().split("\n");
|
||||||
onSuccess: function() {
|
serverTPS = tpsParts[0].split(" ").pop().slice(2);
|
||||||
serverStatus = "Running";
|
} else {
|
||||||
},
|
let tpsParts = response.trim().split(" ");
|
||||||
onError: function() {
|
serverTPS = tpsParts.pop();
|
||||||
console.log("Could not connect to rcon server: " + server.name + " " + server.rconAddress + " " + server.rconPort);
|
if ( serverTPS.includes("*") ) serverTPS = serverTPS.split("*").pop();
|
||||||
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS);
|
|
||||||
}
|
}
|
||||||
});
|
const q = new Query({host: server.rconAddress, port: server.queryPort, timeout: 250});
|
||||||
connection.auth({
|
try {
|
||||||
onSuccess: function () {
|
q.fullStat()
|
||||||
// Don't need to do anything on successful auth to rcon
|
.then(response => {
|
||||||
},
|
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS, response);
|
||||||
onError: function (error) {
|
})
|
||||||
console.log("Could not authenticate to rcon server: " + server.name + " " + server.rconAddress + " " + server.rconPort);
|
.then(() => { q.close(); })
|
||||||
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS);
|
.catch(e => {
|
||||||
|
q.close();
|
||||||
|
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS);
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
}
|
}
|
||||||
|
}).on('error', function(err) {
|
||||||
|
console.log("RCon Error connecting to '" + server.slug + "': " + err);
|
||||||
|
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS);
|
||||||
|
}).on('end', function() {
|
||||||
|
console.log("RCon connection to '" + server.slug + "' Failed for some unknown reason");
|
||||||
|
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS);
|
||||||
});
|
});
|
||||||
await connection.send(server.rconTPSCommand, {
|
rcon.connect();
|
||||||
onSuccess: function (response) {
|
|
||||||
if ( ['1.2.5', '1.4.7'].includes(server.mcVersion) ) {
|
|
||||||
let tpsParts = response.trim().split("\n");
|
|
||||||
serverTPS = tpsParts[0].split(" ").pop().slice(2);
|
|
||||||
} else {
|
|
||||||
let tpsParts = response.trim().split(" ");
|
|
||||||
serverTPS = tpsParts.pop();
|
|
||||||
if ( serverTPS.includes("*") ) serverTPS = serverTPS.split("*").pop();
|
|
||||||
}
|
|
||||||
const q = new Query({host: server.rconAddress, port: server.queryPort, timeout: 250});
|
|
||||||
try {
|
|
||||||
q.fullStat()
|
|
||||||
.then(response => {
|
|
||||||
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS, response);
|
|
||||||
})
|
|
||||||
.then(() => { q.close(); })
|
|
||||||
.catch(e => {
|
|
||||||
q.close();
|
|
||||||
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS);
|
|
||||||
});
|
|
||||||
} catch (e) {
|
|
||||||
console.log(e);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onError: function (error) {
|
|
||||||
console.log("Could not query rcon server: " + server.name + " " + server.rconAddress + " " + server.rconPort);
|
|
||||||
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
connection.close();
|
|
||||||
} else {
|
} else {
|
||||||
console.log("No rcon settings for: " + server.name);
|
console.log("No rcon settings for: " + server.name);
|
||||||
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS);
|
server.sendDetails(msg.channel, hostStatus, serverStatus, serverTPS);
|
||||||
|
@ -181,4 +161,4 @@ client.on('message', async msg => {
|
||||||
|
|
||||||
client.login(Config.BOT_TOKEN);
|
client.login(Config.BOT_TOKEN);
|
||||||
|
|
||||||
// vim: ts=4:sw=4
|
// vim: set ts=4 sw=4:
|
||||||
|
|
1371
package-lock.json
generated
1371
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
22
package.json
22
package.json
|
@ -14,19 +14,19 @@
|
||||||
"license": "GPL-2.0-only",
|
"license": "GPL-2.0-only",
|
||||||
"description": "Discord Bot for CircleCraft",
|
"description": "Discord Bot for CircleCraft",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"async-limiter": "^2.0.0",
|
"async-limiter": ">=2.0.0",
|
||||||
"discord.js": "^12.1.1",
|
"discord.js": "^12.1.1",
|
||||||
"long": "^4.0.0",
|
"long": ">=4.0.0",
|
||||||
"prism-media": "^1.2.1",
|
"prism-media": ">=1.2.1",
|
||||||
"node-fetch": "^2.6.0",
|
"node-fetch": ">=2.6.0",
|
||||||
"tweetnacl": "^1.0.3",
|
"tweetnacl": ">=1.0.3",
|
||||||
"ws": "^7.2.3",
|
"ws": ">=7.2.3",
|
||||||
"moment": "^2.24.0",
|
"moment": ">=2.24.0",
|
||||||
"net-ping": "^1.2.3",
|
"net-ping": ">=1.2.3",
|
||||||
"mbr-rcon": "^1.1.0",
|
"rcon": ">=1.1.0",
|
||||||
"minecraft-query": "^1.0.9"
|
"minecraft-query": ">=1.0.9"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"nodemon": "^2.0.2"
|
"nodemon": ">=2.0.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user