В наши дни почти все домашние пользователи находятся за формой NAT , из-за чего практически невозможно установить реальную одноранговую связь, поскольку порт прослушивания приложения недоступен из сети.
Теоретически существует UPnP , который позволяет приложениям (работающим с повышенными привилегиями) динамически разрешать переадресацию портов на домашнем маршрутизаторе (через Протокол шлюза интернет-шлюза ), но на практике это настолько ненадежен, что я не видел его реального использования.
Самое надежное решение - иметь центральный концентратор (ваш игровой сервер), который пересылает пакеты между клиентами, которые инициируют соединение из-за устройства NAT. Но это серьезная цена для вас, так как вам нужно будет обналичить стоимость предоставления и эксплуатации этих хабов, которые могут быть серьезными, даже с такими динамичными своевременными решениями, как EC2.
Обновление
Возможно, вы можете использовать Codeplex UPnP NAT travelral project .