Гленн Фидлер, бывший сотрудник Respawn, где проработал в качестве главного программиста над Taitanfall, и ведущим сетевым программистом в Sony Santa Monica до этого, написал заметку в блоге, в которой рассказал о том, как в The Division организован обмен данными между игроками и сервером.
Фидлер подозревает, что обмет происходит с помощью “модели доверенной сетевой загрузки”, которая и может быть причиной некоторых эксплойтов, которые продолжают появляться.
Он привел в пример одно видео, которое показывает игрока, использующего Cheat Engine на PC, чтобы найти адреса памяти и использовать их, давая игроку бесконечное здоровье, боеприпасы и т. д.
Дело в том, что не все так просто и нельзя добавив проверку на сервере решить эту проблему. Топовые FPS, такие как CS, Titanfall используют усовершенствованный подход, который был использовал еще в Quake.
Эта модель сети имеет две основные функции, которые вы, наверное, слышали: прогнозирование со стороны клиента, так что игроки не чувствуют отставания в их собственных действиях (движение, стрельба и т. д.), и задержки. Но что особенно важно, решение о том, попали ли вы в игрока в момент выстрела, принимается на сервер, не на клиенте.
Получается, что сервер выступает в качестве “реальной игры”, и никогда не доверяет входящим данным поголовно. Сервер принимает данные от всех клиентов и работает с ними одновременно. Под влиянием всех этих данных сервер и регистрирует попадание.
Например, если отправлены данные от игрока, что он, удерживает кнопку огня, сервер выполняет тот же код полученный от игрока, то есть воспроизводит ситуацию, но с учетом скорострельности оружия, количества патронов в оружие, и так далее.
Другими словами если игрок попытается изменить кол-во патронов в оружие и отослать эти данные на сервер, то сервер проигнорирует их, и будет сверятся с своим “эталоном”. Вы можете прочитать остальную часть записи Фидлера по ссылке. В The Divison, по всей видимости, все данные принимаются без разбора, что и приводит к появлению “читов” и “уязвимостей”.
Войдите чтобы оставить комментарий.
ВойтиЕще не зарегистрированы? Регистрация здесь.