This commit is contained in:
Louis Mazin 2025-12-09 19:39:07 +01:00
parent 7728c35372
commit c9b2130ad8
2 changed files with 41 additions and 5 deletions

View File

@ -234,14 +234,16 @@ const connectWebSocket = async (pterodactylToken, serverId) => {
console.log(`❌ Impossible de trouver le Steam ID pour ${linkData.playerName}`); console.log(`❌ Impossible de trouver le Steam ID pour ${linkData.playerName}`);
} }
} else if (linkData.type === 'disconnect') { } else if (linkData.type === 'disconnect') {
// Extraire le Steam ID du userId (format: gdk_STEAMID)
try { try {
await updateLastConnection(linkData.userId); const result = await updateLastConnection(linkData.userId);
if (result.changes > 0) {
console.log(`✅ Dernière connexion mise à jour pour ${linkData.playerName} (${linkData.userId})`); console.log(`✅ Dernière connexion mise à jour pour ${linkData.playerName} (${linkData.userId})`);
} else {
console.log(` Aucun compte lié trouvé pour ${linkData.playerName} (${linkData.userId})`);
}
} catch (error) { } catch (error) {
console.error('Erreur lors de la mise à jour de la dernière connexion:', error); console.error('Erreur lors de la mise à jour de la dernière connexion:', error);
} }
} }
} }
} }

View File

@ -16,7 +16,41 @@ const initDatabase = async () => {
}); });
console.log('✅ Base de données connectée'); console.log('✅ Base de données connectée');
return pool;
const connection = getConnection();
// Table pour les codes de liaison temporaires
await connection.execute(`
CREATE TABLE IF NOT EXISTS link_codes (
id INT AUTO_INCREMENT PRIMARY KEY,
discord_id VARCHAR(20) NOT NULL,
code VARCHAR(6) NOT NULL UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
expires_at TIMESTAMP NOT NULL,
used BOOLEAN DEFAULT FALSE,
INDEX idx_code (code),
INDEX idx_discord_id (discord_id)
)
`);
// Table pour les liaisons confirmées
await connection.execute(`
CREATE TABLE IF NOT EXISTS user_links (
id INT AUTO_INCREMENT PRIMARY KEY,
discord_id VARCHAR(20) NOT NULL UNIQUE,
discord_username VARCHAR(100) NOT NULL,
steam_id VARCHAR(50) NOT NULL,
player_id VARCHAR(50),
palworld_username VARCHAR(100) NOT NULL,
linked_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
lastConnection TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_discord_id (discord_id),
INDEX idx_steam_id (steam_id),
INDEX idx_player_id (player_id)
)
`);
console.log('✅ Tables créées/vérifiées');
} catch (error) { } catch (error) {
console.error('❌ Erreur de connexion à la base de données:', error); console.error('❌ Erreur de connexion à la base de données:', error);
throw error; throw error;