온라인 서비스(Online Services) 플러그인 및 그 인터페이스는 다양한 온라인 서비스, 특히 에픽 온라인 서비스(EOS)의 기능에 액세스하는 일반적인 방법입니다. 온라인 서비스 플러그인을 통해 EOS를 활용하려면 온라인 서비스 EOSGS 및 온라인 서비스 EOS 플러그인을 사용해야 합니다. 이러한 플러그인과 각 플러그인에서 지원하는 인터페이스 간의 차이점을 간략하게 설명하는 것 외에도 이 페이지에서는 언리얼 엔진 프로젝트에서 이러한 플러그인을 사용할 수 있도록 활성화하고 환경설정하는 방법에 대해서도 짚고 넘어갑니다.
플러그인 구조체
온라인 서비스 플러그인의 EOS 구현은 다음과 같은 별도 플러그인으로 분리되어 있습니다.
- 온라인 서비스 EOSGS
- 온라인 서비스 EOS
에픽 온라인 서비스 게임 서비스(EOSGS) 플러그인은 EOS 게임 서비스 기능을 처리합니다. 온라인 서비스 에픽 온라인 서비스(EOS) 플러그인은 EOSGS 플러그인을 보완하며 EOS 에픽 계정 서비스 기능을 처리합니다. EOS 게임 서비스 및 EOS 에픽 계정 서비스를 활용하려면 프로젝트에서 동시에 두 플러그인을 모두 사용해야 할 수 있습니다.
구현된 인터페이스
아래 표에서는 이러한 플러그인이 구현하는 인터페이스를 보여줍니다.
| 인터페이스 | 온라인 서비스 EOSGS | 온라인 서비스 EOS |
|---|---|---|
| 업적 | ✓ | |
| 인증 | ✓ | ✓ |
| 상거래 | ✓ | |
| 외부 UI | ✓ | |
| 순위표 | ✓ | |
| 로비 | ✓ | |
| 현재상태 | ✓ | |
| 세션 | ✓ | |
| 소셜 | ✓ | |
| 통계 | ✓ | |
| 타이틀 파일 | ✓ | |
| 사용자 파일 | ✓ | |
| 사용자 정보 | ✓ |
온라인 서비스 또는 온라인 서브시스템 선택하기
온라인 서비스 EOSGS 및 EOS 플러그인은 온라인 서브시스템(Online Subsystem) 플러그인의 개선된 버전이며, 온라인 서브시스템 EOS가 온라인 서브시스템용 에픽 온라인 서비스 소프트웨어 개발 키트(Epic Online Services Software Developer Kit, EOS SDK)를 구현하는 방식과 유사하게 온라인 서비스용 EOS SDK를 구현합니다. 어떤 항목이 프로젝트에 적합한지에 대한 자세한 내용은 온라인 서비스 개요 문서의 온라인 서비스 또는 온라인 서브시스템 사용하기 섹션을 참조하세요.
온라인 서비스 EOS 플러그인 활성화하기
언리얼 엔진 프로젝트에서 온라인 서비스 EOSGS 또는 온라인 서비스 EOS를 활성화하는 절차는 다음과 같습니다.
- 언리얼 엔진 C++ 프로젝트를 생성하거나 엽니다.
- 언리얼 에디터 메뉴 바에서 편집(Edit) > 플러그인(Plugins) 으로 이동합니다. 그러면 Plugins 라는 이름의 새 창이나 탭이 열립니다.
- 이 새 창에서 'Online Services'를 검색하거나 왼쪽의 내비게이션 바에서 온라인 플랫폼(Online Platform) 카테고리를 선택합니다.
- 여러 개의 플러그인이 표시됩니다. 온라인 서비스 베이스 플러그인은 기본으로 활성화되어 있을 것입니다.
- 사용하려는 플러그인을 활성화합니다.
- 온라인 서비스 EOS
- 온라인 서비스 EOSGS
'변경사항을 적용하려면 언리얼 에디터를 재시작해야 합니다.'라는 경고 메시지가 표시될 것입니다. 원하는 플러그인을 모두 활성화했고 언리얼 에디터를 재시작할 준비가 됐다면 지금 재시작(Restart Now) 을 클릭합니다.
이제 언리얼 엔진 프로젝트에서 앞서 활성화한 온라인 서비스 EOS 플러그인을 사용할 준비가 됐을 것입니다.
개발자 포털
온라인 서비스 EOS 플러그인을 활용하려면 에픽 온라인 서비스에 조직과 제품을 등록하고 환경설정해야 합니다. EOS 제품은 온라인 서비스 EOS 플러그인이 연결되어 게임과 에픽 온라인 서비스 간의 정보 통신을 하는 것입니다. 에픽 개발자 문서의 개발자 포털을 참조하여 조직과 제품을 에픽 온라인 서비스에 등록하세요.
언리얼 엔진 환경설정하기
디폴트 서비스
프로젝트에서 에픽 온라인 서비스를 사용하려면 EOS 구현에 사용할 온라인 서비스 베이스 플러그인을 환경설정해야 합니다. EOS를 디폴트 플랫폼 서비스로 지정하려면 프로젝트의 Config 디렉터리에 있는 프로젝트 DefaultEngine.ini 파일의 다음 섹션을 추가하거나 편집합니다.
[OnlineServices]
DefaultServices=Epic
네트워크 드라이버
네트워크 드라이버 환경설정은 온라인 시스템과는 별개입니다. 따라서 온라인 서비스 플러그인에도 온라인 서브시스템 플러그인과 동일한 환경설정이 유효할 것입니다.
온라인 시스템의 네트워크 드라이버를 환경설정하려면 프로젝트의 DefaultEngine.ini 파일에 다음 내용을 추가합니다.
[/Script/Engine.Engine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="SocketSubsystemEOS.NetDriverEOSBase",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="SocketSubsystemEOS.NetDriverEOSBase",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")
에픽 온라인 서비스
온라인 서비스 EOSGS 및 EOS 플러그인은 EOS SDK를 사용하여 에픽 온라인 서비스 백엔드와 통신합니다. 에픽 개발자 포털에 환경설정된 대로 프로젝트가 EOS 제품과 직접 통신하려면 온라인 서비스 플러그인을 구성해야 합니다.
EOS 제품을 언리얼 엔진 프로젝트와 연결하려면 프로젝트의 DefaultEngine.ini 파일에 다음 내용을 추가합니다.
[OnlineServices.EOS]
ProductId=PRODUCT_ID
SandboxId=SANDBOX_ID
DeploymentId=DEPLOYTMENT_ID
ClientId=CLIENT_ID
ClientSecret=CLIENT_SECRET
ClientEncryptionKey=CLIENT_ENCRYPTION_KEY
여기서 PRODUCT_ID , SANDBOX_ID , DEPLOYMENT_ID , CLIENT_ID 및 CLIENT_SECRET 을 에픽 개발자 포털의 제품 설정 페이지에 있는 값으로 바꿔야 합니다.
아래 표에서는 이러한 각 세팅에 대해 설명합니다.
| 세팅 | 설명 |
|---|---|
| 제품 ID(Product ID) | EOS SDK가 제품 식별에 사용하는 ID입니다. |
| 샌드박스 ID(Sandbox ID) | 제품이 속한 샌드박스 ID 값입니다. |
| 디플로이 ID(Deployment ID) | 타기팅하는 디플로이 ID입니다. |
| 클라이언트 ID(Client ID) | 제품의 클라이언트 ID입니다. 이 ID의 첫 세 글자는 xyz로 시작합니다. |
| 클라이언트 암호(Client Secret) | 클라이언트 ID 검증에 사용하는 클라이언트 암호입니다. |
| 클라이언트 암호 키 | EOS 서비스에 업로드된 데이터를 암호화하는 64바이트 16진수 스트링입니다. 다른 세팅과 달리 EOS는 이 암호 키를 관리하지 않으며 제품 세팅에 저장되지 않습니다. 이 키는 게임 전용 키이며 사용자의 개인정보 보호를 위해 에픽게임즈에는 이 정보를 알리지 않습니다. 이 키는 플레이어 및 타이틀 데이터 스토리지의 데이터 암호화에 사용됩니다. 플레이어 또는 타이틀 파일 스토리지를 사용하지 않는다면, 디폴트 암호 키(64바이트)로 |
다음 단계
이제 프로젝트에서 온라인 서비스 EOS를 사용하도록 환경설정이 됐을 것입니다. 다음 단계는 게임에서 에픽 온라인 서비스를 구현하는 것이며, 그 첫 단계는 로그인입니다.
추가 정보
자세한 내용은 다음 문서 페이지를 참조하세요.
- 에픽 개발자 포털 사이트의 문서:
- 언리얼 엔진 문서 사이트의 문서: