Files
srcds_exporter/utils/utils.js

38 lines
895 B
JavaScript

import got from 'got';
import jsdom from 'jsdom';
export default {
parseCvar(value) {
const cvar = this.getLine(value);
const cvarRegex = RegExp('^\\"(.*)\\" = \\"([^\\"]*)\\"(.*)$');
const res = cvarRegex.exec(cvar);
return {
name: res[1],
value: res[2],
extra: res[3],
};
},
getLine(value, line = 1) {
return value.split('\n', line)[line - 1];
},
searchLine(value, stringToSearch) {
const lines = value.split('\n');
return lines.filter((line) => line.includes(stringToSearch));
},
async rconCommand(client, command) {
try {
return client.send(command);
} catch (err) {
throw err;
}
return null;
},
isValidResponse(response) {
return !response.includes('Unknown');
},
async requestGameTracker(ip, port) {
const response = await got(`https://www.gametracker.com/server_info/${ip}:${port}`);
return new jsdom.JSDOM(response.body);
},
};