This commit is contained in:
Louis Mazin 2025-12-09 19:34:07 +01:00
parent cf148ac01c
commit 90d2507cd0

View File

@ -141,19 +141,15 @@ const checkAndManageWebSocket = async () => {
try {
await cleanExpiredCodes();
const hasActiveCodes = await hasActiveLinkCodes();
if (hasActiveCodes && !ws && !isConnecting) {
console.log('🔌 Codes de liaison actifs détectés, connexion au WebSocket...');
// Le WebSocket doit toujours être connecté maintenant (pour les déconnexions)
if (!ws && !isConnecting) {
console.log('🔌 Connexion au WebSocket pour surveillance...');
const serverId = process.env.PTERODACTYL_SERVER_ID;
const pterodactylToken = process.env.PTERODACTYL_API_TOKEN;
await connectWebSocket(pterodactylToken, serverId);
} else if (!hasActiveCodes && ws) {
console.log('🔌 Aucun code actif, fermeture du WebSocket...');
stopWebSocketOnly();
}
} catch (error) {
console.error('Erreur lors de la vérification des codes actifs:', error);
console.error('Erreur lors de la vérification du WebSocket:', error);
}
};
@ -234,7 +230,7 @@ const connectWebSocket = async (pterodactylToken, serverId) => {
if (playerData) {
await handleLinkCommand(linkData.playerName, playerData, linkData.code);
setTimeout(() => checkAndManageWebSocket(), 2000);
// Ne plus vérifier si on doit fermer le WebSocket
} else {
console.log(`❌ Impossible de trouver le Steam ID pour ${linkData.playerName}`);
}
@ -278,6 +274,14 @@ const connectWebSocket = async (pterodactylToken, serverId) => {
clearInterval(heartbeatInterval);
heartbeatInterval = null;
}
// Tenter une reconnexion après 5 secondes
if (isMonitoring) {
console.log('🔄 Reconnexion dans 5 secondes...');
reconnectTimeout = setTimeout(() => {
checkAndManageWebSocket();
}, 5000);
}
});
} catch (error) {