Страницы

Поиск по вопросам

среда, 29 января 2020 г.

Защита игры от взлома

#разработка_игр #клиент_сервер #защита


Никогда не разрабатывал игры, интересует такой вопрос, допустим есть клиент игры
в котором есть персонаж "лучник" который стреляет со скоростью 1 выстрел в 1 секунду,
если с помощью программы(например hlapex) поймать пакет который отвечает за выстрел,
и отсылать его каждые 0.1 то лучник получается будет делать 10 выстрелов в 1 секунду?
То есть на сервере нужно проверять когда был последний выстрел и если следующий выстрел
слишком быстро произошел, то блокировать этот выстрел? Или я что-то не понимаю и выстрелы
не отправляются? Вообщем может кто-то объяснить?
    


Ответы

Ответ 1



Все верно. Учитывай время между запросами. Блокируй если "выстрелы" приходят при меньшем таймауте чем разрешено.

Ответ 2



Насколько я знаю, хорошей практикой считается не отправка на сервер пакета с действием как например "Выстрел", а отправка пакета "Начал стрельбу" по нажатию клавиши и "Закончил стрельбу" по отпусканию клавиши. Скорость атаки, количество выстрелов и всё остальное при этом будет считаться на сервере, пока идёт стрельба. Как минимум такой подход защитит от ситуации, описанной в вашем вопросе.

Комментариев нет:

Отправить комментарий