mirror of
https://github.com/Sithranduil/srcds_exporter.git
synced 2025-07-22 14:28:27 +02:00
Optimisation des requetes vers gametracker (un fichier de config est désormais nécessaire)
This commit is contained in:
55
config.js
Normal file
55
config.js
Normal file
@@ -0,0 +1,55 @@
|
||||
export default {
|
||||
gametrackerShedule: 3600, // Request gametracker every hours
|
||||
servers: [
|
||||
// cstrike:only_de_dust2
|
||||
{
|
||||
ip: '87.98.155.38',
|
||||
port: 27016,
|
||||
},
|
||||
// cstrike:zm_full_ammo
|
||||
{
|
||||
ip: '87.98.152.38',
|
||||
port: 27015,
|
||||
},
|
||||
// cstrike:free_for_all
|
||||
{
|
||||
ip: '87.98.181.40',
|
||||
port: 27015,
|
||||
},
|
||||
// cstrike:gungame
|
||||
{
|
||||
ip: '87.98.155.38',
|
||||
port: 27017,
|
||||
},
|
||||
// cstrike:surf
|
||||
{
|
||||
ip: '188.165.178.187',
|
||||
port: 27015,
|
||||
},
|
||||
// cstrike:ze
|
||||
{
|
||||
ip: '188.165.178.180',
|
||||
port: 27016,
|
||||
},
|
||||
// csgo:bhop_t1_to_t2
|
||||
{
|
||||
ip: '188.165.178.160',
|
||||
port: 27015,
|
||||
},
|
||||
// csgo:bhop_t3_to_t5
|
||||
{
|
||||
ip: '188.165.178.162',
|
||||
port: 27015,
|
||||
},
|
||||
// csgo:only_de_dust2
|
||||
{
|
||||
ip: '188.165.178.187',
|
||||
port: 27035,
|
||||
},
|
||||
// csgo:zm_source
|
||||
{
|
||||
ip: '188.165.178.187',
|
||||
port: 27030,
|
||||
},
|
||||
],
|
||||
};
|
@@ -14,7 +14,7 @@ export default {
|
||||
};
|
||||
},
|
||||
setMetrics(response) {
|
||||
const rank = response.rank || 0;
|
||||
const rank = response ? response.rank : 0;
|
||||
metrics.gametrackerRank.set((Number(rank)));
|
||||
},
|
||||
};
|
||||
|
@@ -4,6 +4,31 @@ import sourcepython from './sourcepython.js';
|
||||
import registry from './registry.js';
|
||||
import game from './game.js';
|
||||
import gametracker from './gametracker.js';
|
||||
import conf from '../config.js';
|
||||
|
||||
const gameTrackerResponse = [];
|
||||
|
||||
function requestGameTrackerSchedule() {
|
||||
setTimeout(() => {
|
||||
conf.servers.forEach((server) => {
|
||||
requestGameTracker(server.ip, server.port);
|
||||
});
|
||||
requestGameTrackerSchedule();
|
||||
}, conf.gametrackerShedule * 1000);
|
||||
}
|
||||
|
||||
async function requestGameTracker(ip, port) {
|
||||
try {
|
||||
gameTrackerResponse[`${ip}:${port}`] = await gametracker.request(ip, port);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
requestGameTrackerSchedule();
|
||||
conf.servers.forEach((server) => {
|
||||
requestGameTracker(server.ip, server.port);
|
||||
});
|
||||
|
||||
export default {
|
||||
async request(config, client) {
|
||||
@@ -14,7 +39,6 @@ export default {
|
||||
const infoResponse = await game.requeseInfo(client, config.game);
|
||||
const statsResponse = await game.requestStats(client, config.game);
|
||||
const statusResponse = await game.requestStatus(client, config.game);
|
||||
const gameTrackerResponse = await gametracker.request(config.ip, config.port);
|
||||
if (config.metamod) {
|
||||
metamodResponse = await metamod.request(client);
|
||||
}
|
||||
@@ -31,7 +55,7 @@ export default {
|
||||
metamod: metamodResponse,
|
||||
sourcemod: sourcemodResponse,
|
||||
sourcepython: sourcepythonResponse,
|
||||
gametracker: gameTrackerResponse,
|
||||
gametracker: gameTrackerResponse[`${config.ip}:${config.port}`],
|
||||
};
|
||||
},
|
||||
|
||||
|
Reference in New Issue
Block a user