во-первых: не ясно как работает метод getOneUserWhoSearchingGame и как вы шарите данные о пользователях между клиентскими сессиями. В php каждая сессия изолированна от другой. Немногое, что можно тут придумать, это использовать базу, кэш, или какой то другой внешний ресурс.
Во-вторых: такие вещи очень странно писать на php. php хорошо, для чего то простого, когда к вам пришли с каким то запросом, вы его тут же отработали и все. Так что я бы вам ооочень порекомендовал отказаться от php и посмотреть на что то другое, например: Go, Python, Java... даже, не худой конец NodeJS прости госпади =)
На php конечно можно это сделать, но это будет мир костылей