Из книги пьес 90-х годов: одним из клиентов может быть сервер;другие клиенты (в той же локальной сети) подключаются к нему.
Он не будет хорошо работать вне локальной сети из-за NAT.
Обычно вам необходимо запустить выделенный сервер где-нибудь, что позволит пользователям подключаться и маршрутизировать сообщения между ними.
Естественно, вы захотите запустить всю игровую логику на сервере и оставить клиентам только отображение состояния и пользовательский ввод.
Кроме того, на одном сервере может размещаться несколько игр.
В плане реализации сервер сокетов из стандартной библиотеки будет хорошим началом;HTTP-сервер из той же стандартной библиотеки, запуск еще проще.