앱 파일 준비

크로스플레이 런처로 앱을 배포하려면, 먼저 앱 아이콘, 앱 실행 파일, 앱 설정 파일 등 PC에서 앱 실행에 필요한 파일들을 준비해야 합니다. 가상 예시로, 컴투스 프로야구 2024 게임 앱 파일이 아래와 같이 준비되어 있다고 가정해보겠습니다.

 

이 경우, 크로스플레이 런처로 컴투스 프로야구 2024 게임을 배포하려면 아래와 같은 디렉토리 구조를 준비해야 합니다.

루트 폴더

루트 폴더는 크로스플레이 런처로 앱을 배포하는 데 필요한 모든 데이터를 담은 최상위 디렉토리입니다. 루트 폴더에는 앱 폴더와 meta.json을 넣습니다. 루트 폴더 폴더명은 앱 개발사에서 원하는 이름으로 지정합니다. 이름을 지정한 후 Hive 콘솔 크로스플레이 런처 > 앱 관리 > 다운로드 설정 > 게임 설치 옵션 > 폴더명에 루트 폴더 이름을 입력해야 합니다.

앱 폴더

앱 실행에 필요한 파일들을 담은 폴더입니다. 앱 실행 파일, 아이콘 파일, 리소스, 데이터 등 필요한 파일들을 준비하여 넣습니다. 앱 폴더 폴더명은 앱 개발사에서 원하는 이름으로 지정합니다. 단, 앱 폴더와 앱 폴더 하위에 있는 폴더를 포함하여 폴더명에 “#” 또는 “;” 문자를 포함해서는 안 되며, 앱 폴더 하위에는 비어 있는 폴더를 넣으면 안 됩니다.

META.JSON

meta.json은 앱 폴더에 넣은 앱 실행 파일(app.exe)의 상대 경로, 앱 아이콘(app.ico) 파일의 상대 경로, 앱 삭제 시 앱과 함께 삭제할 폴더 경로 또는 레지스트리 경로를 입력한 파일입니다. 여기서, 앱 실행 파일과 앱 아이콘 파일의 상대 경로는 meta.json 파일 위치를 기준으로 한 상대 경로입니다. meta.json앱 폴더와 반드시 같은 위치에 있어야 합니다.

 

meta.json 파일은 다음과 같은 형식으로 작성합니다.

필드명 설명 타입 필수 여부
launch

크로스플레이 런처로 앱을 실행할 때 사용하는 앱 실행 파일(예시:app.exe)의 상대 경로입니다.

string Y
icon

크로스플레이 런처로 앱을 설치할 때, PC 바탕 화면과 시작 메뉴에 바로가기 파일을 생성하는 데 필요한 앱 아이콘 파일(예시:app.ico) 상대 경로입니다. 크로스플레이 런처에서 바로가기 파일을 생성하려면 아이콘 파일이 반드시 있어야 합니다. 파일 포맷은 ico이며, 화면 해상도 대응을 위해 해상도가 서로 다른 총 6개 이미지 파일을 묶어 하나의 ico 파일로 만들어야 합니다.

  • 16X16
  • 32X32
  • 48X48
  • 64X64
  • 128X128
  • 256X256
string Y
delete

앱을 실행하는 과정에서 앱 설치 폴더가 아닌 다른 폴더에 데이터를 생성할 수 있습니다. 나중에 앱을 삭제할 때, 이렇게 앱 설치 폴더가 아닌 다른 곳에 존재하는 파일 또는 레지스트리를 함께 삭제해야할 경우, 삭제할 파일이 담긴 폴더 정보와 레지스트리 정보를 담은 배열입니다.

  • type: 앱 제거 시 함께 삭제할 데이터 종류(폴더 또는 레지스트리)
  • root: type 값이 레지스트리일 때만 입력하는 값으로, 레지스트리 Root에 해당함
  • path: 앱 제거 시 함께 삭제할 폴더 또는 레지스트리 경로
array N

 

다음은 delete 배열에 대한 안내입니다.

필드명 설명 타입 필수 여부
type

삭제할 데이터 종류입니다.

  • CSIDL: 삭제할 파일ProgramFiles 혹은 AppData 등 Windows OS에서 사용하는 특수한 폴더에 위치한 경우
  • general: 삭제할 파일이 일반적인 경로에 위치한 경우
  • registrykey: 삭제할 파일이 레지스트리 파일인 경우
string Y
root

레지스트리 Root에 해당하는 16진수 문자열로 typeregistrykey인 경우에만 입력합니다. 레지스트리 Root와 해당하는 16진수 값 예시는 아래와 같습니다.

  • Root: HKEY_CLASSES_ROOT
    값: 0x80000000
  • Root: HKEY_CURRENT_USER,
    값: 0x80000001
  • Root: HKEY_LOCAL_MACHINE,
    값: 0x80000002
  • Root: HKEY_USERS,
    값: 0x80000003
  • Root: HKEY_CURRENT_CONFIG,
    값: 0x80000005
string N
path

type 데이터가 위치한 경로입니다.

  • typeCSIDL일 때: CSIDL(16진수)/{나머지 경로} 형식으로 작성
  • typegeneral일 때: 절대 경로로 작성
  • typeregistrykey일 때: 레지스트리 전체 경로에서 Root를 제외하고 하위 트리와 키만 작성합니다.
string Y

 

다음은 어떤 게임 앱 파일이 아래와 같이 준비되었을 때 meta.json을 구성하는 예시입니다.

데이터 종류 데이터 위치 비고
game.exe 게임 실행 파일 루트 폴더/game 루트 폴더game은 모두 게임사가 지정한 디렉토리
icon.ico 아이콘 파일 루트 폴더/game 루트 폴더game은 모두 게임사가 지정한 디렉토리
MyGame 레지스트리 HKEY_CURRENT_USER/SOFTWARE/SOFTWARE/MyGame 게임 실행 과정에서 생성한 데이터로, 게임 삭제 시 함께 삭제해아 하는 레지스트리
myGameGlobalRes 폴더(일반 경로) C:/myGameGlobalRes 게임 실행 과정에서 생성한 데이터로, 게임 삭제 시 함께 삭제해아 하는 파일이 있는 폴더
myGameLocalRes 폴더(특수 경로) C:/Users/[username]/AppData/Local/myGameLocalRes 게임 실행 과정에서 생성한 데이터로, 게임 삭제 시 함께 삭제해아 하는 파일이 있는 폴더

 

위 상황에서 meta.json 파일은 아래와 같이 작성합니다.