On login, make a database row in a temporary table. After X time, it will log them out. That'll be handled by functions or maybe even a cron. Now from that table, make a cron that runs at the top of the hour that will add the games to the row and soforth.