Multiplayer GAS
즉시 반응은 클라이언트, 최종 판정은 서버
GAS 예측은 조작감을 빠르게 보여주기 위한 장치이고, Cost, Cooldown,
Tag, 효과 적용은 서버 권한으로 확정됩니다.
동기화 기준
클라이언트가 먼저 보여준 결과와 서버 확정 결과가 다르면 로컬 상태를
되돌리고 복제값에 맞춥니다.
| 시점 | 클라이언트 역할 | 서버 역할 | 틀어질 때 볼 것 |
|---|---|---|---|
| Input능력 입력 | 예측 애니메이션과 Cue를 먼저 표시 | 입력 요청을 받고 Net Role 확인 | 입력 바인딩과 AbilitySpec Handle |
| Can Activate조건 검사 | 가능해 보이면 즉시 UX 시작 | Cost, Cooldown, Tag, 거리, 시야 재검사 | 실패 이유Tag 차단, 쿨다운, 비용 부족 |
| Commit효과 적용 | 예측 Attribute와 화면 효과 유지 | GameplayEffect와 Attribute 변경 확정 | 권한 기준데미지와 자원 소모는 서버값이 정답 |
| Replicate결과 전파 | 복제된 Attribute와 Cue로 화면 보정 | 결과 상태를 관련 클라이언트에 복제 | Replication Mode와 Cue 발송 범위 |
| Rollback불일치 보정 | 실패한 예측 효과를 제거하고 원복 | 거부 결과와 확정 상태를 기준으로 삼음 | 잔상 제거몽타주, Cue, UI 쿨다운 표시 |