Я думаю, все расчеты должны производиться на сервере и он должен сообщать клиентам положение их и соседних кораблей(в области видимости).
Например: сервер, клиент1, клиент2
начальное положение: клиент1 - 0 ед., клиент2 - 10
На сервере проходит тик(итерация), допустим корабли перемещаются на 2 ед.
Сервер делает рассылку(броадкаст) по эвенту либо по пинг-запросу
клиент1 получает: позиция клиент1 - 2 ед., позиция клиент2 - 12 ед.
клиент2 получает: позиция клиент1 - 2 ед., позиция клиент2 - 12 ед.
Как только клиенты получают эту информацию, они её отображают(перемещают модели и т.п.).
Таким образом сервер всегда знает точные положения кораблей, исключена возможность считерить и послать серверу информацию о ненастоящем местоположении.
(Справедливости ради скажу, что к геймдеву не имею никакого отношения)