В зависимости от того, насколько высок ваш сервер и сколько у вас пользователей, вы можете сделать так, чтобы он отправлял запрос на ваш сервер всякий раз, когда пользователь что-то делает (перемещается, нажимает кнопку, что угодно). Из этого запроса обновите таблицу SQL, указав время последнего действия.
Пропустите задание cron через таблицу через некоторый регулярный интервал и удалите сеансы пользователей, которые были неактивны, независимо от того, каким будет ваш порог.
Если ваш сервер работает медленно или у вас много пользователей, этот скрипт может запускаться не часто.