У вас есть проблема с многопоточностью, или вы спрашиваете, как спроектировать связь между сервером и клиентом?
Для проблемы со связью, есть простой подход: сервер периодически отправляет обновления каждому игроку,будь то через постоянно подключенное TCP-соединение или просто периодические старые ненадежные UDP-пакеты.Выбор того, какой из них использовать, будет зависеть от требований вашего приложения.Прочитайте о разнице между TCP и UDP - есть много, много мест, в том числе на SO (просто поиск), которые обсуждают компромиссы.Как только у вас будет обновление состояния сервера, и вы сможете убедиться, что это работает, предоставив серверу некоторое состояние сценария для отслеживания, вы можете отправить некоторые данные и другим способом.В зависимости от вашего приложения вам может потребоваться соблюдать осторожность: может ли игрок лгать серверу о своих действиях и т. Д.
В Java соединения часто выполняются с помощью классов Socket и ServerSocket или с помощьюклассы DatagramPacket и DatagramSocket.