PSO2:NGSを非Steamゲームで登録してオーバーレイやSteamコントローラーを使う方法

Phantasy Star Online 2
スポンサーリンク

PHANTASY STAR ONLINE 2: NEW GENESIS(以下PSO2:NGS)を非Steamゲームとして登録する方法を紹介しています。

PSO2:NGSに対する記事ですが、1つ目の方法はログインを必要としないランチャーがあるゲーム全般に有効で、2つ目の方法はランチャーでログインを必要とするようなゲームでも有効な方法となっています。

注意

非SteamゲームとしてPSO2:NGSを登録させる方法はPSO2:NGSのプログラムそのものに改変を加えるものでは無く、nProtect等のアンチチートプログラムによって制限されるような行為でもありません。

そのため規約違反になったりアカウントの利用停止となる可能性は極めて低いと思いますが、当サイトは被った損害への関与を一切しないので自己責任で利用して下さいとだけは明言しておきます。

スポンサーリンク

はじめに

グローバル版(旧名:北米版)はSteamで配信されていますが、日本版はSteamでは配信されていません。

個人的にはSteam版の実績が欲しいけどもPSO2:NGSグローバルSteam版を日本からプレイするにはSteamの規約違反マンにならなければならないので断念しました。

しかしSeries X|SのXboxコントローラーを初期不良で交換対応しているときに

「NGS用のコントローラーが無え!!」
「SwitchのProコンは……使えるけどアナログスティックの最大角度が狭くてフォトンダッシュじゃないただの走りが出来ない!!

という事態が起きたのでアナログスティックのデッドスペースを調整できるSteamコントローラーとしてProコントローラーを使用できないかと色々試した所、二通りの方法が見つかりました。

コマンドライン引数でランチャーを無視させる

無印PSO2では一部のSteamユーザーが知っていたり海外ユーザー向けのPSO2 Tweakerという非公式ランチャーの機能などで +0x33aca2b9 +0x01e3f1e9 といった引数を用いてランチャーをスキップできる事が知られていました。

しかしNGS実装時にこれらの引数は使えなくなりました。(少なくとも私の環境では)

ただコマンドライン引数自体は簡単に確認できたので、タスクマネージャーで確認できた通常起動で含まれる引数を以下の表にまとめました。

起動しているプログラムのコンソール引数を確認する方法
ゲームのショートカットを作成する時にランチャーを飛ばしてゲーム本体を起動させたいことがあって、その時に起動しているプログラムのコンソール引数を確認する方法を調べました。すると、思っていたよりも簡単に確認できたので備忘録として記事にします。手
引数内容
-rebootログインせずに起動したことを示す?
-sgtoken <32桁の16進数>@XXXX *1ログイン後の識別トークン *2
-optimize不明

*1 恐らくsgtokenのsgSEGA IDの意だと思われるので、LINE IDやTwitterでログインした場合は引数名が変わるかもしれません。
*2 この引数が存在しない場合、NGS前のようなシップ選択時のログイン画面が表示されます。

上記にある引数をそれぞれ試した所、少なくとも -reboot が存在するとランチャーを経由せずに起動することが可能であるとわかりました。

インストール先に依って指定パスは異なりますが、非SteamゲームにPSO2:NGSを追加した後にリンク先を以下のように書き換えれば問題ないです。

“C:\Program Files (x86)\SEGA\PHANTASYSTARONLINE2\pso2_bin\pso2.exe” -reboot

詳細は*3に後述しますがログインは以前のようにシップ選択時にすることになります。


利点
・楽
・ランチャーをスキップできる

欠点
アップデート時はランチャーを逐一別に起動させないといけない
・NGS前のようにログインがシップ選択時になるため、キャラチェンジに時間が掛かる
日本版では基本的に使用されないはずの機能*3が使用されているので、そのうち使えなくなるかもしれない

*3 グローバル版ではNGS前と同じログイン方法のプラットフォームが存在する模様です。日本版でもシップ選択画面で数時間放置したらログイン情報が消えてしまう、といった処理があればこのログイン画面が表示されるかもしれませんが、任意に呼び出す方法はコンソール引数のみだと思います。

ゲームの終了を待つプログラムを使う

SteamはPCゲーム最大手プラットフォームなだけあって、世界中に非Steamゲームに自分の持ってるゲームをすべて登録したいと考えるSteam教信者も少なくありません。

ランチャー付きゲームを登録する方法の一つとして「対象のゲームを起動し、そのゲームが終了するのを待つプログラム」を用いる方法があります。

既にマクロやバッチファイル、スクリプト等があちこちで配布されてましたが、私が見つけたものは対象のプログラムをハードコーディングして指定するようなものばかりでちょっと使いづらかったです。

なので独自に非Steamゲーム用のプログラムを作ってみました。もしよかったら使ってみて下さい。

【Steam】ランチャー経由で起動するゲームを非Steamゲームとして登録する為の補助プログラム
ゲームが起動している間バックグラウンドでJavaでプロセスを走らせ、ゲーム終了と共にプロセスも終了させるプログラムを作ってみました。既に同じ考え方のスクリプトは出回ってますが、私が登録したいゲームの中には管理者権限が必要なモノがあったり、一

利点
・通常のログイン方法が使える
・PSO2:NGS自体は特殊ではない通常の起動がなされる

欠点
・人によっては信用できない(私が公開しているものを使う場合)
・めんどくさい(自分で探すか作る場合)

うまく行かない場合

恐らく管理者権限が理由だと思います。

・コマンドライン引数で登録する方法の場合はSteamを管理者権限で起動する必要があるかもしれません。

・私が配布しているプログラムを用いるならNonSteamUac.exeを使う必要があります。

その他に不明な点などがあったらコメント欄で質問していただいても構いません。

コメント

タイトルとURLをコピーしました