test
This commit is contained in:
parent
986c6a8170
commit
2d21878598
@ -23,7 +23,9 @@ const CREDENTIALS_REFRESH_INTERVAL = 55 * 60 * 1000; // Rafraîchir toutes les 5
|
|||||||
|
|
||||||
// Suivi des joueurs connectés (fallback si la console n’affiche pas les déconnexions)
|
// Suivi des joueurs connectés (fallback si la console n’affiche pas les déconnexions)
|
||||||
const connectedPlayers = new Map(); // steamId -> { name, playerId, lastSeen }
|
const connectedPlayers = new Map(); // steamId -> { name, playerId, lastSeen }
|
||||||
|
// Suivi des logs déjà traités pour éviter les doublons
|
||||||
|
const processedLogs = new Set(); // Garde les 500 derniers logs traités
|
||||||
|
const MAX_PROCESSED_LOGS = 500;
|
||||||
const parseLogMessage = (log) => {
|
const parseLogMessage = (log) => {
|
||||||
// Format réel de log Palworld:
|
// Format réel de log Palworld:
|
||||||
// [2025-12-09 13:28:23] [CHAT] <LouisMazin> !link X2NMAY
|
// [2025-12-09 13:28:23] [CHAT] <LouisMazin> !link X2NMAY
|
||||||
@ -373,6 +375,11 @@ const connectWebSocket = async (pterodactylToken, serverId) => {
|
|||||||
if (message.event === 'console output') {
|
if (message.event === 'console output') {
|
||||||
const log = message.args[0];
|
const log = message.args[0];
|
||||||
|
|
||||||
|
// Protection 0: Vérifier si ce log a déjà été traité (évite les doublons lors des 'send logs' répétés)
|
||||||
|
if (processedLogs.has(log)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const isChatMessage = log.includes('[CHAT]');
|
const isChatMessage = log.includes('[CHAT]');
|
||||||
|
|
||||||
// Extraire le timestamp du log
|
// Extraire le timestamp du log
|
||||||
@ -394,6 +401,15 @@ const connectWebSocket = async (pterodactylToken, serverId) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Marquer ce log comme traité
|
||||||
|
processedLogs.add(log);
|
||||||
|
|
||||||
|
// Limiter la taille du Set pour éviter une fuite mémoire
|
||||||
|
if (processedLogs.size > MAX_PROCESSED_LOGS) {
|
||||||
|
const firstItem = processedLogs.values().next().value;
|
||||||
|
processedLogs.delete(firstItem);
|
||||||
|
}
|
||||||
|
|
||||||
// Détecter si c'est un message de chat
|
// Détecter si c'est un message de chat
|
||||||
if (isChatMessage) {
|
if (isChatMessage) {
|
||||||
console.log(`💬 [CONSOLE] Message de chat détecté: ${log.substring(0, 100)}`);
|
console.log(`💬 [CONSOLE] Message de chat détecté: ${log.substring(0, 100)}`);
|
||||||
@ -602,6 +618,7 @@ const stopConsoleMonitoring = () => {
|
|||||||
|
|
||||||
isMonitoring = false;
|
isMonitoring = false;
|
||||||
monitoringStartTimestamp = null;
|
monitoringStartTimestamp = null;
|
||||||
|
processedLogs.clear(); // Nettoyer le cache des logs traités
|
||||||
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