"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QueryManager = void 0; const steam_server_query_1 = require("steam-server-query"); const config_1 = require("./config"); const logger_1 = require("./logger"); const logger = (0, logger_1.getLogger)("QueryManager"); class QueryManager { constructor(processManager) { this.processManager = processManager; } start() { logger.debug("Query Manager gestartet"); setInterval(() => { this.updateQueries(); }, config_1.WRAPPER_QUERY_INTERVAL); } async updateQueries() { const servers = this.processManager.getServers(); for (const server of servers) { try { const info = await (0, steam_server_query_1.queryGameServerInfo)(`127.0.0.1:${server.queryPort}`); server.players = info.players; server.maxPlayers = info.maxPlayers; logger.debug("Query erfolgreich:", server.name, `${server.players}/${server.maxPlayers}`); } catch (err) { logger.warn("Query fehlgeschlagen:", server.name); } } } getStatus() { return this.processManager .getServers() .map(server => ({ id: server.id, players: server.players, maxPlayers: server.maxPlayers })); } } exports.QueryManager = QueryManager;