Любые данные / вычисления, обработанные в JavaScript в браузере, будут небезопасными, так как весь код выполняется на локальной машине. Я бы порекомендовал перечислить все параметры, важные для честного игрового опыта, такие как позиция игрока, счет, ресурсы ... и вычислить управление этими параметрами на стороне сервера. Вы должны только собирать пользовательские данные из браузера и отправлять обновленное состояние в браузер для отображения.
Даже если вы решите вычислить некоторые значения на стороне браузера, чтобы избежать задержки, вы не должны принимать их во внимание для общего состояния, разделяемого игроками, и вы должны ресинхронизировать локальное состояние с глобальным состоянием - всегда в направлении время от времени - от глобального к локальному.
Как и при обычной обработке форм, вам также следует проверить, что значения, отправляемые браузером для пользовательских вводимых данных, попадают в разумные пределы, например относительное движение за одну секунду меньше определенного расстояния.