Redistributable installer

재배포 가능 인스톨러는 사용자 인증과 소셜 경험을 통합하고 통일합니다.

8 분 소요

재배포 가능 인스톨러

게임을 여러 PC 스토어에 배포하거나 스토어를 거치지 않고 독립적으로 배포한다면, 에픽 온라인 서비스(Epic Online Services, EOS)를 사용하여 각 배포의 사용자 인증과 소셜 경험을 통합하고 통일할 수 있습니다. 예를 들어 Steam에서 EOS 인게임 오버레이를 사용하면 사용자는 하나의 목록으로 에픽 친구와 Steam 친구를 모두 확인하고 모든 친구와 상호작용할 수 있습니다.

에픽게임즈 스토어와 Steam 간의 PC용 크로스플레이 소셜 기능을 자세히 알아보려면 다음 페이지를 참고하세요. 에픽 계정 서비스를 사용한 크로스플레이.

개요

게임용 EOS SDK 통합으로 제공되는 EOS 소셜 패널(EOS Social Panel)과 에픽 계정(Epic Accounts) 로그인 경험에서 사용하는 인게임 오버레이는 플레이어에게 별도로 배포됩니다. 오버레이 기술 구성 요소를 배포하기 위하여 별도의 EOS 서비스 재배포 가능 인스톨러가 게임에 제공되어 게임 설치 필수 구성 요소의 일부로 설치됩니다.

이를 통해 게임의 자체 업데이트 주기와 상관없이 백엔드에서 제어되는 에픽의 업데이트를 통해 오버레이가 자동으로 최신 상태로 유지됩니다. 이 메커니즘으로 제공되는 자동 업데이트는 더 이상 신규 콘텐츠를 활발하게 업데이트하지 않는 게임에도 새로운 크로스 플랫폼 소셜 기능을 추가합니다.

게임 클라이언트 스타트업 플로

게임 클라이언트 스타트업 플로

클릭하면 이미지가 확대됩니다.

에픽게임즈 스토어 외부에서 배포된 EOS 오버레이를 게임에 추가하려면 다음 단계에 따릅니다.

  • EOS 서비스 재배포 가능 인스톨러 EpicOnlineServicesInstaller.exe 를 게임이 설치될 때나 게임 파일의 유효성이 검사될 때 설치되고 게임이 제거될 때 제거되도록 추가합니다.
  • EOS 부트스트래퍼 애플리케이션을 게임을 시작하는 주요 실행 파일로 추가합니다. 이 애플리케이션은 로컬에 설치된 EOS 서비스를 초기화하고 게임 클라이언트 애플리케이션을 시작합니다.

서비스 재배포 가능 인스톨러

EOS 서비스 재배포 가능 인스톨러는 EOS 오버레이를 다운로드 및 설치하고 자동으로 최신 상태로 유지합니다. 서비스는 사용자가 게임을 시작할 때 실행되고 게임을 종료할 때 자동으로 종료됩니다. 서비스는 게임이 실행 중일 때만 실행됩니다. 오버레이 업데이트 확인은 게임이 시작될 때 이뤄집니다.

이 구성 요소는 게임 파일의 일부로 최종 사용자에게 배포되며, 게임 설치의 일부인 필수 구성 요소로 설치됩니다. 게임이 설치되거나 제거되면 EOS 서비스 재배포 가능 인스톨러도 따라서 설치되거나 제거됩니다. 배포 플랫폼 클라이언트가 사용자에게 게임 설치를 검증하고 수정할 권한을 제공한다면, EOS 서비스 재배포 가능 인스톨러도 필요에 따라 수정하기 위해 호출될 수 있어야 한다는 점에 유의하세요.

Steam Installscript

Steam 플랫폼에 게임을 배포할 때 installscript.vdf 템플릿 파일을 사용할 수 있습니다. {EosProductId}{SteamAppId} 만 게임 식별자와 일치하도록 수정하면 됩니다. 이 템플릿은 게임이 EpicOnlineServicesInstaller.exe 를 게임 루트 디렉터리의 EpicOnlineServices 폴더 아래 배포한다고 가정합니다.

"InstallScript"
{
"Firewall"
{
"EOS Bootstrapper - {SteamAppId}" "%INSTALLDIR%\\EOSBootstrapper.exe"
}
"Run Process"
{
"EpicOnlineServices"
{
"HasRunKey" "HKEY_LOCAL_MACHINE\\Software\\Valve\\Steam\\Apps\\{SteamAppId}\\EOS"
"Process 1" "%INSTALLDIR%\\EpicOnlineServices\\EpicOnlineServicesInstaller.exe"
"Command 1" "/install productId={EosProductId} /quiet"
}
}
"Run Process On Uninstall"
{
"EpicOnlineServices"
{
"Process 1" "%INSTALLDIR%\\EpicOnlineServices\\EpicOnlineServicesInstaller.exe"
"Command 1" "/uninstall productId={EosProductId} /quiet"
}
}
}

로컬 개발을 위한 서비스 실행

EOS_LCT_AccountPortal 또는 EOS_LCT_ExternalAuth 로그인 유형으로 에픽 계정 로그인(EOS_Auth_Login)을 사용하는 애플리케이션의 경우, EOS 서비스가 백그라운드에서 실행되고 있어야 합니다. 로컬 개발 도중, 예를 들어 언리얼 엔진 또는 Unity 내에서 게임을 실행할 때는 부트스트래퍼 애플리케이션을 사용할 필요가 없습니다.

로컬 개발 목적으로 서비스를 실행하려면 Program Files (x86)\Epic Games\Epic Online Services\ 의 서비스 설치 디렉터리로 이동하여 EpicOnlineServices - Development.cmd 바로가기를 통해 시작합니다. Windows 작업 표시줄의 시스템 트레이 아이콘을 우클릭하면 서비스를 중단할 수 있습니다. 서비스를 적용하려면 코드 개발 환경을 재시작해야 할 수도 있습니다.

부트스트래퍼 애플리케이션

EOS 부트스트래퍼는 실제 게임 클라이언트 실행 파일을 실행하기 위해 임시 런처 애플리케이션으로 사용하는 실행 파일입니다. 사용자가 게임을 실행할 때 타깃 실행 파일로 사용됩니다.

EOS 부트스트래퍼는 이미 게임 설치의 일부로 설치된 EOS 서비스를 시작하는 역할을 합니다. EOS 서비스는 자체 소프트웨어 버전과 EOS 오버레이 구성 요소의 업데이트를 자동으로 확인하고, 소프트웨어 업데이트가 있다면 자동으로 설치합니다.

EOS 서비스가 초기화되면 EOS 부트스트래퍼는 자동으로 타깃 게임 클라이언트 실행 파일을 실행합니다. 이 플로를 통해 게임이 시작되면 게임 애플리케이션과 EOS SDK가 EOS 오버레이를 즉시 사용할 수 있습니다. 인게임 에픽 계정 로그인 경험과 에픽 소셜 패널에는 EOS 오버레이가 반드시 필요합니다.

사용

EOS 부트스트래퍼 실행 파일은 게임 파일의 일부로 배포됩니다. 일반적으로 주요 게임 실행 파일과 함께 있지만, 게임 설치 디렉터리 내의 다른 폴더에 위치할 수도 있습니다. EOS 부트스트래퍼 실행 파일은 이름이 같은 환경설정 파일과 연결됩니다. 예를 들어 LaunchGame.exeLaunchGame.ini 와 연결됩니다.

환경설정 파일을 생성하거나 EOS 부트스트래퍼 실행 파일의 프로그램 아이콘을 변경하려면 다음 섹션의 EOS 부트스트래퍼 툴을 참고하세요.

문제 해결하기

EOS 부트스트래퍼는 실행될 때마다 %LOCALAPPDATA%\Epic Games\Epic Online Services\Bootstrapper\Logs\EOSBootstrapper.log에 로그 파일을 작성합니다. 게임 클라이언트 프로세스가 시작되지 않거나 EOS SDK가 에픽 계정 로그인 또는 EOS 오버레이에 관련된 예상 밖의 오류를 반환한다면 부트스트래퍼 로그에서 오류를 확인하세요.

부트스트래퍼 툴

EOS 부트스트래퍼 툴은 EOS 부트스트래퍼 애플리케이션이 사용할 환경설정 파일을 생성하는 용도의 명령줄 툴입니다. 이 툴로 EOS 부트스트래퍼 실행 파일을 프로그램 전용 아이콘으로 업데이트하여 게임 클라이언트 실행 파일의 프로그램 아이콘과 통일할 수도 있습니다.

EOS 부트스트래퍼 툴은 개발 툴이며, 최종 사용자에게 게임 파일의 일부로 배포되지 않습니다. 일반적으로 게임 클라이언트 빌드 파이프라인 끝에 추가되지만, EOS 부트스트래퍼 환경설정 파일을 생성하기 위해 일회성 독립 툴로 사용할 수도 있습니다.

사용

실행하면 이 툴은 다음 작업을 수행합니다.

  1. 로컬 부트스트래퍼 실행 파일(EOSBootstrapper.exe)을 출력 파일 경로(--output-path)에 복사합니다.
  2. 설정된 경우, 실행할 타깃 애플리케이션 실행 파일(--app-path)을 사용하여 복사된 부트스트래퍼 실행 파일의 프로그램 아이콘과 버전 정보를 업데이트합니다.
  3. 복사된 출력 부트스트래퍼 실행 파일이 있는 곳에 새로운 .ini 환경설정 파일을 생성합니다.

명령줄 프롬프트로 EOSBootstrapperTool.exe --help 를 실행하여 전체 사용 정보와 사용 가능한 모든 옵션을 확인합니다.

사용 예시

개발 디렉터리 트리가 다음과 같은 형태라고 가정해 보겠습니다.

.\
GameBuild\Bin\GameClient.exe
Tools\EOSBootstrapper.exe
Tools\EOSBootstrapperTool.exe

이 경우 EOS 부트스트래퍼 툴을 실행하는 명령줄은 다음과 같습니다.

EOSBootstrapperTool.exe --output-path ..\GameBuild\Bin\LaunchGame.exe --app-path GameClient.exe

이 명령줄은 EOSBootstrapper.exe 원본을 게임 클라이언트 실행 파일이 있는 게임 빌드 디렉터리에 복사하여 LaunchGame.exe 로 명명하고 LaunchGame.ini 라는 환경설정 파일을 생성합니다.

부트스트래퍼 환경설정

EOS 부트스트래퍼 애플리케이션이 작동하려면 환경설정 파일을 필수로 사용해야 합니다. EOS 부트스트래퍼 툴로 생성할 수도 있고, 편의에 따라서는 수동으로 생성할 수도 있습니다.

환경설정 파일은 EOS 부트스트래퍼 애플리케이션에 다음 런타임 옵션을 지정합니다.

옵션타입설명
ApplicationPath스트링실행할 타깃 애플리케이션 실행 파일의 경로입니다. 부트스트래퍼 실행 파일과 게임 클라이언트 실행 파일이 같은 폴더에 있다면, 게임 클라이언트 실행 파일의 이름입니다. 예를 들면 Game.exe 입니다. 두 실행 파일이 다른 폴더에 있다면, 부트스트래퍼 실행 파일 위치에서 게임 클라이언트 실행 파일 위치까지의 상대 경로이며 실행 파일 자체의 이름도 포함합니다. 예를 들자면 Bin\\Game.exe 입니다.
WorkingDirectory스트링(선택 사항) 타깃 애플리케이션을 실행할 때 설정할 상대적인 작업 디렉터리입니다.
NoOperationBoolean[True, False], Integer[0, 1]선택 사항이며, 디폴트는 False입니다. 설정하면 타깃 애플리케이션은 EOS 서비스를 초기화하지 않고 바로 시작됩니다. 예를 들어 개발 환경에서 실행할 서비스 재배포 가능 인스톨러가 다른 개발자나 게임 테스터를 위해 완전히 통합되지 않았을 때 이 세팅을 사용하여 EOS 서비스 없이 게임을 실행할 수 있습니다.
WaitForExitBoolean[True, False], Integer[0, 1](선택 사항이며, 디폴트는 False입니다.) 설정하면 부트스트래퍼는 실행한 타깃 애플리케이션이 종료된 후에만 종료됩니다. 예를 들어 타깃 실행 파일이 종료될 때 플랫폼 런처가 게임을 실행 중이 아닌 것으로 표시하는 시나리오에서 이 세팅을 사용할 수 있습니다. 부트스트래퍼는 플랫폼 클라이언트의 타깃 실행 파일로 실행되기 때문에 게임 클라이언트 자체가 종료될 때까지 백그라운드에서 계속 실행되도록 부트스트래퍼를 환경설정할 수 있습니다.

환경설정 예시

ApplicationPath=GameClient.exe
WorkingDirectory=
NoOperation=0
WaitForExit=0