njo

StarfieldのMod有効化手順とトラブルシューティング

Mod有効化(Archive Invalidation)のためのINI設定について

Modを有効化するためには.iniの設定ファイルにコードを追加する必要がある。英語ではArchive Invalidationと言われている。

bInvalidateOlderFiles=1sResourceDataDirsFinal= を設定する必要がある。

bInvalidateOlderFiles=1 とは?

これはOlderFiles(古いファイル)を無効化するかどうかという設定。OlderFilesというのは具体的にはバニラの元のファイルたちを指していて、Invalidate(無効化)といっても完全に無効化させるわけではなく優先度を下げるという意味。 0 がデフォルトで、OlderFilesを無効化しない、つまり元のファイルを最優先にする設定。 1 はOlderFilesを無効化するという設定。つまり元のファイルの優先度を下げて、新しく追加したModのファイルの優先度を上げる設定。

sResourceDataDirsFinal= とは?

これは Data\ 内でスキャンするサブフォルダを指定する設定。デフォルトでは STRINGS\ のみが設定されているため、それ以外のサブフォルダ(Modで追加されるInterfaceやSound)なども自動的に全てスキャン対象とするために空を設定することになる。

Mod有効化手順

事前準備

  • デフォルトのWindowsでは拡張子が省略されて表示されるが、あらゆるトラブルの元になるので常に拡張子を表示させておいた方がいい。どこでもいいのでエクスプローラーを開き上の「表示」->「表示」->「ファイル名拡張子」をオンにする

StarfieldCustom.iniのファイル新規作成

誤った形式のファイルを作るとトラブルの元なので、元々存在しているファイルをコピペして新しいファイルを作成するのが一番安全。

  1. 設定ファイルを作成するフォルダを開く。エクスプローラーのアドレスバーに %USERPROFILE%\Documents\My Games\Starfield\ を入力してエンターで開ける。開くと StarfieldPrefs.ini があるはず

  2. StarfieldPrefs.ini をコピーして同じ場所に張り付けし StarfieldPrefs - コピー.ini を作成する

  3. StarfieldPrefs - コピー.ini の名前を StarfieldCustom.ini に変更する

  4. StarfieldCustom.ini の中身をすべて削除する

StarfieldCustom.iniにMod有効化のための設定追加

  1. StarfieldCustom.iniテキストエディタで開き、その中に下の3行を追加する

    • 新たに StarfieldCustom.ini を作成した人は下の3行だけが存在しているはず
    • 例えばFOVを設定したい場合などはこのファイルに設定を書いていくことになる
    [Archive]
    bInvalidateOlderFiles=1
    sResourceDataDirsFinal=
    
  2. 完了

Modが有効化されない場合のトラブルシューティング

不正な目に見えない文字が混入している

目に見えない文字がINIに混入する事で設定が反映されない問題。このブログの上の設定をコピペするのは安全だけど、Nexusmodの説明欄などに記載されているコードをコピペする場合はかなり注意した方がいい。たぶんNexusmodの入力フォームが悪いと思う。

Windowsの標準のメモ帳ではこれを確認する事ができないが、もう少し高機能なエディタであればこれを目で確認する事ができる。他の回避策としてはタイプミスに注意して綺麗に削除した後に手入力で書き直すなど。

例えば9/17現在の Ship Skip - Instant Station Docking and More by Bub というModの説明欄に記載されているコードをVisualStudio Codeで確認すると下記のようにメモ帳では目に見えない文字が先頭に混じっている。これではModは有効化されない。

なぜかStarfield.iniに設定を書かないと反映されない民

原因はよくわかっていないが、 StarfieldCustom.ini に正しく設定を追加しても設定が反映されない人がいるらしい。そういう人は Starfield.ini というファイルに設定を追加すると反映されるらしい。

Starfield.inisteamapps\common\Starfield\Starfield.ini に存在するもの。 \Documents\My Games\ の方ではないので注意。

設定方法は、 Starfield.ini の中にはすでに [Archive]sResourceDataDirsFinal=STRINGS\ が設定されているので、この sResourceDataDirsFinal=STRINGS\= より後ろ STRINGS\ を消す。そして bInvalidateOlderFiles=1 の行を追加する。 StarfieldCustom.ini に設定したものと同じ内容にするということ。これでModが有効化されるらしい。