было бы неплохо увидеть, как далеко вы зашли, прежде чем ответить (как хммм предложил вам в комментарии), но я могу сказать вам кое-что теоретическое по этому поводу. Речь идет о клиент-серверном приложении, в котором серверу необходимо обрабатывать результат действий клиентов. Что я могу предложить, так это узнать о REST API, который вы можете использовать, чтобы позволить клиенту и серверу легко общаться. Ваши клиенты будут отправлять HTTP-запросы к API-интерфейсам, предоставляемым сервером. Из того, что вы написали, у вас есть в основном ограничения, которые следует соблюдать во время взаимодействия клиента и сервера, здесь повторяется:
Кто-то ищет ваш IP-адрес и отправляет вам запрос
Вы получили вызов, который вы отклоняете или принимаете; только если вы примете вызов, вы можете начать игру
Как видно из спецификаций проекта, весь механизм испытания зависит от вас, так что вы можете решить, что лучше для вас.
Я бы начал думать о возможном протоколе, который будет использовать REST API для начала начального взаимодействия между клиентом и сервером и позволит вам определить базовый c механизм вызова. Наслаждайтесь программированием :).