본문 바로가기

unreal engine

[UE5] Online Subsystem (1) 온라인 서브 시스템이 무엇인가?

 

목표 : 온라인 서브시스템이 무엇인지에 대해서 알아보자.

 

이 글에서는 대략 온라인 서브시스템이 무엇인지에 대해서만 서술하고 다음장부터는 EOS 세팅 및 OSS 플러그인 설정 및 엔진에서 구성해야하는 방식에 대해서 설명하겠다.

 

언리얼 엔진은 여러가지 다음과 같은 네트워크 서비스를 제공한다. 

1. 데디케이트 서버를 이용한 온라인 구성

2. LAN (같은 라우터 내의 컴퓨터끼리 접속하기)

3. Epic Online Service그리고 Epic Online Subsystem plus

 

1번부터 설명하자면, 개발자가 직접 그래픽적 요소는 들어가지 않지만 게임이 돌아가는 서버에서 각 클라이언트들에게 정보를 전달하는 방식으로 사용된다. 직접 서버를 이용하니까 스스로 커스텀이 쉽지만, 조절해야 할 것들이 많다.

 

2번에 대해서 보자면, 같은 라우터 내의 로컬IP주소를 통해서 연결하는 방식을 말한다. 서버가 필요없이 한사람이 서버역할을 하면 되므로, 구현이 쉽지만, 말 그대로 로컬IP주소를 사용하기 때문에 다른 라우터에 접속되어있는 컴퓨터에서는 접속 할 수가 없다.

 

사실상 1번 2번 둘다 소규모 프로젝트에서 사용하기에는 그렇게 적당하지 않을 수 있다. (물론 자기가 데디케이트 서버를 잘 운용해왔던 사람이라면 이 글을 읽을 필요가 없긴하다.) 에픽게임즈에서는 이러한 사람들을 위해서 Epic Online Service를 제공하고 그것을 EOS SDK로 코드를 직접 작성 하지 않아도 되게, Online Subsystem(OSS)를 언리얼 엔진의 플러그인으로써 제공했다. OSS는 또한 크로스 플랫폼으로 Steam이나 playstation 그외 다양한 온라인 서비스를 제공한다.

 

온라인 서브시스템(OSS)는 steam이나 xbox live같은 platform 서비스에서 제공하는 기능( 친구 업적 로비나 세션 등등)을 각 기능마다 Interfaces로 묶어서 기능을 접근할 수 있게 만들어주는 시스템이다. 그래서 우리는 특정 플랫폼 서비스를 지원하기 위해서는 굳이 새로 프로젝트를 만들 필요가 없이, 초반 설정만 바뀌어주면된다.

 

 

 

출처

1. 에픽게임즈 문서 : https://docs.unrealengine.com/5.0/ko/online-subsystem-eos-plugin-in-unreal-engine/

 

EOS 온라인 서브시스템(OSS) 플러그인

에픽 온라인 서비스 플러그인에 대한 개요입니다.

docs.unrealengine.com

2. Udemy 강의 제목 : Unreal Engine 5 C++ Multiplayer Shooter.