diff --git a/server/model/monitor.js b/server/model/monitor.js index 2848a0cb9..1a986cd62 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -19,7 +19,7 @@ const { UptimeKumaServer } = require("../uptime-kuma-server"); const { CacheableDnsHttpAgent } = require("../cacheable-dns-http-agent"); const { DockerHost } = require("../docker"); const { UptimeCacheList } = require("../uptime-cache-list"); -const Gamedig = require("gamedig"); +const { GameDig } = require("gamedig"); const jsonata = require("jsonata"); const jwt = require("jsonwebtoken"); const crypto = require("crypto"); @@ -722,12 +722,13 @@ class Monitor extends BeanModel { } } else if (this.type === "gamedig") { try { - const state = await Gamedig.query({ + const state = await GameDig.query({ type: this.game, host: this.hostname, port: this.port, givenPortOnly: this.getGameDigGivenPortOnly(), }); + console.log(state); bean.msg = state.name; bean.status = UP; diff --git a/server/socket-handlers/general-socket-handler.js b/server/socket-handlers/general-socket-handler.js index b3163c1c1..bb4d348c2 100644 --- a/server/socket-handlers/general-socket-handler.js +++ b/server/socket-handlers/general-socket-handler.js @@ -2,29 +2,34 @@ const { log } = require("../../src/util"); const { Settings } = require("../settings"); const { sendInfo } = require("../client"); const { checkLogin } = require("../util-server"); -const GameResolver = require("gamedig/lib/GameResolver"); +const { games } = require("gamedig"); const { testChrome } = require("../monitor-types/real-browser-monitor-type"); -let gameResolver = new GameResolver(); -let gameList = null; - /** * Get a game list via GameDig * @returns {Object[]} list of games supported by GameDig */ function getGameList() { - if (gameList == null) { - gameList = gameResolver._readGames().games.sort((a, b) => { - if ( a.pretty < b.pretty ) { - return -1; - } - if ( a.pretty > b.pretty ) { - return 1; - } - return 0; - }); - } - return gameList; + let gamelist = []; + gamelist = Object.keys(games).map(key => { + const item = games[key]; + return { + keys: [key ], + pretty: item.name, + options: item.options, + extra: item.extra || {} + }; + }); + gamelist.sort((a, b) => { + if ( a.pretty < b.pretty ) { + return -1; + } + if ( a.pretty > b.pretty ) { + return 1; + } + return 0; + }); + return gamelist; } module.exports.generalSocketHandler = (socket, server) => {