16:44 부분에서 질문이 있습니다.
16:44 코드를 토대로하여 클라이언트를 한명 추가했을 때,
서버쪽에는 서버 자신과 동적으로 추가된 클라이언트인 플레이어컨트롤러의 원본이 있고(둘다 authority),
클라이언트쪽에는 서버 자신이 참여한 형태인, 복제된 simulatedproxy 와 동적으로 추가된 클라이언트의 복사본 autonomousproxy 2개가 있는건가요?
만약 맞다면, 서버에 있는 각각의 serverrotationyaw 속성을 replication하여 클라이언트 각자 소유한 액터의 변경된 속성을 반영하는건가요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. hush park님.
언리얼 엔진 멀티플레이 환경에서의 클라이언트 및 서버 구조는 매우 중요합니다. 질문하신 내용에 대해 설명드리겠습니다.
서버와 클라이언트의 컨트롤러 관계:
- 서버는 모든 플레이어 컨트롤러의 원본을 소유하며, 여기에는 자신의 컨트롤러와 다른 접속된 클라이언트의 컨트롤러들이 포함됩니다. 이 모든 컨트롤러들이 authority를 가집니다.
- 클라이언트는 자신의 PlayerController를 autonomous proxy로 가져가며, 다른 플레이어의 컨트롤러를 simulated proxy로 갖게 됩니다. 이는 기본적인 언리얼 엔진의 네트워크 아키텍처입니다.
- 서버는 모든 플레이어 컨트롤러의 원본을 소유하며, 여기에는 자신의 컨트롤러와 다른 접속된 클라이언트의 컨트롤러들이 포함됩니다. 이 모든 컨트롤러들이 authority를 가집니다.
속성의 리플리케이션:
- 서버에서 각 클라이언트로 리플리케이트되는 프로퍼티는 서버의 상태 변화가 클라이언트에 반영되기 위한 것입니다.
serverrotationyaw와 같은 속성은 서버에서 변할 때 클라이언트에 이 변경 사항이 리플리케이션되어 각 자신의 상태를 반영합니다.
- 서버에서 각 클라이언트로 리플리케이트되는 프로퍼티는 서버의 상태 변화가 클라이언트에 반영되기 위한 것입니다.
Network Role:
- 서버와 클라이언트 간의 역할 구분은 네트워킹 기능의 핵심입니다. 서버의 authority 상태가 클라이언트에 리플리케이션됨으로 각 클라이언트는 자신의 환경에서 해당 액터를 적절히 업데이트하게 됩니다.
- 서버와 클라이언트 간의 역할 구분은 네트워킹 기능의 핵심입니다. 서버의 authority 상태가 클라이언트에 리플리케이션됨으로 각 클라이언트는 자신의 환경에서 해당 액터를 적절히 업데이트하게 됩니다.
이와 관련하여 자세히 설명된 예제나 추가 정보를 원하시면 다음 관련 질문과 답변을 참고하시기 바랍니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
5.6버전 Networking Insights 실행안됨 문제에 관하여
0
21
1
8강 중간, 분수대의 SetOwner 에 대해 궁금합니다.
0
73
2
플레이어(Actor) 로 (리슨)서버에서 생성 되나요?
0
96
2
2강) HandleBeginPlay 의 역활이 궁금합니다.
-1
70
2
3강 중간, 모드 로그로 찍을 시 스탠드얼론이 안찍힙니다.
1
73
2
CompressedFlag 질문
0
55
2
10강까지 머리 위 체력바가 표시가 안됩니다.
0
105
3
10강까지 머리 위 체력바가 표시가 안됩니다.
0
93
2
12:50 NetMulticast RPC 커넥션 관려하여 질문이 있습니다.
0
116
2
github 3-5 파트 프로젝트에서 컴파일 에러가 발생합니다.
0
112
3
언리얼 인사이트 5.6버전 networking insights 가 뜨지 않습니다.
0
162
3
Insight 사용이 안되어서 문의 드립니다!
0
125
2
하위 레벨...?? High Level 말씀하신거죠..??
0
143
1
CompressedFlags를 이용한 InputThrottle, InputSteering 전달 방법 질문
0
187
1
조건식 프로퍼티 리플리케이션 질문
0
141
2
ArenaBattle에 Log추가하는 곳에 에러가 나타나 질문 드립니다.
0
158
2
7강에서 DORM_Initial 안됨
0
126
3
안녕하세요 강의 내용 정리에 관련해서 질문있어요
0
128
2
캐릭터 클래스의 mesh 관련
0
129
2
3파트 6강 분수대 로테이트에 문제가 생겼습니다.
0
127
3
클라이언트의 오너십 설정에 대해서 궁금합니다.
0
197
3
프로퍼티 리플리케이트 동기화 보장 개념.
0
220
2
결국엔 액터 기본함수들은 어디든 똑같이 일단 실행되는건가요?
0
86
2
3분 39초 경에 질문이 있습니다
0
73
2





