Lockstep 프로토콜
Lockstep protocol록스텝 프로토콜은 피어투피어 아키텍처 멀티플레이어 게임에서의 선행 부정행위에 대한 부분적인 해결책으로, 부정행위는 다른 [1]플레이어의 메시지를 대기하기 위해 자신의 액션을 지연시킵니다.클라이언트는, 지연 시간이 긴 것처럼 동작하는 것으로, 이것을 실행할 수 있습니다.발신 패킷은, 실제의 송신 시점보다 전의 타임스탬프를 첨부하는 것으로 위조됩니다.
이러한 부정행위를 방지하기 위해 잠금 스텝 프로토콜은 각 플레이어가 먼저 "커밋"(예: 액션의 해시 값)을 발표해야 합니다. 이 커밋은 다음을 나타내는 액션의 표현입니다.
- 행동을 추론하는 데 사용할 수 없습니다.
- 액션이 커밋과 일치하는지 여부를 쉽게 비교합니다.
모든 참가자는 커밋을 받으면 자신의 행동을 드러냅니다.이것은 커밋이 실제로 송신된 [2]액션임을 확인하기 위한 대응하는 커밋과 비교됩니다.
결점
모든 플레이어는 자신의 액션을 전송하기 전에 모든 커밋이 도착할 때까지 기다려야 하기 때문에 레이텐시가 가장 높은 플레이어와 마찬가지로 게임 진행이 느려집니다.턴제 게임에서는 눈에 띄지 않을 수 있지만, 1인칭 슈팅 게임과 같은 실시간 온라인 게임은 훨씬 더 빠른 반응을 요구한다.
이는 플레이어가 자신의 행동을 발표할 수 있는 시간을 제한함으로써 획득할 수 있다.이 기간 내에 액션이 전송되지 않으면 다른 플레이어는 자신의 액션을 해당 플레이어에 알리지 않고 너무 늦게 도착한 액션은 무시합니다.
비동기 잠금 단계 프로토콜
단순한 잠금 스텝 프로토콜의 명백한 단점을 극복하기 위해, "잠금 스텝 모드"로 알려진 플레이어 간의 상호작용이 존재할 때까지 플레이어가 다른 플레이어와의 협상으로부터 시간적으로 진행하는 비동기식 프로토콜이 존재한다.이 모드는 게임 세계가 플레이어의 영향을 받을 수 있는 구체와 같은 플레이어 주변의 특정 영역에 의해 정의될 수 있습니다.
이러한 상호작용은 예를 들어 두 참가자를 둘러싼 영향 영역이 교차할 때만 발생할 수 있다.