본문 바로가기

Unreal Engine

[언리얼 엔진/서버] 온라인 서브시스템과 세션

저번 글에서 온라인 서브 시스템은 온라인 서비스에 접근하기 위한 함수들을 제공한다고 이야기를 했었다. 그리고 각 서비스 플랫폼은 친구, 도전 과제, 그리고 세션 등을 제공한다. 즉 온라인 서브시스템으로 이러한 기능들에 대한 인터페이스를 제공해야 한다.

 

이 중 제일 중요한 건 결국 연결과 관련된 세션 인터페이스이다. 세션 인터페이스는 세션 생성, 관리, 그리고 삭제에 관련된 것을 다루기 위해서 제공된다. 그리고 세션을 찾고 매치메이킹을 위해서 사용된다. 

그렇다면 여기서 말하는 게임 세션은 무엇일까? 세션은 서버에서 돌아가고 있는 게임 인스턴스 그 자체를 말한다. 그리고 이러한 세션들은 플레이어가 들어갈 수 있는 공개 세션과 초대받은 사람만 들어갈 수 있는 비공개 세션으로 나뉜다. 

 

세션의 수명 주기는 다음과 같다. 먼저 세션이 생성되고, 플레이어들의 참가를 기다린 뒤 플레이어가 들어올 때마다 등록을 한다. 그리고 난 후 세션을 시작하고 게임이 플레이 된 뒤, 세션이 끝나면, 플레이어들의 등록을 푼 뒤, 세션을 업데이트하거나 세션을 파괴하는 식으로 진행한다. 그리고 언리얼은 이러한 인터페이스를 제공한다.

CreateSession();
FindSession();
joinSession();
StartSession();
DestroySession();