Bis vor kurzem wurden leer stehende Lobbies nie gelöscht und es häufte sich immer eine längere Liste an. Nebst dem Referee befasste ich mich mit dem Löschen der Lobbies. Da ich zuvor am Referee gearbeitet habe, welcher stark mit der Lobbyklasse korreliert, konnte ich nun mein Verständnis für diese Klasse vertiefen.
Unser Game hatte bisher eine Lobbyloop, welche ein Mal pro Sekunde durchlaufen wird, wenn das eigentliche Spiel startet. Ich habe die Loop so umgeschrieben, dass sie schon bei der Eröffung der Lobby startet. Die Lobby hat den Status "open". Die Lobby realisiert jeden Eintritt und speichert den Zeitpunkt des letzten Eintritts. Befindet sich seit dem letzten Eintritt und dem jetzigen Zeitpunkt eine Zeitspanne von mehr als zwei Minuten, so löscht sich die Lobby aus der Lobbyliste und ein neues Paket mit der neuen Lobbyliste wird an alle Clients, welche nicht in der Lobby sind, versendet. Wird ein Spiel tatsächlich gestartet, so nimmt die Lobby den Status "running" an. Die Loop verhält sich entsprechend ihrem Status und wiederholt sich solange bis der Lobbystatus zu "finished" wechselt.