Relay SDK는 Unity Transport Package (UTP)에서 잘 작동됩니다
UTP는 쉽게 말하면 추상적인 네트워킹에서 Unity 게임 엔진을 위해 만들어진 현대적인 네트워킹입니다
한 마디로, 게임 개발자들이 low - level protocol과 networking 프레임워크에 대해 잘 알지 못해도 게임 제작에 집중할 수 있게 도와준다는 말입니다!
UTP는 다양한 High 레벨 네트워킹 코드 추상화로 작동할 수 있고, 모든 유니티의 netcode 솔루션을도와주고, 다른 netcode 라이브러리와 함께 작동합니다!
[출처 - Unity Documentation]
#1. Simple Relay sample (using UTP) / Relay SetUp
Set Up은 공식사이트 참고!
# 샘플 예제를 실행시키위한 조건 1
적어도 두 명의 다른 클라이언트가 필요합니다
하나의 호스트 플레이어와 더 많은 참여 플레이어가 필요합니다
똑같은 프로젝트 코드에서 같은 컴퓨터에서 여러명의 클라이언트를 실행시키고 싶다면
또 다른 해결책을 실행함으로써 가능하게 할 수 있습니다!
하나의 예로, ParrelSync를 사용하면 됩니다!
이 블로그 참고하여 동일한 에디터를 실행시킬 수 있습니다
# 샘플 예제를 실행시키위한 조건 2
적어도 한 명 이상의 호스트 플레이어가 필요하고 참여 플레이어를 위해 그 게임을 실행시키기 위해선 호스트 플레이어가 필요합니다
호스트 플레이어의 사용 흐름은 다음과 같습니다
- Sign in
- Get regions (optional)
- Select region (optional)
- Allocate game session
- Bind to the selected Relay server
- Get join code
# 샘플 예제 내용
호스트 플레이어는 참여 플레이어와 함께 Join Code를 공유합니다
참여 플레이어들이 호스트 플레이어에게 Join하고 연결된 후에, 그 호스트 플레이어는 다음과 같은 것을 할 수 있습니다
- 모든 연결된 플레이어에게 메세지 보내기
- 모든 연결된 플레이어 연결끊기
플레이어의 흐름은 다음과 같습니다!
- Sign in
- 호스트 플레이어의 Join Code를 사용함으로써 게임 세션에 참여
- 선택된 Relay Server Bind
- 호스트 플레이어에게 연결 요청
호스트 플레이어에게 연결되면, 플레이어는 다음을 할 수 있습니다!
- 호스트 플레이어에게 메세지 보내기
- 호스트 플레이어로부터 연결 끊기