Logicool G HUB でプロファイルの切替が行われないゲームを認識させる方法(Steamのゲーム限定)


細かい検証は行っておりませんので、自己責任でお願いします。
初稿:Logicool G HUB バージョン2020.1.31155
追記1:Logicool G HUB バージョン2021.9.7463
追記2:Logicool G HUB バージョン2021.10.8013

手動で.exe追加しても、切り替わらない・・・

G HUBにおいてPUBGのテストサーバの.exeを、自動で作られるPUBGのプロファイルのカスタムパスとして追加したが、ゲームを起動してもプロファイルが切り替わらない。
実行ファイルの方式?はライブサーバ版とテストサーバ版では変わらないはずなのになぜ?

どうやって認識してるの?

自動で作られるプロファイルのパスは、Steamのゲームの場合
C:\Program Files(x86)\Steam\steamapps\common\PUBG\
のようにゲームフォルダまでで、.exeで指定されていない。

そこで、どのようにして、ゲームを認識しているかを解析してみた。

設定に関するファイルらしき物を探して中身をみていたら、
C:\Program Files\LGHUB\data 内の
applications.json
に奇妙な記述があった。

"detection": [
        {
          "steam": {
            "appId": "578080"
          }
        }
      ], 
      "name": "PlayerUnknown's Battlegrounds", 
      "poster_url": "pipeline://core/applications/playerunknowns_battlegrounds_poster.jpg", 
      "profile_url": "pipeline://core/applications/playerunknowns_battlegrounds_profile.jpg", 
      "version": 3

"detection"? 検知方法とかかな?
この"appId"の番号はsteamのストアの商品URLなどに使われるIDと同じだった。

これによりsteamから起動しているゲームの情報をもらっているのだと推測できる。

こうしたらできました

applications.jsonに同じ書き方でsteamのゲームを追加すれば解決。
applications.jsonの構造はこうなっている(一例)

{
  "applications": [
    {
      "applicationId": "アプリケーションID(G HUB内のアプリケーション識別子)", 
      "commands": [
        ゲーム特有のコマンド(省略)
      ],
      "detection": [
        {
          "steam": {
            "appId": "steamでのID"
          }
        }
      ], 
      "name": "ゲーム名", 
      "poster_url": "プロファイルの画像の取得先", 
      "profile_url": "プロファイルの画像の取得先", 
      "version": 3
    }, 
  ]
}

"detection"がゲームの検知方法だと思われるが、steam以外にもレジストリを指定したりしていたが、ここではsteamを利用したゲームの検知に限定する。

よってPUBGのテストサーバを追加するには

  • G HUBを一旦終了させる
  • C:\Program Files\LGHUB\data\applications.json内のPUBGの部分をコピペ(ファイルのパスはG HUBのインストール先によって異なる)
  • "applicationId"を別の値にする(おそらく重複していなければ何でも良い)
    • "name"のゲーム名は同じでも構わない
  • "appId"をPUBGテストサーバのにする(622590)
  • 管理者権限を使って上書き保存(一瞬コマンドプロンプトが立ち上がる)
  • G HUBを起動する

するとゲームのパスを指定していないのに、追加されている。


追記1

いつの間にかapplications.jsonに記載されているSteamのゲームのプロファイルが追加されなくなっているのが気になり調べたところ、Redditにて興味深い投稿がされていたので、内容を軽く説明すると、
Steamがインストールされているフォルダ以外の場所にゲームをインストールするために、steamライブラリフォルダーを追加して、そこにインストールしたゲームについて

Steamのライブラリフォルダー関連のアップデートに対し、G HUBが対応できていないので、本記事の方法ではプロファイルの切り替えどころか、G HUBでプロファイルの自動追加すらされないことが確認されている。

まぁよく見つけたなぁって感じですね



この現象については、後日別の記事でもう少し細かく解説しようと思う


追記2

追記1の現象は、G HUBのアップデート内容に、バク修正ということで、問題が解決された記載があり、実際に未インストールとなっていたSteamのゲームが認識されているのを確認。

さいごに

個人的な意見になりますが、Logicoolはハードに関しては良いものを作っているが、ソフトの可用性がイマイチで、もどかしい感じが強いです。技術的にそこまで難しいことではないと思うんですけどね。