JackShcherbakov
@JackShcherbakov

Как решить проблему с подделкой координат в браузерном мультиплеере?

Здравствуйте! Есть идея - сделать мультиплеерную игру. Моя задача - сделать так, что бы 2 игрока видели передвижения друг друга на своих мониторах. Я хочу реализовать это путем переслыания JSON с координатами каждого игрока друг другу. Графика будет реализована на HTML и CSS. У каждого игрока будет свой файл на вебсервере, который и будет управлять всем (да, я знаю, что так делать лучш не надо, но чисто в практических целях я хочу сделать именно так, хотя в дальнейшем, разумеется, я это изменю)

Проблема вот в чем - каждый игрок может открыть консоль и изменить свои координаты на любые другие, что приведет к изменению общего JSON, таким образом другой игрок увидит все эти магические перемещения.

Как защититься от этого? Заранее благодарю.
  • Вопрос задан
  • 169 просмотров
Решения вопроса 2
  • @MaxKorz
    Я хочу реализовать это путем переслыания JSON с координатами каждого игрока друг другу.

    У каждого игрока будет свой файл на вебсервере, который и будет управлять всем

    Вы уж определитесь, вы реализуете серверное общение (с помощью сокетов) или пиринговое (с помощью webrtc). Пока у вас какая-то каша.

    Вообще, каким образом изменение координат в консоли одного игрока должно обновить данные у другого игрока?

    В общем:
    1. Информация (координаты) должны храниться на сервере
    2. Игрок посылает команду обновления координат на сервер
    3. Если новые координаты валидны (изменение в пределах допустимого), сервер рассылает новые координаты всем игрокам.
    Ответ написан
  • rishatsharafiev
    @rishatsharafiev
    React/Redux, Django
    Проверять, чтобы он не прошел от предыдущей координаты, больше чем на одну клетку на север, юг, восток, запад, северо-запад и т.п. (всего 9 направлений), и не двигать его дальше, пока не получит ответ от сервера, что координата валидна. Подойдет формула для вычисления расстояния между двумя точками в двухмерном пространстве. При иных условиях, если требуется больше клеток за раз в игре, уже нужно искать баланс, между безопасностью и функционалом, например, можно увеличить лимит разовых переходов до 2-3 шагов.
    287.gif
    Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы