Предотвратить игроков от взлома в онлайн FPS?

14

Почему мы до сих пор жалуемся на хакеров в многопользовательских шутерах от первого лица?

Разве нельзя выполнить отбор окклюзии для всех игроков на стороне сервера? Например, отправлять информацию игрока xyz клиенту только тогда, когда игрок виден в поле зрения клиента и не закрыт каким-либо объектом? Даже если геометрия столкновения очень и очень упрощена, в большинстве случаев читер не будет получать тактическую информацию.

Почему бы не сделать это?

Патрик Чачурски
источник

Ответы:

19

Думаете, вы отстаете сейчас? Просто подождите, пока вы не получите в реальном времени информацию об окклюзии с сервера. Теперь вы можете ходить из-за стены, и злоумышленники внезапно появятся, когда сервер подхватит и отправит вам обновленные данные окклюзии.

Так что мой саркастический комментарий говорит обо всем. Вероятно, основной причиной не делать этого является задержка и загрузка сервера. Если вы хотите, чтобы сервер знал, когда вам виден другой игрок, это означает, что сервер должен точно знать, на какую геометрию смотрит каждый игрок, и рассчитать эту окклюзию.

Я согласен, что такие подвиги, как взлом стены, могут сделать игру не веселой. И я вижу, что разработчики будут беспокоиться об этом, потому что они хотят сделать игру максимально интересной. Тем не менее, когда разработчики достигнут того момента, когда их противодействие мошенничеству / хаку уменьшает игровой процесс и / или удовлетворенность клиентов, они теряют гораздо больше клиентов, чем если бы они просто оставили его в покое . Смотрите DRM .

MichaelHouse
источник
3
+1 за убеждение, что противодействие мошенничеству / взлому никогда не должно уменьшать опыт невинного клиента.
doppelgreener
17

Это выполнимо, и было опробовано в исследованиях ранее; сравнение схем управления интересами см. по адресу http://dl.acm.org/citation.cfm?id=1230069.

Как сказал Байт56, для этого может потребоваться больше ресурсов ЦП, но это может снизить полосу пропускания и снизить вероятность взломов.

И, как сказал Байт56, область интересов, строго ограниченная областью окклюзии игрока, может снизить скорость отклика на стороне клиента: засады будут отображаться как минимум в два раза быстрее. Однако вы можете сделать область интересов игрока немного больше, чем область окклюзии, так что клиент получает засаду противника за несколько секунд до того, как это произойдет. Таким образом, взломы стен все еще возможны, но только в самый последний момент.

gentimouton
источник
Хорошо, спасибо за то, что привели некоторые реальные исследования к ответам. Добро пожаловать в GDSE.
MichaelHouse
4

Короткий ответ: да, отбор окклюзии на стороне сервера возможен, но часто это не делается из-за сложности и ограниченной выгоды.

Имейте в виду, что для большой части современных игр FPS полная окклюзия встречается редко. Персонажи в наши дни используют укрытия или прячутся в траве, а фактическая форма и камуфляж действительно влияют на видимость. Стены и коридоры все еще играют большую роль в онлайн-сражениях, но не так много, как в прошлые годы.

Игры с большим количеством тесных коридоров и непрозрачных поверхностей могут (иногда имеют) отбраковку окклюзии на сервере для фильтрации событий. Это просто не очень хорошо работает для больших открытых пространств и реалистичных игр с прикрытием / камуфляжем.

Хакерство на стенах также является лишь небольшой частью мошенничества в онлайн-играх, и исправление каждого отдельного взлома пока не работает должным образом. Лучшими подходами были просто высококачественные системы матчей и рейтинги игроков, которые отфильтровывают мошенников и уменьшают вероятность попадания в фрустрирующий матч.

Шон Миддледич
источник
-4

Не могут ли разработчики игр написать стороннюю программу, которая в основном берет на себя полный контроль над ПК и не позволяет загружать какие-либо сторонние программы во время игры? Разве они не должны загружать инжекторы после запуска игры и отображения в память? Так что просто черный список всего, что не связано с бегом. Они должны сделать тип UAC, чтобы остановить загрузку сервисов после загрузки игры.

Моя другая идея - полностью предотвратить хакерство - немного более сложна и включает в себя запуск игр, таких как операционная система Linux, работающая на Linux. По сути, игра вообще не будет использовать окна, а будет использовать собственную урезанную ОС, которая предназначена только для загрузки игр. Таким образом, геймеры могут хотеть потокового воспроизведения или проигрывать музыку во время игры, но этот новый способ запуска игры не позволит этого ... По большому счету, разработчики могут вносить в белый список программы и прочее, но я бы не стал беспокоиться ... вы пытаетесь играть в игра, если вы хотите многозадачность иметь рядом ноутбук и т. д. По сути, вы хотите запустить игру в режиме песочницы с шифрованием. Я думаю, что это так и называется. Это похоже на запуск игры в виртуальной временной среде, которая На 100% контролируется создателем игры.

И этот режим песочницы будет очень похож на работу консоли и игр ... Мы не видим много хаков на консоли ... Интересно, почему? Потому что они не могут загрузить их на консоль, и если бы они могли, консоли не смогли бы даже прочитать, чтобы они узнали это.

TJ L
источник
1
Нет, разработчик игры не может написать стороннюю программу, которая полностью контролирует ПК. Вот что такое операционная система. Операционная система должна зарегистрироваться в ядре, когда компьютер запускается, чтобы получить свои привилегии, и их повторный вызов в противном случае является дорогостоящим. Кроме того, мы называем побочные программы, получающие полный контроль над ПК, «небезопасными» и «вирусами», потому что они есть. Программа, имеющая полный контроль, также означает, что безопасность в игре еще более важна, поскольку любой взлом, который может вызвать обмен данными между клиентскими программами, может буквально украсть любые данные со всех клиентских устройств . Плохо.
Делиот
1
В качестве другого пункта, вы говорите мне, что мне придется перезагружать свой компьютер в этой базовой операционной системе, чтобы играть в вашу игру? Я призываю вернуть деньги, поскольку для вашей игры не должно быть 5-10 минут времени запуска и завершения работы, при этом я не могу ничего сделать с моими двумя экранами, потому что компьютер выключен . И не каждый может позволить себе купить дополнительный ноутбук только для многозадачности, пока они играют в одну конкретную игру. (Лучше быть чертовски хорошей игрой, если она занимает 20 минут, только начав и остановив и заставив меня потратить 400 долларов, чтобы музыка / reddit находились в фоновом режиме ).
Делиот
Ну, тогда разберитесь с людьми, которые портят игры на ПК. В наши дни стрелки полны списаний, потому что они полны esp и т. Д. Bf1 на ПК - хороший пример ... Я даже не знаю, почему они больше не выпускают их на ПК, он был взломан еще до того, как вышел.
TJ L