본문 바로가기
언리얼엔진

멀티컨텐츠를 만들 때 필요한 것? 서버!

by 송파감자 2023. 4. 21.

서버에 대해서 

어제 서버 개념에 대해 배워서 간단히 정리해보고자 한다.
(현재 에티버스러닝에서 국비지원으로  K-Digital VR과정을 듣고 있다👩‍💻🔥)
여러명과 함께하는 멀티플레이어 게임의 경우 서버가 필요한데,  배운 서버 두개는 아래와 같다.
 

데디케이티드 서버 (dedicated server)

  • 서버는 서버만, 플레이어는 플레이어 역할을 함
  • 서버 비용이 발생
  • 컨텐츠 개발할 때 더 편함
  • 배그/ 와우
  • 대규모 또는 경쟁 게임에 이상적

리슨 서버 (listen server)

  • 플레이어 중 하나가 서버가 됨
  • 즉, 플레이어가 서버일 수도 있고, 플레이어 일 수도 있음
  • 배포하기도, 만들기도 편하다
  • 캐주얼한 멀티플레이어 및 협동 플레이어에 적합

클라이언트 프리뷰에서 본 신기한 내용!

플레이어 수를 2명으로 두고, 넷모드를 리슨서버로 뒀을 때 신기한 일이 있었다.
서버 화면(오른쪽)에서 공을 굴렸을 때 클라이언트 화면(왼쪽)에서는 그 액터 공이 안 보인다는 점!

왼쪽은 클라이언트., 오른쪽은 서버의 프리뷰다. 오른쪽에만 흰 공이 보인다.

클라이언트는 본인 컨트롤러만 갖고 있어서 다른플레이어들이 어딜 바라보는지 몰라서 그런다.
서버는 모든 플레이어의 컨트롤러를 갖고 있어서 공이 보이는 것이다.


리플리케이션 

그 전에 간단하게 리플리케이션 뜻에 대해 정리해보겠다.

  • 사전적 의미는 사본, 복제 라고 생각하면 된다
  • 언리얼에서는 멀티게임에서 다른 플레이어들이 보는 게임상태를 동기화 하는 과정을 말함
  • 쉽게 말해 게임상태 싱크를 맞추는 그런 느낌?!

 
그럼 이제, 클라이언트에게도 서버의 애니메이션이 동일하게 보이게 처리해보겠다.
BP_Ball 의 클래스 디폴트에서  Relpication 설정을 아래와 같이 해준다.

리플리케이션에서 틱한 부분 관련 설명이다.

Net Load on Client 는 액터를 글라이언트 화면에도 로드해준다는 뜻! 이것도 틱해주자

이제 이 공이 클라이언트 화면, 서버 화면 둘다 동일한 위치에 잘 보인다!