This commit is contained in:
Louis Mazin 2026-01-07 21:34:04 +01:00
parent 30f68e307d
commit e2e2daa710

View File

@ -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');
}; };