id_joueur INT | session_hash BINARY | last_activity DATETIME
Et tu INSERT ON DUPLICATE KEY UPDATE dans cette table le n° du joueur, le HASH de sa session (ben oui, le n° de session, c'est un mot de passe, temporaire, et stocké en clair, ce n'est pas très propre) ainsi que NOW()
Après, tu n'as plus qu'à récupérer les lignes de cette tables "suffisamment récentes" (à toi de choisir un délais cohérent avec le jeu: 5 min? 15 min? etc) pour savoir qui est connecté.
Oublie le message sur la croix du navigateur, c'est de la merde ergonomique en barre.
La durée de péremption de la session ne changera rien car il s'agit de session PHP, gérées par PHP: si le mec n'est pas connecté, la session n'expirera pas toute seule (et même si elle expire, aka si le fichier des données de la session était supprimé, tu n'as pas de notification pour le sauver en BDD).
Et tu INSERT ON DUPLICATE KEY UPDATE dans cette table le n° du joueur, le HASH de sa session (ben oui, le n° de session, c'est un mot de passe, temporaire, et stocké en clair, ce n'est pas très propre) ainsi que NOW()
Après, tu n'as plus qu'à récupérer les lignes de cette tables "suffisamment récentes" (à toi de choisir un délais cohérent avec le jeu: 5 min? 15 min? etc) pour savoir qui est connecté.
Oublie le message sur la croix du navigateur, c'est de la merde ergonomique en barre.
La durée de péremption de la session ne changera rien car il s'agit de session PHP, gérées par PHP: si le mec n'est pas connecté, la session n'expirera pas toute seule (et même si elle expire, aka si le fichier des données de la session était supprimé, tu n'as pas de notification pour le sauver en BDD).