Prepare app files
To distribute your app via the Crossplay Launcher, you first need to prepare files necessary for running the app on a PC, such as the app icon, the app executable file, the app configuration file, etc. As an example only for illustration, let’s assume that the game app files for Com2uS Pro Baseball 2024 are prepared as follows.
1 2 3 4 5 6 7 8 9 10 11 |
Com2us_ProBaseball_2024 │ app.ico │ app.exe │ app.ini │ ... └─ resources └─ data └─ packages └─ ... |
In this case, to distribute the Com2uS Pro Baseball 2024 game through the Crossplay Launcher, you need to prepare the following directory structure.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// This is the root folder. Use the folder name you want. Com2us_Game_for_Crossplay_Launcher // This is the app folder. Use the folder name you want. └─ Com2us_ProBaseball_2024 │ app.ico │ app.exe │ app.ini │ ... └─ resources └─ data └─ packages └─ ... // This is the meta.json file. └─ meta.json |
root folder
root folder is the top-level directory containing all the data necessary to distribute an app with the Crossplay Launcher. root folder should contain app folder and meta.json. The folder name root folder can be specified by the app developer. After specifying the name, it should be entered in the Hive console under Crossplay Launcher > App Management > Download Setting > Game Installation Option > Folder Name.
app folder
app folder is the folder containing files necessary for app execution. Prepare and place the app execution file, icon file, resources, data, and other necessary files in this folder. The folder name app folder can be specified by the app developer. However, the folder name should not contain “#” or “;” characters, and it should not contain empty subfolders.
META.JSON
In meta.json, there are the relative paths of the app execution file (app.exe), icon file (app.ico), which are placed in the app folder, and the paths or registry paths to be deleted along with the app upon uninstallation. The relative paths of the app execution file and icon file are relative to the location of the meta.json file. meta.json must be located in the same location as the app folder.
Write the meta.json file following the example format below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
{ "launch": "app folder/app.exe", "icon": "app folder/app.ico", "delete": [ { "type": "CSIDL", "path": "0x1c/myGameLocalRes" }, { "type": "general", "path": "C:/myGameGlobalRes" }, { "type": "registrykey", "root": "0x80000001", "path": "SOFTWARE\\MyGame" } ] } |
Field Name | Description | Type | Required |
---|---|---|---|
launch |
The relative path of the app execution file (e.g., app.exe) used when running the app with the Crossplay Launcher. |
string | Y |
icon |
The relative path of the app icon file (e.g., app.ico) required to create shortcut files on the PC desktop and start menu when installing the app with the Crossplay Launcher. To create shortcut files in the Crossplay Launcher, the icon file must be present. The file format should be
|
string | Y |
delete |
During running the app, the app may generate data in folders other than the app installation folder. The files or registry entries located elsewhere than the app installation folder need to be deleted when uninstalling the app. This field contains the information of those files or registries, an array of folder information and registry information to be deleted.
|
array | N |
The following is a guide for the delete
array:
Field Name | Description | Type | Required |
---|---|---|---|
type |
The type of data to be deleted.
|
string | Y |
root |
A hexadecimal string representing the registry Root, entered only when the
|
string | N |
path |
The path where the
|
string | Y |
The following is an example of configuring meta.json when a certain game app files are prepared as shown below:
Data | Type | Data Location | Notes |
---|---|---|---|
game.exe | Game Execution File | root folder/game | root folder and game are both directories specified by the game company |
icon.ico | Icon File | root folder/game | root folder and game are both directories specified by the game company |
MyGame | Registry | HKEY_CURRENT_USER\SOFTWARE\SOFTWARE\MyGame | Registry data generated during game execution, the data to be deleted along with the game upon uninstallation |
myGameGlobalRes | Folder (General Path) | C:/myGameGlobalRes | Data generated during game execution, folder containing files to be deleted along with the game upon uninstallation |
myGameLocalRes | Folder (Special Path) | C:/Users/[username]/AppData/Local/myGameLocalRes | Data generated during game execution, folder containing files to be deleted along with the game upon uninstallation |
In the above situation, write meta.json file as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
{ "launch": "game/game.exe", "icon": "game/icon.ico", "delete": [ { "type": "CSIDL", "path": "0x1c/myGameLocalRes" }, { "type": "general", "path": "C:/myGameGlobalRes" }, { "type": "registrykey", "root": "0x80000001", "path": "SOFTWARE\\MyGame" } ] } |