Heu, non, je ne pensais pas stocker tous les évènements en BDD (ce serait possible mais effectivement lourd). Simplement, pourquoi ne pas remplacer ton booléen "connecté / pas connecté" par un datetime "dernière activité"? Et considérer "NOW() - dernière activité > 15minutes → joueur présent" ?
(la table que je te présente utilise ce système pour stocker la dernière activité des sessions PHP des joueurs, ce que j'avais cru être ta structure, tu peux reprendre le même principe avec id_joueur (INT) | ... tes colonnes actuelles ... | date_activite (DATETIME))
PS: tu peux même utiliser une colonne virtuelle "est actif", qui fait le calcul "NOW() - dernière activité", ou une vue (mais ce sont deux techniques un peu plus poussées, t'es pas obligé de plonger dedans direct).
(la table que je te présente utilise ce système pour stocker la dernière activité des sessions PHP des joueurs, ce que j'avais cru être ta structure, tu peux reprendre le même principe avec id_joueur (INT) | ... tes colonnes actuelles ... | date_activite (DATETIME))
PS: tu peux même utiliser une colonne virtuelle "est actif", qui fait le calcul "NOW() - dernière activité", ou une vue (mais ce sont deux techniques un peu plus poussées, t'es pas obligé de plonger dedans direct).