Epic-Games-Launcher

如何為其啟動命令查找 Epic Game Store (EGS) 遊戲的啟動名稱?

  • November 28, 2020

背景:我正在製作一個統一的遊戲啟動器,所以我可以從所有不同的商店啟動遊戲。

例如:Steam/Origin 的啟動命令

蒸汽://rungameid/

來源://啟動遊戲/

我遇到了一些問題,為 EGS 尋找類似的結構。啟動遊戲的方式似乎有點複雜。下面的例子

com.epicgames.launcher://apps/AzaleaAlpha?action=launch&silent=true

遊戲是:“The Cycle Early Access”。

  • 如何找到來​​自 EGS 的已安裝遊戲?
  • 如何找到啟動命令所期望的遊戲的確切名稱?在上面的例子中,它是循環的“AzaleaAlpha”

這是一個有趣的挑戰。

首先,我為許多不同的遊戲創建了幾個快捷方式,並查看了.url它在我的桌面上創建的文件。所有連結的格式為:

com.epicgames.launcher://apps/[codename]?action=launch&silent=true

每個遊戲的地方[codename]都不一樣。例如:

  • Metro Exodus:“Snapdragon”
  • 蝙蝠俠阿卡姆騎士:“牛鳥”
  • 你好鄰居:“烏蘇斯”

由於 EGS 啟動器必須知道每個遊戲的代號才能創建這些快捷方式,我認為我的電腦上一定有某種配置文件,其中列出了不同的代號以及遊戲的安裝位置。

因此,我使用 Visual Studio Code 在我的目錄中的所有文件中執行搜尋,C:\以找到其中一個代號,並在以下位置找到了一個不錯的列表:

C:\ProgramData\Epic\UnrealEngineLauncher\LauncherInstalled.dat

儘管是.dat.,但它不是二進製文件,因此可以在任何文本編輯器應用程序中打開。

該列表是 JSON,僅包含您 PC 上已安裝的遊戲。它也可能包含 DLC。這是我的樣子:

{
   "InstallationList": [
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\MetroExodus",
           "AppName": "SnapdragonDLC1",
           "AppVersion": "0.1.0.17"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\YookaLaylee",
           "AppName": "Duckbill",
           "AppVersion": "1.0.27910"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\HelloNeighbor",
           "AppName": "Ursus",
           "AppVersion": "1.4.1"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\WorldOfGoo",
           "AppName": "Anemone",
           "AppVersion": "1.53"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\BatmanArkhamKnight",
           "AppName": "Cowbird",
           "AppVersion": "1.98"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\BatmanArkhamAsylum",
           "AppName": "Godwit",
           "AppVersion": "1.93"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\TheTalosPrinciple",
           "AppName": "Bustard",
           "AppVersion": "461288"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\QUBE2",
           "AppName": "Auk",
           "AppVersion": "1.2"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\MetroExodus",
           "AppName": "Snapdragon",
           "AppVersion": "0.1.0.24"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\TheOuterWorlds",
           "AppName": "Rosemallow",
           "AppVersion": "Rel1.2.0.418"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\TABS",
           "AppName": "Driftfish",
           "AppVersion": "0.8.7_02"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\AxiomVerge",
           "AppName": "Puffin",
           "AppVersion": "1.47"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\Metro2033Redux",
           "AppName": "Petunia",
           "AppVersion": "0.1.0.0"
       },
       {
           "InstallLocation": "C:\\Program Files\\Epic Games\\BatmanArkhamCity",
           "AppName": "Egret",
           "AppVersion": "1.7"
       }
   ]
}

有趣的是,該列表的副本也可以在另一個位置找到:

C:\Users\All Users\Epic\UnrealEngineLauncher\LauncherInstalled.dat

我不確定哪個文件在哪個上下文中使用,但它們都具有完全相同的內容。如果您的目的是簡單地創建一個啟動器,那麼任何一個文件都應該可以工作。

引用自:https://gaming.stackexchange.com/questions/363038