プラグイン更新チェック
インターネット上にCSVを配置し1)そのURLをメイドいぢりに登録することで、プラグインの更新チェックを行わせることが出来ます。
バージョンチェックが行えるものは、メイドいぢりのプラグインと接続が確立した際に読み込まれているアセンブリです。
※プラグインならほぼすべて対応出来るはずです。
CSVの形式(RFC4180準拠ならOKなはず)
- 文字コードはUTF-8とします。(ExcelはBOMを付けることを推奨)
- 区切り文字は,(カンマ)です。
- 改行コードはCRLFまたはCRまたLFです。
- 1行目は表題として読み飛ばします。2)
- カンマをエスケープするには“(ダブルクォート)で囲ってください、”(ダブルクォート)をエスケープするには““の様に2つ続けてください。
- 改行も”(ダブルクォート)で囲めば含めることが出来ますが、改行が有効な項目はありません。
カラム | 内容 | 必須? | 備考 |
---|---|---|---|
1カラム目 | 表示用キーワード | 必須 | |
2カラム目 | 判定用キーワード | 必須 | |
3カラム目 | バージョン | 必須 | 文字列として扱うのでx.x.x.x形式でなくて良い |
4カラム目 | 公開/情報サイトURLです。 | 省略可 | まとめサイトでもXのポストでも何でも |
5カラム目 | ダウンロードURLです。 | 省略可 | ローダーでもGoogleDriveでも何でも |
必須の1~3カラムが空欄または存在しない場合、その行は読み飛ばされます。
行コメントはありません、必須カラムをなくすことで読み飛ばすのでそれを利用してください。
6カラム目以降は現在のところ使用しませんし、何かが設定されていても問題ありませんが、今後追加される可能性があるので使用しないでください。
プラグインとCSVデータのマッチングは以下のように行います。
Sybarisプラグインの場合
- PluginName属性で指定した文字列を判定用または表示用キーワードと完全一致するか確認します。
- アセンブリ名(Assembly.GetName().Name)で指定した文字列を判定用または表示用キーワードと完全一致するか確認します。
- AssemblyProduct属性(FileVersionInfo.ProductName)で指定した文字列を判定用または表示用キーワードと完全一致するか確認します。
- ファイル名を判定用または表示用キーワードと完全一致するか確認します。
BepInExプラグインの場合
- BepInPlugin属性のGUIDで指定した文字列を判定用または表示用キーワードと完全一致するか確認します。
- BepInPlugin属性のNameで指定した文字列を判定用または表示用キーワードと完全一致するか確認します。
- アセンブリ名(Assembly.GetName().Name)で指定した文字列を判定用または表示用キーワードと完全一致するか確認します。
- AssemblyProduct属性(FileVersionInfo.ProductName)で指定した文字列を判定用または表示用キーワードと完全一致するか確認します。
- ファイル名を判定用または表示用キーワードと完全一致するか確認します。
通常のアセンブリの場合
- アセンブリ名(Assembly.GetName().Name)で指定した文字列を判定用または表示用キーワードと完全一致するか確認します。
- AssemblyProduct属性(FileVersionInfo.ProductName)で指定した文字列を判定用または表示用キーワードと完全一致するか確認します。
- ファイル名を判定用または表示用キーワードと完全一致するか確認します。
比較は両端の空白文字を削除3))し、大文字/小文字を区別せず4))に行います。
Plugin,Pacher,Managed等を個別でバージョンチェックする場合、それぞれ指定してください。
Plugin,Pacher,Managed等を個別で設定した場合で、アセンブリ名が同じ等、複数合致した項目は無視します。
バージョンは以下の順で最初に取れたものを使用します。
Sybarisプラグインの場合
- PluginVersion属性で指定した文字列
- AssemblyFileVersion属性(FileVersionInfo.FileVersion)で指定した文字列
- AssemblyVersion属性(FileVersionInfo.ProductVersion)で指定した文字列
BepInExプラグインの場合
- BepInPlugin属性のVersionで指定した文字列
- AssemblyFileVersion属性(FileVersionInfo.FileVersion)で指定した文字列
- AssemblyVersion属性(FileVersionInfo.ProductVersion)で指定した文字列
通常のアセンブリの場合
- AssemblyFileVersion属性(FileVersionInfo.FileVersion)で指定した文字列
- AssemblyVersion属性(FileVersionInfo.ProductVersion)で指定した文字列
つまり、Sybarisプラグインの場合はPluginVersion属性が合えば、AssemblyFileVersion属性が異なっていても同じものとして扱います。
バージョン比較はトリムした文字列を単純に比較します。
従って新旧の判定は行われません。
コメント