mirror of
https://github.com/Sithranduil/srcds_exporter.git
synced 2025-07-22 23:28:26 +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) {
|
setMetrics(response) {
|
||||||
const rank = response.rank || 0;
|
const rank = response ? response.rank : 0;
|
||||||
metrics.gametrackerRank.set((Number(rank)));
|
metrics.gametrackerRank.set((Number(rank)));
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@@ -4,6 +4,31 @@ import sourcepython from './sourcepython.js';
|
|||||||
import registry from './registry.js';
|
import registry from './registry.js';
|
||||||
import game from './game.js';
|
import game from './game.js';
|
||||||
import gametracker from './gametracker.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 {
|
export default {
|
||||||
async request(config, client) {
|
async request(config, client) {
|
||||||
@@ -14,7 +39,6 @@ export default {
|
|||||||
const infoResponse = await game.requeseInfo(client, config.game);
|
const infoResponse = await game.requeseInfo(client, config.game);
|
||||||
const statsResponse = await game.requestStats(client, config.game);
|
const statsResponse = await game.requestStats(client, config.game);
|
||||||
const statusResponse = await game.requestStatus(client, config.game);
|
const statusResponse = await game.requestStatus(client, config.game);
|
||||||
const gameTrackerResponse = await gametracker.request(config.ip, config.port);
|
|
||||||
if (config.metamod) {
|
if (config.metamod) {
|
||||||
metamodResponse = await metamod.request(client);
|
metamodResponse = await metamod.request(client);
|
||||||
}
|
}
|
||||||
@@ -31,7 +55,7 @@ export default {
|
|||||||
metamod: metamodResponse,
|
metamod: metamodResponse,
|
||||||
sourcemod: sourcemodResponse,
|
sourcemod: sourcemodResponse,
|
||||||
sourcepython: sourcepythonResponse,
|
sourcepython: sourcepythonResponse,
|
||||||
gametracker: gameTrackerResponse,
|
gametracker: gameTrackerResponse[`${config.ip}:${config.port}`],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user