본문으로 바로가기

언리얼 네트워킹 - ② Replication

category Unreal Engine/서버 2025. 12. 27. 00:05

Replication

네트워크 세션에서 서버가 확정한 게임 상태를 클라이언트와 동기화하는 프로세스

  • 서버는 월드 상태에 대한 최종 결정 권한(authority)을 가짐
  • 클라이언트는 서버에 상태 변경을 요청한 뒤 서버가 확정한 상태를 받아(Replication) 재현(Simulation)
  • 동기화는 월드 구성요소인 Actor 단위로 진행
  • 모든 Replication은 서버상태를 클라이언트에 복제하는 단방향으로 발생

Replication의 종류

Actor는 Replicated 여부와 Replication 할 옵션을 다음과 같이 설정 가능

  • Creation and Destruction: Actor가 서버에 생성 및 파괴될 때 클라이언트에도 생성 및 파괴.
  • Movement Replication: Actor의 위치, 회전, 속도를 등 이동 관련 데이터를 Replication 함.
  • Variable Replication: Actor에서 Replicated된 변수를 Replication 함.
  • Component Replication: Actor에서 Replicated된 Component를 Replication 함.

Actor의 네트워크 역할 및 권한

Actor 는 네트워크 세션에서 최종 상태를 결정할 권한을 갖거나, 권한 있는 Actor의 상태를 복제받은 대리자(Proxy) 역할을 가짐.

역할 설명
None 네트워크에서 아무런 역할을 하지 않으며 복제되지 않음
Authority 서버에 존재하며 최종 상태를 결정 하고, 클라이언트의 프록시에게 상태를 복제(Replication)
Simulated Proxy 권한 있는 Actor로 부터 상태를 복제(Replication) 받는 프록시.
Autonomous Proxy 플레이어 입력을 기반으로 서버에 상태 변경을 요청할 수 있고, 권한 있는 Actor로 부터 보정을 수신 하는 프록시