MOD/Tool/BOSS のバックアップソース(No.16)

Top/MOD/Tool/BOSS
// 原文のCompatibility With BOSS Master List Manager (BOMM)は未訳です
// 使ってる方が追記していただければと思います

*はじめに [#ue6c590b]
''Better Oblivion Sorting Software''(以後BOSS)とはOblivion/Nehrim、そしてFallout 3/New Vegasのロード順を調整し、有害な競合を回避する為のワンクリックで動作するプログラムです。

バージョン1.6以降、masterlist.txtのアップデートはGoogle Code repositoryに置かれているものを取得しに行く形になりました。このページではVersion1.6以降のBOSSの情報を扱います。

''目次''
#contents

*特徴 [#bossfeatures]
- 11,800以上のOblivionのMODの妥当なロード順序を定義し、FCOM、OOO、MMM、Better Cities、Open Cities、Race Balancing Projectや他の大型MODの導入を検出します
- Oblivion向けの機能として、OOOとBetter Cities、そしてFCOMと非FCOMセットアップの間に区別を使用する際に特定のメッセージを提供することができます。また、一般的なFCOMのインストールミスを検出し、それらについてユーザーに警告します
- 2,600以上のFallout 3のMODの妥当なロード順序を定義します
- 2,200以上のFallout: New VegasのMODの妥当なロード順序を定義します
- Nehrim - At Fate's EdgeでもMODのソート機能を活用できます
- ロード順に関するちょっとした注意事項を多くのMODに提供しています
- (もしあれば)MODのバージョン番号をログに表示します
- MODの位置とメッセージを制御する簡単なユーザカスタマイズが提供されます
- Wrye Bash(Oblivion)、Wrye Flash(Fallout 3)またはWrye Flash NV(Fallout: New Vegas)のBashタグに関して、ソート時に推奨されるBashタグをセットします
- Wrye Bash/Flashでghost化したMODもソートされます
- JPWikiMODなど、日本人が作ったMODもマスターリストに登録されるようになりました
- 簡単にModの位置やメッセージをカスタマイズする機能があります(後述)
- GUIで簡単にBOSSの機能にアクセスでき、また異なるセッティングでの起動も可能です
- 2011年9月15日現在、絶えず最新版への更新が行われています
- マスターリストファイルであるmasterlist.txtをGUI等から自動的にアップデートする機能も搭載されており、わざわざ自力で更新されたmasterlist.txtをダウンロードして上書きする必要がなくなりました
- (もしその情報があれば)他のMODとのコンフリクト情報、互換性情報、あるMODに必要な依存元MODも教えてくれます
*入手・導入 [#bossinstall]

**入手場所 [#getboss]
[[1.8>http://www.tesnexus.com/downloads/file.php?id=20516]](TESN)
[[1.65>http://modsreloaded.com/better-oblivion-sorting-software]]
[[1.51>http://www.fileplanet.com/213493/210000/fileinfo/The-Elder-Scrolls-IV:-Oblivion---Better-Oblivion-Sorting-Software-Mod]](FilePlanet、このバージョンはこのページの解説は役に立ちません。[[MOD/Toolページの解説>MOD/Tool#boss]]を参照してください)
このページの情報は''BOSS 1.7''を基底としています。
**インストールと基本的な使い方 [#af86cf4a]

+(もし使っていれば)Wrye BashのLock Time機能は解除しておくこと。
--Wrye BashのModsタブの下、Modリストのヘッダー(File Load Order……と並んでいる部分)を右クリックして出るメニュー内の'''Lock Times'''のチェックを外します。
--Wrye Bash v292以降の場合、上記メニュー内にある'''BOSS Disable Lock Times'''にチェックを入れておけばLock Time機能は有効のままでも問題ありません。
+古いバージョンのBOSSを使っていた場合、関連ファイルを削除しておきます。
++Version1.5以前のバージョンのBOSSを使用していた場合、Dataフォルダ内にあるBOSS.bat、modlist.txt、modlist.old、masterlist.txt、BOSSlog.txtは不要なので削除してください。
自分で変更したmasterlist.txtであれば削除せずにバックアップを他の場所に残しておきましょう(後述するuserlist.txtの作成時によいヒントになるでしょう)。
++Version1.6以降のバージョンのBOSSを使用していた場合、Dataフォルダ内にあるBOSS関連のバッチファイル(*.bat)、BOSSフォルダは不要になります。BOSSフォルダ内にあるuserlist.txtがあれば他の場所に移動させて、残りは削除します。
+ダウンロードしたファイルを解凍して、ゲームのインストール場所にBOSSフォルダをコピーします
BOSSフォルダがOblivion.exe(他のゲームの場合はその実行ファイル名)と同じ階層にあるようにしてください。
Version1.6系のBOSSを使用しており、userlist.txtを作成していた場合はこのBOSSフォルダ内に移動させます。 
+BOSSフォルダ内にある"'''BOSS GUI.exe'''"をダブルクリックして起動し、ウィンドウ右側の"Sort Mods"の真下にある"'''Update Masterlist'''"にチェックを入れ、ウィンドウ左下にある"'''Run BOSS'''"をクリックするとBOSSフォルダ内にmasterlist.txtなどのファイルが生成され、Modの並び替えが行われます。
+以後は通常、BOSS.exeを実行すればよいですが、定期的にBOSS GUI.exeを起動して上記操作で最新の定義をダウンロードするようにしましょう。

一度BOSSを実行して完了すると、結果出力がブラウザに自動的に表示されます(GUI設定でプレーンテキストファイルでの出力もできます)。該当する場合は、Notes(注意)やError(エラー)文を読み、それによって示唆されている関連するすべての変更を行います。Wrye Bashは、BOSSタグの提案からBashタグが適用されます。いくつかのbashのタグの提案は、必要に応じてWrye Bashが自動でタグを調節します。必要であれば手動で適切なBashタグをセットしてください。

masterlistに登録されていないMODはロード順の並び替えはされず、並び替えられたMODの最後に配置されます。そうしたMODはOBMMやWrye Bashを使い手動で適切な場所に移動する必要があります。

旧版のように''masterlist.txtを編集しないでください''。BOSS - Update Masterlist.batを使用した際、masterlist.txtは上書きされるので手動で変更した部分は破棄されます。同じようなことをする場合は後述するuserlist.txtを作成します。
*userlist.txtの作成 [#bossuserlist]

Version1.7以降のBOSSでは上記の通りBOSS GUI.exeを起動してmasterlistをオンラインアップデートすることができますが、以前のようにmasterlistを直接編集する場合、masterlistをアップデートするとこれらの編集が取り除かれる問題があります。未登録のMODのソートや登録済でもソート順を変更したい場合((たとえばSupreme MagickaとL.A.M.E.のソート順を変えてどちらのMODを優先させるかとか))の為に個人用のルール定義ができるようになっています。

以下の項目はBOSS\BOSS User Rules ReadMe.htmlの翻訳になります。
**Userlist使用前に [#bossbeforeul]

> 注:
> 以下、「MOD」とか「プラグイン」などの単語は同じものとして扱い、拡張子が.esmまたは.espの単一のファイルのことを意味します。明示的な断りがない限り、「MOD(またはプラグイン)の名前」は拡張子を含むファイル名を指します。
> 
> また、以下の文章はOblivionを対象に書かれていますが、この機能はOblivion、NehrimとFallout 3、Fallout: New Vegasで動作します。「ゲームのマスター.esm」ファイルが記載されている場合、これはOblivion.esm、Nehrim.esm、Fallout3.esmまたはFalloutNV.esmに関連付けられています。

UserlistはMODのソート順を整えたりBOSSがログに吐き出すMODのメッセージを編集する、カスタムルールを定義するファイルです。ファイルはBOSSフォルダにuserlist.txtとして存在します。なければこの名前のテキストファイルを作成してください。エクスプローラのフォルダオプションで「'''登録されている拡張子は表示しない'''」にチェックされている場合は間違って"userlist.txt"と作成して"userlist.txt.txt"とならないようにしてください。
※コメントに日本語を使う場合は文字コードをutf-8nで保存すると文字化けしない。

userlist.txtはメモ帳などの基本的なテキストエディタで開くことができ、このファイル内にルール定義を書き込んでいくことになります。変更できるルールは以下の2点です。

:1.MODやMODグループの並べ替え|MODを他のMODに対する前後に並び替えたり、MODグループを他のグループに対する前後に並び替えることができます。MODグループはBOOSのmasterlistであらかじめ定義されており、\BeginGroup\: Group Name の行と \EndGroup\\ の行で区切られています。既登録のMODの順番やグループの順番をmasterlistの記述から変更することもできますが、新しいMODグループを作ることはできません。
:2.BOSSメッセージの編集|BOSSlogに表示されるMOD特有のメッセージを加えたり置き換えることができます。メッセージタイプと構文に関するその他の詳細に関しては後述します。
**ルール定義の基礎 [#k5e420e6]

ユーザールールの適切な理解を得るために後述の[[ルール定義構文>MOD/Tool/BOSS#bosssyntax]]部を読むことが強く推奨されますが、いくつかの簡単なルールの為のクィックスタートガイドを用意しました。

***未登録MODのソート [#bossulsort1]

masterlist未登録のMODを他のMODの後ろに並べる場合

 ADD: <RULE MOD>
 AFTER: <SORT MOD>

他のMODの前に並べる場合

 ADD: <RULE MOD>
 BEFORE: <SORT MOD>

~ '''RULE MOD''' は追加したいMODで、'''SORT MOD''' は '''RULE MOD''' を配置する基準となるMODです。このふたつのMODは両方とも正しくDataフォルダーにインストールされていなければなりません。また、「ゲームのマスター.esm」よりも前にMODを並べることはできません。

例) 
注意:1.7は構文の末尾(下の例だとespの後)にスペースが混入していると正しく認識されなくなっています。
 ADD: Mod1.esp
 AFTER: AFK_Weye.esp
 
 ADD: Mod2.esp
 BEFORE: AFK_Weye.esp

上記の記述を適用すると
 ...
 Mod2.esp
 AFK_Weye.esp
 Mod1.esp
 ...
***認識されているMODの位置の変更 [#bossulsort2]

masterlist登録済のMODを他のMODの後ろに並べる場合

 OVERRIDE: <RULE MOD>
 AFTER: <SORT MOD>

他のMODの前に並べる場合

 OVERRIDE: <RULE MOD>
 BEFORE: <SORT MOD>

~ '''RULE MOD''' は並べ替えたいMODで、'''SORT MOD''' は '''RULE MOD''' を配置する基準となるMODです。このふたつのMODは両方とも正しくDataフォルダーにインストールされていなければなりません。また、「ゲームのマスター.esm」よりも前にMODを並べることはできませんし「ゲームのマスター.esm」を後方に並べ替えることもできません。MODはmasterlistで与えられている場所からあなたが指定する場所に移され、ソートされるでしょう。

例)

 OVERRIDE: bgBalancingEVCore.esp
 AFTER: Unofficial Oblivion Patch.esp

上記の記述を適用すると

 ...
 Unofficial Oblivion Patch.esp
 bgBalancingEVCore.esp
 ...

***MODのBOSSlogメッセージとBashタグ提案の編集 [#bossulsort3]

BOSSlogに表示されるメッセージを追加する場合

 FOR: <RULE MOD>
 APPEND: <MESSAGE OBJECT>

BOSSlogに表示されるメッセージを置き換える場合

 FOR: <RULE MOD>
 REPLACE: <MESSAGE OBJECT>

~ '''RULE MOD''' はメッセージを編集したいMODで、このMODは正しくDataフォルダーにインストールされていなければなりません。'''MESSAGE OBJECT''' は追加しようとするBOSSlogメッセージ形式のメッセージです。BOSSlogメッセージ形式になじみがなければ後述する[[BOSSメッセージ形式>MOD/Tool/BOSS#bossformat]]を参照してください。

例)
 FOR: Unofficial Oblivion Patch.esp
 REPLACE: ? Overrided!
 
 FOR: bgMagicEV.esp.esp
 APPEND: % {{BASH:Names,Delev,Relev}}

上記の記述を適用した場合のBOSSlogの記述

 ...
 Unofficial Oblivion Patch.esp
 Note: Overrided!
 ...
 bgMagicEV.esp.esp
 Bashed Patch tag suggestion: {{BASH:Names,Delev,Relev}}
 ...

**ルール定義構文 [#bosssyntax]

ユーザールールには、適用されるために従わなければならない構造と構文があります。以下の情報はこの構造と構文に関する詳細です。

***ルール行 [#bossrulesyntax]
すべてのルールはルール行から始まります。構造は以下のようなものです。

 <RULE KEYWORD>: <RULE OBJECT>

~ '''RULE KEYWORD''' は以下の3つのうちのひとつです。

-''ADD:'' ルールがmasterlistにないMODを追加します。ソート行(必須)、メッセージ行が続きます
-''OVERRIDE:'' ルールがmasterlistにあるMODの位置を置き換えます。ソート行(必須)、メッセージ行が続きます
-''FOR:'' ルールがMODに付いているメッセージを変更します。メッセージ行(必須)が続きます

~ '''RULE OBJECT''' はルールが適用されるMODかグループです。'''RULE KEYWORD''' がFORであれば '''RULE OBJECT''' はMOD以外に有り得ません。'''RULE OBJECT''' がMODであればDataフォルダーに正しくインストールしなければなりません。

グループを定義している場合、masterlistで使われている名前である必要があります。たとえば、参照したいグループのMODがSupreme Magickaから始まっているのであれば '''RULE OBJECT''' は ''Supreme Magicka'' になります。ただし、常に最初に読み込まれなければならないESMsグループに関しては並び替えはできません。

***ソート行 [#bosssortsyntax]

ルール行の '''RULE KEYWORD''' がADDまたはOVERRIDEであった場合、ソート行を''含める必要があります''。構造は以下のようなものです。

 <SORT KEYWORD>: <SORT OBJECT>

~ '''SORT KEYWORD'''は以下のうちのひとつです。

-''BEFORE:'' これは '''RULE OBJECT''' が '''SORT OBJECT''' の直前にロードされることになっていると述べます
-''AFTER:'' これは '''RULE OBJECT''' が '''SORT OBJECT''' の直後にロードされることになっていると述べます
-''TOP:'' これは  '''SORT OBJECT''' がソートグループのトップに挿入されることになっていると述べます。そのルールのMODはソートグループ内の他のすべてのMODよりも前ににロードされるでしょう
-''BOTTOM:'' これは  '''SORT OBJECT''' がソートグループの最後に挿入されることになっていると述べます。そのルールのMODはソートグループ内の他のすべてのMODよりも後にロードされるでしょう


~ '''SORT KEYWORD''' が ''BEFORE'' または ''AFTER'' のとき、 '''SORT OBJECT''' は '''RULE OBJECT''' が何なのかによって変わります。'''RULE OBJECT''' がMODであれば、'''SORT OBJECT''' はMODであるし、逆もまた然り。MODはMODを参照してソートしなければなりませんし、グループもグループを参照しなければなりません。また、「ESMs」が分類する前に、あなたは、あなたの「ゲームのマスター.esm」を分類できず、それの前に他のMODを割り当てることも、グループを分類することもできません。

~ '''SORT KEYWORD''' が ''TOP'' または ''BOTTOM'' を使っているとき、ソートオブジェクトはそのルールのMODを挿入した '''''グループ''''' になります。あなたいかなるグループにも、MODへのMODにも挿入することもできませんし、 ESM グループのトップに何かを挿入することもできません。


~ '''SORT OBJECT''' がMODであればDataフォルダーに正しくインストールしなければなりません。また '''RULE KEYWORD''' がFORのルールにはソート行を''含めてはなりません''。
***メッセージ行 [#bossmessagesyntax]

ルール行の '''RULE KEYWORD''' がFORであった場合、メッセージ行を''最低1行は含める必要があります''。構造は以下のようなものです。

 <MESSAGE KEYWORD>: <MESSAGE OBJECT>

~ '''MESSAGE KEYWORD''' は以下のうちのひとつです。

-''APPEND:'' これはメッセージが '''RULE OBJECT''' のメッセージのリストに追加されることであると述べます
-''REPLACE:'' これはメッセージが '''RULE OBJECT''' の既存のメッセージのリストを置き換えるものであると述べます

~ '''MESSAGE OBJECT''' は '''MESSAGE OBJECT''' で定義されたMODに付加するシンボルコード付きの完全なメッセージです。メッセージをグループに加えることはできません。

ひとつのルール行に対して複数のメッセージ行を追加できます。複数のメッセージをMODに新規に追加したり、既存の複数のメッセージを新しいセットで上書きできます。また、ADDおよびOVERRIDEの '''RULE KEYWORD''' もメッセージ行を含むことができます。

***userlistの例 [#bossulexample]

 ADD: MyModToAdd.esp
 AFTER: LoadAfterThis.esm
 APPEND: ? Adding a general comment.
 APPEND: $ Incompatible with OOO!
 
 OVERRIDE: MyModToOverride.esp
 BEFORE: LoadBeforeThis.esp
 
 OVERRIDE: L.A.M.E.
 BEFORE: Supreme Magicka
 
 FOR: bgBalancingEVOptionalNPCDiversity, Vanilla.esp
 REPLACE: ? This is a replacement message.
 APPEND: % {{BASH:NpcFaces,NoMerge}}

上記を適用すると以下のようになります。

 ...
 LoadAfterThis.esm
 MyModToAdd.esp
 ? Adding a general comment.
 $ Incompatible with OOO!
 ...
 MyModToOverride.esp
 LoadBeforeThis.esp
 ...
 bgMagicEV.esp
 % {{BASH:Names,Delev,Relev}} if you are running more than one magic overhaul and want to use LAME spell names.
 ? Move Supreme Magica after LAME if you want Supreme Magica spell stats.
 bgMagicEV Vwalk.esp
 % {{BASH:Actors.Anims,NoMerge}}
 ...
 SupremeMagicka.esp
 % {{BASH:Names,Graphics}}
 SM Ancestral Guardian.esp
 ...
 bgBalancingEVOptionalNPCDiversity, Vanilla.esp
 ? This is a replacement message.
 % {{BASH:NpcFaces,NoMerge}}
 ...

※ 三段目のOVERRIDEルールにより、L.A.M.E.グループに属するインストール済MODがSupreme MagickaグループのMODの前に移動します。

**自作ルールの適用 [#bossenforceul]

BOSSが動作するとき、Data\BOSS\userlist.txtにuserlistが存在し、その中にひとつでもルールが書かれていればBOSSはまず構文をチェックし、正しい構文であればそれらを適用し、問題があればその構文はスキップされます。userlistの適用、不適用を問わずその結果は、Data\BOSS\BOSSlog.htmlの先頭付近、Userlist Messagesセクションで表示されます。不適用の場合は詳細なエラーメッセージが出力されるので原因解決の参考になるでしょう。

ルールが正しく適用された場合、そのルールの内容によって一つ以上のメッセージを出力します:

+ルールがソート行を含む場合次のメッセージを出力します:
 "Mod/Group Name" sorted before/after "Mod/Group Name".
+ルールが一つ以上のメッセージ行を含む場合、各々のメッセージ行は次のメッセージを出力します:
 "Message" appended to/replaced messages attached to "Mod Name".

ルールに構文エラーまたはすでにmasterlistに存在するMODを改めて追加するなどした場合、エラーの種類に応じて一つまたはそれ以上のエラーメッセージを出力します。

+正しい構文のルールではあるものの、すでにmasterlistに存在するMODを追加した場合、次のメッセージを出力します:
 "Mod Name" is already in the masterlist. Rule skipped.
+ルールが認められない(例えば綴りを間違えていたり)キーワードを含む場合、それはエラー行の内容を出力し、エラーが見つかったルールをスキップします。エラー行が新しいルールの最初の行であるならばその規則もスキップされます。
+ルールが一つ以上の他の構文エラーを持つ場合、それは一連の形の下でリストを出力します: 
 The rule beginning "First Line Of Rule" has been skipped as it has the following problem(s)

各々の構文エラーのエラーメッセージは以下の通りです。

--参照されるMODがDataフォルダで見つからない場合:
 "Mod Name" is not installed.
--MODをグループを参照してソートしようとしたり、またはその逆の場合:
 It references a mod and a group.
--'''RULE KEYWORD'''がFORであり、にもかかわらずソート行を含む場合:
 It includes a sort line in a rule with a FOR rule keyword.
--'''RULE KEYWORD'''がADDであり、追加しようとしているものがMODではなくグループであった場合:
 It tries to add a group.
--グループを参照するルールにメッセージ行が付加されている場合:
 It tries to attach a message to a group.
--'''RULE OBJECT'''がESMsグループである場合:
 It tries to sort the group "ESMs".
--'''SORT KEYWORD'''がBEFOREであり、'''SORT OBJECT '''がESMsグループである場合:
 It tries to sort a group before the group "ESMs".
--'''RULE OBJECT'''が「ゲームのマスター.esm」であり、ソート行が含まれる場合:
 It tries to sort the master .ESM file.
--'''SORT KEYWORD'''がBEFOREであり、'''SORT OBJECT '''が「ゲームのマスター.esm」である場合:
 It tries to sort a mod before the master .ESM file.

''ルールの適用がmasterlist.txtまたはuserlist.txtを変更することはありません''。つまり、適用の取り消しを行いたければuserlist.txtから取り消したい部分を削除し、BOSSを再度実行する必要があります。


**ルールに関する補足 [#bossulnotes]

ルール定義構文の節でルール定義の規則原則についての大半は示しましたが、以下に更なる一般的な注意事項(ものによっては明白ではないものもあります)を示します。

+空白行、または行の先頭が「//」(カギ括弧はのぞく)で始まる行(コメント行)はBOSSからは無視されます。空白行を使ってuserlistの読みやすさを改善したり、コメント行に説明を書き込んだり特定のルールを使用しないようにするために行の先頭に「//」を使うことができます。
+ユーザールールは大文字小文字を区別しません。唯一の例外はメッセージで、BOSSlogに出力されるとき大文字小文字は維持されます。
+ルールの'''RULE OBJECT'''に指定されたMODがDataフォルダーにない場合、ルールはスキップされます。
+Wrye Bash/Flashでghost化したMODはghost化されてないものと同様に扱います。".ghost"拡張子の有無に関わらずルールから参照することができます。
+"ESMs"グループは常に最初にロードされなければなりません。並べ替えたりESMsグループの前にグループを並べることはできません。
+「ゲームのマスター.esm」は常に最初にロードされなければなりません。並べ替えたり「ゲームのマスター.esm」の前にMODを並べることはできません。
+masterlistに未登録で、かつそのルールより前に並べ替えされなかった別のMODを参照してMODを並べ替えたりなどはできません。
+グループを2回以上並べ替えしてはいけません。グループを並べ替える複数のルールを使う場合、他の並べ替えされたグループの内側にグループを並べ替えることがないよう確認してください。
+''ルールは記述順に適用されます''。これは、同じMODに対して異なる並べ替えルールを使えたり、より前のルールで並べ替えされたMODを参照して並べ替えするルールを使えることを意味します。たとえば、

 ADD: LoadBeforeThis.esp
 AFTER: RTT.esp
 
 ADD: Mod1.esp
 BEFORE: LoadBeforeThis.esp
 
 OVERRIDE: xulAspenWood.esp
 AFTER: Mod1.esp
 
 ADD: Mod2.esp
 BEFORE: RTT.esp

というルールがあった場合、以下のように並べ替えられます。

 Mod2.esp
 RTT.esp
 Mod1.esp
 xulAspenWood.esp
 LoadBeforeThis.esp

このようなルールを書く場合、userlistのルール適用順序のちょっとした違いが並べ替え結果に重大な差異をもたらす可能性があることに注意してください。

**BOSSメッセージ形式 [#bossformat]

MODのメッセージを編集するのがお望みでしたら、BOSSメッセージ形式を理解するのは重要です。7つのメッセージタイプそれぞれがどんなタイプに関するメッセージであるか意味するシンボルコードで始め、次にメッセージ自体が続きます。メッセージは標準のテキスト行です。ただし、Bashタグ提案コメントにはタグ提案のための特別な構文があります。異なったメッセージタイプのためのシンボルコードは以下の通りです。

-%……Bashタグ提案
-?……一般的なコメント
-*……致命的なFCOMインストールエラー
-:……インストールに必須なもの
-"……メッセージの付いているMODに対して特有の非互換とされているもの
-$……OOO特有のコメント。OOOを導入しているときだけBOSSlogに表示
-^……Better Cities特有のコメント。Better Citiesを導入しているときだけBOSSlogに表示

***Bashタグ提案の構文 [#r430abc8]

> % {{BASH:'''提案するタグをコンマで区切って書く'''}} コメントがあれば記入.

例:
 % {{BASH:Names,Graphics}} to prevent changes being lost when using overhauls.

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS