라이라를 에픽 온라인 서비스와 함께 사용하기

라이라 샘플 게임을 에픽 온라인 서비스와 함께 사용하는 방법을 단계별로 설명하는 튜토리얼입니다.

Choose your operating system:

Windows

macOS

Linux

라이라 스타터 게임은 멀티플레이 게임의 개발 및 배포를 위해 디자인된 샘플 프로젝트입니다. 라이라는 온라인 멀티플레이 지원을 활용하며 에픽 온라인 서비스(Epic Online Services, EOS) 백엔드와 통합됩니다. 그러나 에픽 게임즈 런처 에서 라이라를 다운로드했다면 추가 구성 없이는 EOS가 작동하지 않습니다.

에픽 계정 및 엔진 구성

라이라에서 EOS를 사용하려면 다음과 같이 EOS와 언리얼 엔진 소스 코드 양쪽에 액세스하기 위한 계정을 구성해야 합니다.

  1. 멀티플레이를 테스트하려면 최소 2개의 에픽 계정 이 필요합니다. 에픽게임즈 스토어 페이지에서 로그인(Sign In) 을 클릭하고 새 이메일 주소와 암호로 가입(Sign Up) 하면 새 계정을 생성할 수 있습니다.

    브라우저를 하나 더 열어서 두 번째 계정으로 로그인하면 효율적입니다.

  2. EOS 지원을 완전히 활성화하려면 언리얼 엔진 소스 코드에 액세스할 수 있는 계정이 하나 필요합니다. 기본 에픽 계정이 GitHub에서 언리얼 사용하기 페이지의 설명대로 GitHub 와 동기화되어 있는지 확인하세요.

  3. 소스 코드 액세스를 확보했다면 언리얼 엔진 소스 코드 내려받기 문서에 따라 엔진 소스 코드를 다운로드하여 설치합니다. 엔진의 출시 브랜치(Release branch) 를 설치합니다. Visual Studio 2019 또는 Visual Studio 2022 를 사용할 수 있습니다.

    소스 코드를 다운로드하고 Setup.bat 을 실행하기까지는 다소 시간이 걸릴 수 있습니다. 설치가 완료되기를 기다리는 동안 계정을 생성하는 것이 좋습니다.

  4. 2단계 인증(2-factor authentication) 을 두 계정에서 활성화해야 EOS 개발자 툴에 액세스할 수 있습니다. 그렇게 하려면 계정 관리(Account Management) 페이지에서 비밀번호 및 보안(Password & Security) 으로 이동하거나, 5번 단계에 표시되는 알림에 따릅니다.

  5. 두 에픽 계정 모두 EOS EOS 개발자 포털(Developer Portal) 액세스 권한이 필요합니다. 개발자 포털로 이동하면 라이선스를 수락하라는 알림과 혼자서(On your own) 시작할지 조직으로서(As an Organization) 시작할지 선택하라는 알림이 표시됩니다. 기본 계정으로 조직을 생성하기 위해 조직으로서 를 선택합니다.

  6. 개발자 포털에 기본 계정 및 조직으로 로그인되어 있는 동안 보조 계정을 조직에 추가해야 합니다. 개발자 포털(Developer Portal) 콘텐츠 목록 왼쪽의 조직(Organization) 섹션을 클릭하고, 팀(Team) 탭에서 초대(Invite) 버튼을 클릭합니다. 그러면 보조 계정의 이메일 주소를 입력하라는 알림이 표시됩니다.

    역할(Role)은 개발 테스트에 중요하지 않으므로 Community Tools 를 선택한 다음 초대(Invite) 를 클릭합니다. 세팅(Settings) 을 클릭하여 조직 이름을 변경할 수 있습니다. 선택 사항으로 보조 계정을 위한 조직을 생성할 수도 있지만 이 튜토리얼에서는 필수가 아닙니다.

  7. 보조 계정은 이메일로 초대 링크를 받게 됩니다. 보조 계정에 로그인한 상태로 이 URL을 클릭해야 합니다.

    보조 계정이 로그인되어 있는 브라우저에 URL을 붙여넣어 초대를 수락할 수도 있습니다.

초대를 수락한 뒤로 보조 계정은 테스트 중의 로그인을 제외하면 어떤 용도로도 사용되지 않습니다.

에픽 온라인 서비스 제품 구성

개발자 포털에 액세스할 수 있고 조직을 가진 에픽 계정이 준비되면 라이라의 로컬 사본을 사용하기 위해 백엔드에 제품을 구성해야 합니다. PC 플랫폼에서 라이라를 개발하고 테스트하려면 EOS 및 에픽 계정 서비스(EAS) 에서 추가 구성을 완료해야 합니다.

에픽 계정 서비스는 EOS와 통합되도록 설계된 인증 및 소셜 툴을 제공합니다. 플랫폼이나 퍼블리셔가 제공하는 다른 인증 시스템에 액세스할 수 있다면 EAS를 사용하지 않아도 됩니다. 라이라는 EAS를 사용하여 개발 로그인 및 에픽게임즈 스토어와의 통합을 처리합니다.

이 섹션의 단계는 모두 EOS 개발자 포털에서 수행되며, 에픽 온라인 서비스(EOS) 설정하기에픽 계정 서비스 시작하기 페이지와 동일한 정보를 다룹니다.

  1. 우선 제품을 구성해야 합니다. 제품 생성(Create Product) 을 선택하여 새 제품을 생성할 수 있습니다. 그런 다음 제품을 선택하여 다양한 EOS 기능 옵션을 볼 수 있습니다.

  2. 다음으로 클라이언트클라이언트 정책(Client policy) 을 여러분의 라이라 버전에 맞게 구성해야 합니다. 제품 세팅(Product Settings) 에서 클라이언트(Clients) 탭을 클릭합니다. 그러면 법적 계약을 읽고 수락하라는 알림이 표시됩니다. 수락하면 클라이언트 페이지가 열리고 추가 라이선스 알림이 표시됩니다. 이 튜토리얼에서는 에픽 계정 서비스 라이선스를 수락해야 합니다.

  3. 신규 클라이언트 추가(Add New Client) 를 클릭하여 'Lyra Test Client'라는 새 클라이언트를 생성합니다. 그런 다음 신규 클라이언트 정책 추가(Add New Client Policy) 를 클릭합니다.

  4. 클라이언트 정책 이름(Client policy name) 필드에는 여러 제품에 재사용할 수 있도록 'Peer to Peer client'를 입력합니다. 클라이언트 정책 유형(Client policy type) 에서 Peer2Peer 를 선택하면 라이라에 필요한 모든 정책이 제공됩니다. 저장 & 종료(Save & Exit) 를 두 번 클릭하여 새 정책과 클라이언트를 저장합니다.

(BrandSettings.png)(w:600)

[/REGION]
  1. 권한(Permissions) 페이지에서 라이라의 소셜 기능 활성화에 필요한 Online Presence (1)Friends (2) 를 모두 활성화합니다. SAVE CHANGES (3) 를 클릭합니다.

  2. 연동된 클라이언트(Linked Clients) (1) 를 선택한 다음 클라이언트 선택(Select Clients) 옆의 드롭다운 화살표를 클릭하고 Lyra Test Client (2) 를 선택하여 이 애플리케이션에 연동한 다음 SAVE CHANGES (3) 를 클릭합니다.

    제품 세팅(Product Settings) 페이지로 이동하여 일반(General) 탭에서 스크롤을 내리면 나중에 필요한 모든 정보를 볼 수 있습니다.

  3. EOS 구성의 마지막 단계는 개발자 인증 툴(Developer Authentication Tool)을 설치하는 것입니다. 그러면 멀티플레이어 테스팅이 더 쉬워집니다. 게임을 실행할 때마다 2단계 인증을 할 필요가 없이 각 계정에 한 번씩만 로그인하면 되기 때문입니다.

UE5 소스 설치 디렉터리의 Engine/Source/ThirdParty/EOSSDK/Tools 폴더에 인증 툴 사본이 있습니다. EOS SDK 다운로드 안에서도 찾을 수 있습니다.

라이라 설치 및 구성하기

이제 엔진이 온전히 다운로드되었고, EOS 제품 구성이 끝났습니다. 아래 단계에서는 라이라를 EOS와 함께 사용할 수 있도록 설치, 구성, 빌드하는 프로세스를 알아봅니다. 이 단계는 라이라 문서의 내용과 유사합니다.

이미 런처에서 다운로드한 엔진의 바이너리 버전에 라이라를 설치했다면 7단계로 넘어가세요.

  1. 에픽게임즈 런처 를 열고(기본 계정으로 로그인) 언리얼 엔진 > 샘플(Samples) 을 선택합니다. Lyra Starter Game 을 클릭하고 프로젝트 생성(Create Project) 을 클릭합니다.

  2. 디폴트 세팅을 수락하지 마세요. 그 대신 프로젝트를 명명합니다.

    라이라를 다른 게임으로 변형하려면 해당 이름을 여기 써야 합니다.

찾아보기(Browse) 를 클릭하여 엔진 소스 코드를 설치한 루트 폴더를 선택하고, 생성(Create) 을 클릭하여 프로젝트를 다운로드합니다. 이렇게 하면 Engine 하위 폴더와 방금 지정한 프로젝트 이름(디폴트는 LyraStarterGame)의 하위 폴더가 있을 것입니다.

  1. Engine/Extras/UnrealVS 폴더에 있는 UnrealVS 익스텐션도 설치해야 합니다. 이 익스텐션은 Visual Studio 내에서 손쉬운 스타트업 프로젝트 관리 및 명령줄 파라미터를 제공합니다.

  2. 엔진 소스 코드의 루트로 이동한 다음 GenerateProjectFiles.bat를 설치하고 실행하여 UE5.sln이라는 새 솔루션 파일을 생성합니다. 생성된 파일을 더블클릭하여 Visual Studio를 로드합니다. 로딩이 끝나면 LyraStarterGame 버전이 게임(Games) 카테고리(LyraGameEOS 포함) 아래의 솔루션 탐색기(Solution Explorer) 에 표시될 것입니다.

  3. LyraStarterGame을 우클릭하고 스타트업 프로젝트로 설정(Set As Startup Project) 을 선택한 다음 빌드합니다.

    그러면 라이라 및 모든 필수 엔진 기능이 컴파일되며 시간이 조금 걸립니다. 컴파일 오류가 생긴다면 계속하기에 앞서 오류를 해결해야 합니다.

  4. 라이라가 소스에서 빌드되면 디버그(Debug) 메뉴에서 실행하고 프로젝트 샘플을 둘러볼 수 있습니다.

  5. 프로젝트가 EOS에 대해 환경설정되도록 추가 구성이 필요합니다. 라이라에는 EOS 전용 환경설정 파일이 포함되어 있으며, 이 파일은 일반 사용자 플러그인CustomConfig 기능을 사용하여 활성화됩니다.

프로젝트 내의 Config/Custom/EOS 폴더에 있는 DefaultEngine.ini 파일을 수정해야 합니다. 파일을 열고 다음 명령줄을 찾습니다.

가장 앞의 세미콜론을 제거하여 명령줄의 코멘트 처리를 해제할 수 있습니다.

;OSSV1의 경우, 다음 명령줄을 실제 디테일로 채운 다음 코멘트 해제합니다
 ";+Artifacts=(ArtifactName="OSSv1EOS",ClientId="xxxx",ClientSecret="xxxx",ProductID="xxxx",SandboxId="xxxx",DeploymentId="xxxx",EncryptionKey="0")

DefaultEngine.ini 아티팩트 섹션

  1. 앞서 만든 EOS 제품에 대한 아티팩트(Artifacts) 명령줄을 수정해야 합니다. 필요한 정보는 EOS 대시보드의 제품 세팅(Product Settings) 페이지에서 볼 수 있습니다. 이 작업의 프로세스는 EOS OSS 플러그인 문서에 설명되어 있지만, 다음과 같은 영역은 프로세스에서 중요합니다.

    • 아티팩트 이름(Artifact Name) 은 이 고유한 세팅 조합에 라벨을 지정하는 데 사용되며 DefaultArtifactName=OSSv1EOS 명령줄의 값과 일치해야 합니다.

    • 개발자 포털(Developer Portal) 로 이동합니다. 제품 ID(Product ID), 클라이언트 ID(Client ID), 클라이언트 암호(Client Secret)제품Clients 섹션의 해당 텍스트 필드에서 복사합니다.

    복사 를 클릭하여 값을 클립보드로 복사한 다음 텍스트 에디터로 붙여넣기 합니다.

    • 샌드박스 ID(Sandbox ID) 는 업적 같은 기능에 대한 데이터를 찾는 방법을 나타냅니다. 디폴트 라이브(default Live) 샌드박스에 대한 ID를 사용할 수 있습니다. 디플로이 ID(Deployment ID) 는 게임이 개발 중이므로 출시 ID(Release ID) 로 설정 가능합니다. 개발이 더 진행되면 테스트 및 출시를 위한 다수의 샌드박스와 디플로이를 생성하는 것이 좋습니다.

    • 암호화 키(Encryption Key) 는 클라이언트가 작성하여 클라우드에 저장한 파일을 암호화하는 용도지만, 라이라는 이 기능을 사용하지 않습니다. 값을 "0"으로 설정하거나 아무 랜덤 64비트 숫자를 따옴표 속에 넣으면 됩니다.

  2. 환경설정 파일을 수정한 뒤에는 저장 합니다.

에디터 빌드에서 EOS 테스트하기

이제 에디터와 패키지로 만든 빌드에서 게임을 테스트하는 단계를 시작할 수 있습니다.

  1. Visual Studio 에서 UnrealVS 툴바 를 활성화하고 명령줄 섹션에 다음 명령을 추가합니다.

    -game -customconfig=EOS  
  2. 프로젝트를 디버그하여 새 명령줄과 함께 실행합니다. 독립형 게임 모드에서 실행되며, EOS 환경설정 파일을 사용합니다. 완료되면 '로그인 실패가 구현되지 않음(Login Failure Not Implemented)'이라는 오류 메시지가 표시됩니다. 확인(OK) 을 클릭하면 라이라 메인 메뉴가 로드됩니다.
    이 오류 메시지는 프로젝트가 EOS를 사용하려고 시도했지만 명령줄에 충분한 정보를 지정하지 않았기 때문에 로그인에 실패했다는 의미입니다. 로그인 실패 오류 메시지가 표시되지 않는다면 환경설정 파일에 오류가 있을 수 있으니 출력 로그에서 EOS와 관련된 오류를 찾아야 합니다.

라이라 로그인 실패

  1. 이제 에픽 온라인 서비스 제품 구성 단계에서 압축 해제한 개발자 인증 툴(Developer Authentication Tool) 을 실행합니다. EOS_DevAuthTool 프로그램을 실행하면 사용할 포트(port) 를 묻는 알림이 표시됩니다. 6666 을 입력합니다.

    Windows에서는 방화벽 액세스를 묻는 추가 알림이 표시될 수 있습니다. 그 경우 액세스를 허용해야 합니다.

  2. 다음으로 로그인(Login) 을 클릭하여 임베드된 브라우저를 열고 기본 에픽 계정으로 로그인합니다. 2단계 인증 코드를 입력하면 크리덴셜(Credential) 이름 을 묻는 알림이 표시됩니다. 'Player1' 또는 그 비슷한 이름을 입력합니다.

크리덴셜 목록

  1. 이 프로세스를 보조 계정에서 반복하되, 크리덴셜 이름을 'Player2' 등 다른 이름으로 합니다. 이 두 계정은 테스팅 세션 동안 EOS 백엔드에 로그인 상태로 유지될 것입니다. 마지막에는 개발자 툴을 재부팅하고 다시 로그인해서 인증을 새로고침해야 합니다.

  2. Visual Studio 로 돌아가서 UnrealVS 의 명령줄에 다음 옵션을 추가합니다.

    -AUTH_LOGIN=localhost:6666 -AUTH_PASSWORD=Player1 -AUTH_TYPE=developer

    포트와 크리덴셜 이름은 위에서 입력한 대로 변경해야 합니다. 현시점에 전체 명령줄은 예를 들면 다음과 같을 것입니다.

    LyraStarterGame -game -customconfig=EOS -AUTH_LOGIN=localhost:6666 -AUTH_PASSWORD=Player1 -AUTH_TYPE=developer.

Visual Studio 인증

  1. 디버그(Debug) 를 클릭하여 게임을 다시 실행합니다. 이번에는 명령줄의 추가 정보를 사용하여 EOS에 로그인합니다. 브라우저 창이 열리면서 검증되지 않은 애플리케이션이라고 경고합니다. 브랜드 세팅(Brand Settings)이 완료되지 않았기 때문입니다. 수락(Accept)을 두 번 클릭하여 애플리케이션과 에픽 계정의 연동을 승인합니다. 그러면 게임으로 돌아가며 오류 메시지 없이 메인 메뉴를 표시합니다. Shift + F3 을 눌러 완전히 로그인되었음을 알리는 에픽 계정 오버레이를 엽니다.

  2. 이 계정은 멀티플레이 게임을 위한 호스트이므로 라이라 플레이(Play Lyra) 를 클릭한 다음 게임 시작(Start a Game) 을 눌러 호스팅 화면을 로드합니다. 네트워크(Network)온라인(Online) 으로 설정돼 있는지 확인한 다음 일리미네이션(Elimination) 을 선택하여 경기를 시작합니다.

    컴퓨터가 게임 두 개를 동시에 처리할 수 있도록 세팅 메뉴에서 그래픽 퀄리티를 낮음(Low)으로 설정하고 창 모드를 활성화하는 것이 좋습니다.

  3. Visual Studio 로 돌아가서 이 클라이언트를 디버그 메뉴에서 디태치합니다. UnrealVS의 명령줄에서 -AUTH_PASSWORD 값을 두 번째 크리덴셜 이름(Player2)으로 변경하여 두 번째 계정의 로그인을 준비합니다. 디버그(Debug) 를 클릭하여 게임을 다시 실행합니다. 두 번째 인스턴스가 시작되면 두 번째 계정에 대해 애플리케이션을 인증하라는 알림이 표시된 뒤 메인 메뉴가 열립니다.

  4. 모든 것이 제대로 작동하고 있는지 확인하려면 탐색(Browse) 을 눌러서 서버 브라우저(Server Browser) 를 표시하고 첫 게임 인스턴스에서 호스팅된 게임이 계속 실행 중인지 확인합니다.

  5. 게임을 선택합니다. 게임에 성공적으로 참여하면 프로세스가 완료됩니다. 이제 플레이어 2명과 봇들이 멀티플레이 게임에 참여했습니다.

LyraGameEOS 패키징하기

EOS가 개발 에디터 빌드에서 작동하는 것을 검증했다면, 다음 추가 절차를 따라 LyraGameEOS 의 패키지로 만든 버전을 생성할 수 있습니다.

이 단계는 라이라를 소스 코드에서 빌드된 엔진 사본에 설치하는 전체 프로세스를 따른 뒤에만 작동합니다. 런처에서 설치한 버전은 빌드 프로세스를 커스터마이징할 수 없기 때문입니다.

  1. 개발(Development) 빌드로 프로젝트를 구성하고 에디터를 로드하여 게임의 패키지로 만든 EOS 버전을 생성합니다.

    프로젝트 이름 뒤 명령줄은 지워도 됩니다. UnrealVS가 드롭다운 메뉴에 명령줄 기록을 유지할 것입니다.

  2. 에디터가 로드되면 툴바로 이동하여 플랫폼(Platforms) > 창(Windows) > 빌드 타깃(Build Target) 을 클릭한 다음 LyraGameEOS 를 선택하여 -CustomConfig=EOS 세팅을 실행 파일에 굽는 커스텀 게임 버전을 빌드합니다.

  3. 툴바 > 플랫폼 > 창 > 프로젝트 패키지(Package Project) 로 이동하여 출력 디렉터리를 선택합니다. 디렉터리를 선택하면 쿠킹 및 패키징 프로세스가 시작됩니다.

    출력 로그에 오류가 있는지 확인합니다.

    라이라의 패키징에 실패하고 로그에 UAT 관련 오류 메시지가 표시된다면, 라이라 게임 샘플의 5.0 출시 버전 때 있었던 버그가 생긴 것일 수 있습니다. 이 버그는 5.0.2또는 그 이후 버전의 라이라 샘플을 다운로드하거나 라이라를 엔진 베이스 설치 폴더의 하위 폴더 Samples/Games 에 설치하여 수정할 수 있습니다(C:\UE5\Samples\Games\LyraStarterGame).

  4. 쿠킹 및 패키징 프로세스가 성공하면 선택한 디렉터리에 패키지로 만든 게임 사본이 생성됩니다. 패키지로 만든 빌드를 압축하여 다른 컴퓨터로 보낸 뒤 실제 멀티플레이를 테스트할 수 있습니다.

패키지로 만든 빌드를 에픽게임즈 스토어에서 실행하면 올바른 사용자 크리덴셜을 전달합니다. 그러나 개발 테스트에서는 바로가기나 배치 파일을 만들고 명령줄에 다음을 추가해야 합니다.

-AUTH_LOGIN=localhost:6666 -AUTH_PASSWORD=Player1 -AUTH_TYPE=developer

다음 단계

위 단계를 모두 따랐다면 완전하게 작동하며 멀티플레이 개발 및 EOS 테스트에 사용할 수 있는 라이라 버전이 생겼을 것입니다. EOS가 활성화된 채로 작동하는 버전의 라이라 게임 샘플이 있으면, 궁극적으로 여러분의 게임을 출시하기 위한 다른 개발 작업의 기반으로 활용할 수 있습니다. 라이라 멀티플레이 코드를 다른 기존 게임에 맞게 조정하려면 게임을 전체 라이라 코드 베이스 위에 빌드하거나, 일반 사용자 플러그인 및 환경설정 파일을 문서에 설명된 대로 여러분의 게임에 복사하면 됩니다.

라이라는 지원되는 모든 콘솔, 모바일, PC 데스크톱 플랫폼에서 작동하도록 설계되었으나, 현재 샘플 버전은 주로 에픽게임즈 스토어 내부 버전을 사용하여 PC에서 테스트되었습니다. 에픽게임즈 스토어에 게임을 퍼블리시하려면 퍼블리셔와 함께 브랜드 리뷰 프로세스를 완료하고 퍼블리싱 팀과 대화를 시작하기를 권장합니다.

게임의 크로스 플랫폼 버전을 개발하는 데 도움이 필요하거나 이 튜토리얼의 EOS 구성 단계에 문제가 생겼다면 EOS 커뮤니티 포럼에서 토론을 생성하거나 EOS 지원팀에 문의하세요.