Каковы недостатки / предостережения / ограничения использования неавторизованного сервера над полностью авторитетным сервером для многопользовательской сети? - PullRequest
0 голосов
/ 01 июня 2018

Наша команда разрабатывает быструю игру на арене FPS с максимум 10 игроками за матч (5 на 5) для мобильных платформ с использованием Unity .Перед нами действительно стоит дилемма: использовать неавторизованный или полностью авторитетный сервер.


неавторизованный подход : каждый игрок просто отправляет снимки о своей текущей позициидругие игроки и удаленные вызовы процедур вызываются для особых событий, таких как стрельба из оружия или запуск взрыва.Физика моделируется локально.

Размышления об использовании Photon Unity Networking (PUN) для этого подхода из-за зрелого API и Модель Master-Client и Расширенные реле .


Авторитетный подход : клиенты просто отправляют свои входные снимки на выделенный сервер, где игра моделируется с использованием входов, а состояние игры отправляется обратно клиентам, которыепросто делает это.

Думая об использовании Фотонный болт для этого подхода, из-за Встроенный Прогнозирование на стороне клиента и Компенсация запаздывания , что крайне важно при использовании выделенного сервера.


Итак, помимо того, что мошенники могут легко взломать мою игру, каковы недостатки / ограниченияиспользуя неавторизованный сервер вместо доверенного?Требуется ли авторизация сервера в мобильной игре?Каковы ваши рекомендации для типа игры, которую мы пытаемся создать?

Кроме того, насколько плохи (или хороши) издержки при запуске Unity Instance на выделенном сервере (в автономном режиме)?

Спасибо!

1 Ответ

0 голосов
/ 01 июня 2018

Итак, помимо того, что читеры могут легко взломать мою игру, каковы недостатки / ограничения использования неавторизованного сервера по сравнению с авторизованным?

Десинхронизациязначительный недостаток.Это нормально, если физика, смоделированная локально, не влияет на функциональный результат игры.

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

В более серьезных случаях вы можете столкнуться с тем, что у игроков будут совершенно другие результаты.матча на их машинах.

Требуется ли полномочие сервера в мобильной игре?

Не обязательно.

Каковы ваши рекомендациидля типа игры, которую мы пытаемся создать?

Для многопользовательских игр обычно рекомендуется иметь авторитетный сервер, который выполняет вычисления для важных событий (например, попадание пули).

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

Кроме того, насколько вредны (или хороши) издержки при запуске экземпляра Unity на выделенном сервере (в режиме без головы)?

Я не уверен, с какими накладными расходами вы сравниваете, но обычно экземпляр Unity работает без графики и в пакетном режиме, так как сервер способен эффективно справляться с многопользовательской игрой из 10 человек.

...