11
19

유니티는 포톤서버를 이용해 멀티플레이를 구현했었는데,

언리얼은 멀티플레이 기능을 내장하고 있다.

내장하고 있어서 구현하기에 아주 편하다.

 

언리얼 멀티플레이에는 두 종류가 있다.

리슨서버데디케이티드 서버가 그것이다.

 

서버란 게임을 호스팅하는 역활이고 다수의 클라이언트가 연결이 가능하다.

즉, 서버에서 모든 걸 결정짓는다 생각하면 된다.

 

리슨서버는 멀티플레이하는 4명이 있다고 가정하면

그 중, 한명은 호스팅을 하는 호스트이다. 

그런 와중에 4명 모두 클라이언트인셈이다.

호스팅도 하고 클라이언트이여서 비용이 비싸다.

 

데디케이티드 서버는 전용서버가 따로 있다.

최적화가 잘되어있어서 실행비용이 싸다.

 

오늘은 간단히 IP주소를 입력해

접속하는 리슨 서버를 구현해봤다.

 

 

우선 언리얼을 킨다.

 

 

플레이어 수를 지정하고 리슨서버로 플레이한다.

 

그 후에 호스트, 접속, IP주소 입력 할 UI 를 만들어준다.

유저인터페이스 블루프린트로 만들어준다.

 

 

이런 식으로 만들어준다. 

 

 

Host 버튼을 누르면 Level1 맵을 열고

Connect 버튼을 누르면 IPAddress에 아이피를 텍스트를 받아와 toString()해서

Level1맵을 여는 방식이다. 이는 리슨서버에서 맵이 IP로 구성되어 있기 때문이다.

 

 

해당 레벨 블루프린트에서 UI가 뿌려지게 블루프린트 배치한다.

 

 

추가적으로 테스트를 위해 마우스가 보이게 레벨블루프린트에서

SetShowMouseCursor를 켜주었다.

 

에디터에서 플레이하면 뷰포트에서는 이미 리슨서버로 연동되어있어

이미 연결되어 있는 모습일 것이다.

 

 

한쪽은 호스트 입장하고

한쪽은 아이피로 입력해

같은 공간에서 각자 입력을 할 수 있는 모습이다.

COMMENT