test
This commit is contained in:
parent
30f68e307d
commit
e2e2daa710
@ -10,6 +10,7 @@ let checkInterval = null;
|
|||||||
let isMonitoring = false;
|
let isMonitoring = false;
|
||||||
let isConnecting = false;
|
let isConnecting = false;
|
||||||
let connectionTimestamp = null;
|
let connectionTimestamp = null;
|
||||||
|
let monitoringStartTimestamp = null; // Timestamp du démarrage du monitoring (ne change pas lors des reconnexions)
|
||||||
|
|
||||||
// Backoff de reconnexion
|
// Backoff de reconnexion
|
||||||
let reconnectDelayMs = 5000;
|
let reconnectDelayMs = 5000;
|
||||||
@ -308,12 +309,16 @@ const connectWebSocket = async (pterodactylToken, serverId) => {
|
|||||||
const logTimestamp = new Date(timestampMatch[1]).getTime();
|
const logTimestamp = new Date(timestampMatch[1]).getTime();
|
||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
|
|
||||||
// Ignorer uniquement les messages très anciens (>15 min) pour éviter de traiter l'historique complet
|
// Protection 1: Ignorer les messages très anciens (>15 min) pour éviter l'historique complet
|
||||||
// mais garder les messages récents même s'ils sont antérieurs à la connexion WebSocket
|
|
||||||
// (cas où le serveur redémarre et le WebSocket reçoit des logs juste avant le redémarrage)
|
|
||||||
if (now - logTimestamp > 15 * 60 * 1000) {
|
if (now - logTimestamp > 15 * 60 * 1000) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Protection 2: Ignorer les messages antérieurs au démarrage du monitoring
|
||||||
|
// (évite de traiter les vieux codes lors du redémarrage du bot)
|
||||||
|
if (monitoringStartTimestamp && logTimestamp < monitoringStartTimestamp) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const linkData = parseLogMessage(log);
|
const linkData = parseLogMessage(log);
|
||||||
@ -409,6 +414,8 @@ const startConsoleMonitoring = (discordClient, pterodactylToken) => {
|
|||||||
|
|
||||||
client = discordClient;
|
client = discordClient;
|
||||||
isMonitoring = true;
|
isMonitoring = true;
|
||||||
|
monitoringStartTimestamp = Date.now();
|
||||||
|
console.log(`📅 Démarrage du monitoring: ${new Date(monitoringStartTimestamp).toISOString()}`);
|
||||||
resetReconnectBackoff();
|
resetReconnectBackoff();
|
||||||
|
|
||||||
const serverId = process.env.PTERODACTYL_SERVER_ID;
|
const serverId = process.env.PTERODACTYL_SERVER_ID;
|
||||||
@ -441,6 +448,7 @@ const stopConsoleMonitoring = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
isMonitoring = false;
|
isMonitoring = false;
|
||||||
|
monitoringStartTimestamp = null;
|
||||||
console.log('🔌 Surveillance de la console arrêtée');
|
console.log('🔌 Surveillance de la console arrêtée');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user