Протокол Lockstep - Lockstep protocol
Эта статья может потребоваться переписан соответствовать требованиям Википедии стандарты качества.Август 2017 г.) ( |
Эта статья нужны дополнительные цитаты для проверка.Май 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В протокол lockstep это частичный решение прогнозирующий обман проблема в пиринговый архитектура многопользовательские игры, в котором читерский клиент откладывает свои действия, чтобы дождаться сообщений от других игроков.[1] Клиент может сделать это, действуя так, как будто он страдает от задержка; исходящий пакет подделывается путем прикрепления отметки времени, предшествующей фактическому моменту отправки пакета.
Чтобы избежать этого метода обмана, протокол lockstep требует, чтобы каждый игрок сначала объявил «обязательство» (например, хэш стоимость акции); это обязательство представляет собой действие, которое:
- Не может использоваться для вывода о действии; и
- Легко сравнивает, соответствует ли действие обязательству.
После того, как все игроки получили обязательства, они раскрывают свои действия, которые сравниваются с соответствующими обязательствами, чтобы убедиться, что обязательство действительно является отправленным действием.[2]
Недостатки
Поскольку все игроки должны дождаться поступления всех обязательств перед отправкой своих действий, игра продвигается так же медленно, как и игрок с наибольшей задержкой. Хотя это может быть незаметно в пошаговая игра, онлайн-игры в реальном времени, такие как шутеры от первого лица, требуют гораздо более быстрой реакции.
Это можно получить, установив ограничение на время, в течение которого игрок может объявить свое действие. Если в течение этого периода не было отправлено никаких действий, другие игроки не объявляют о своих действиях этому игроку и игнорируют любые действия, которые происходят слишком поздно.
Асинхронный протокол блокировки
Чтобы преодолеть очевидный недостаток простого протокола lockstep, асинхронный существует вариант протокола, в котором игроки продвигаются во времени без каких-либо переговоров с другими игроками до тех пор, пока не произойдет взаимодействие между игроками, известный как «режим блокировки». Этот режим может быть определен определенной областью вокруг игрока, например сферой, в которой игрок может влиять на игровой мир.
Такое взаимодействие может происходить только тогда, когда, например, области влияния, окружающие двух игроков, пересекаются.
внешняя ссылка
- Лучники на 28,8, подробное описание Марк Террано и Пол Беттнер, который разработал протокол шаговой синхронизации для Эпоха империй.
Рекомендации
- ^ Алгоритмы и сети для компьютерных игр, Йоуни Смед и Харри Хаконен
- ^ "Чит-Proof Playout для централизованных и распределенных онлайн-игр", Боуман и Левайн, 2001