Timeout jest prosty - zapisujesz o której godzinie gracz ostatni raz aktualizował sesję, a przy logowaniu robisz
$time = time() - 600; // 10 minut
$sql = "DELETE * FROM session WHERE last_time < {$time}";
W czasie, gdy nikt nie korzysta ze strony i tak nie ma znaczenia, że sesja nie jest skasowana, bo nikt nie czyta też bazy
Czy ten hosting dokleja reklamy również jak zrobisz:
<?php
header('Content-type: application/json');
echo json_encode(array('logged_in' => true));
Btw. ogólnie są małe hostingi za grosze dzisiaj (5zł miesięcznie) - więc może pomyśl nad tym? Np. tutaj https://www.webd.pl/ masz za 4 złote. Albo na https://az.pl/hosting/ masz za 15 zł rocznie (tylko poczytaj regulamin, czy to nie promocja a za rok 5x tyle skasują, aczkolwiek ja płacę 100 zł rocznie za dużo większe hostingi).
do