Цитата:
Так именно по "долбежке в серв" и киляйте сатрапов. Статистически.
|
Сейчас этой проблемы нет, поскольку 100% вычислений проводятся на сервере, т.е., вопрос чисто защиты сервера. Все, что может прислать хакер на сервер, может прислать и обычный пользователь через клиент, так что выигрыш, который имеет хакер, заключается в увеличении количества игровых сессий за счет автоматизации (обычный игрок не способен играть 24 раза в сутки через каждый час, ему спать надо, а программа - может). Но издержки несущественны. Кроме того, уже не превый раз наблюдаю занятную тенденцию - читеры/хакеры сначала закидывают в приложение 200-300 голосов, а потом уже шкодят. Т.е., получается "он, конечно, сукин сын, но это наш сукин сын". :)
В прошлом участвовал как-то в проекте, где были парные гонки по кольцевым трассам и там защитить ничего не удалось (простого варианта не нашлось и заказчик принял решение не тратить на защиту времени), естественно, достаточно быстро пришли накрутчики, поскольку за первые места в топе были заявлены реальные призы.
А данную тему я завел с исключительно практическим вопросом - есть целые классы игр, где вычисления все равно приходится вести на клиенте (TD-лишь один класс из них) и было бы удобно для всех, если была надежная возможность как-то верифицировать итоги баттлов/соревнований без последующего воспроизведения этих баттлов/соревнований на стороне сервера.
Очевидно (мне, по крайней мере), если баттл ограничен по времени (например, 1 минута, после которой любой ответ клиента считается невалидным), а клиент-серверный обмен построен таким образом, что сообщение клиента с итогами баттла зависит от данных сервера, которые постоянно меняются, и каждый новый баттл требует нового осмысления для хакера, что ему присылать на сервер (т.е., автоматизация существенно затруднена), то хак такой игры просто будет не интересен из-за своей сложности. Останется пара психов, которых можно будет без проблем отстрелить из базуки.