Если бы это был я, я бы построил его с нуля с розетками. Количество отправляемых данных очень мало, а пошаговый характер делает небольшую задержку незаметной.
На мой взгляд, вопрос в том, какие дополнительные функции вам нужны. Продолжаются ли сеансы игры (кто-то может бросить и присоединиться, можно ли сохранить игру и т. Д.)? Если вы выполняете сохранение в стиле Civilization, вы, вероятно, захотите отправить данные сохранения всем клиентам или иметь встроенную клиентскую сторону для сохранения с предоставленным сервером ключом для проверки.
Вам нужны какие-либо отчеты между ходами, например, «Игрок 2 перемещает юнит» или «Ваш противник может быть АФК»? Если это так, вы можете в конечном итоге захотеть оставить соединения сокетов открытыми.
Вообще говоря, если нет какой-либо веской причины отклоняться, я бы сделал сервер как можно более тупым и простым. Оставляет меньше для отладки. Мне также нравится использовать простые текстовые протоколы, так как я могу тестировать свои серверы, используя telnet без реального игрового клиента (что может быть подозрительно в данной проблеме), но это как бы поощряет манипулирование данными Wireshark (что вы, вероятно, будете проверить в любом случае).
Изменить: Если игра поддерживает только игры 1-на-1, одноранговые соединения, возможно, стоит посмотреть.