プラグイン更新チェック
インターネット上にCSVを配置し1)そのURLをメイドいぢりに登録することで、プラグインの更新チェックを行わせることが出来ます。
バージョンチェックが行えるものは、メイドいぢりのプラグインと接続が確立した際に読み込まれているアセンブリです。
※プラグインならほぼすべて対応出来るはずです。
CSVの形式(RFC4180準拠ならOKなはず)
文字コードはUTF-8とします。(ExcelはBOMを付けることを推奨)
区切り文字は,(カンマ)です。
改行コードはCRLFまたはCRまたLFです。
-
カンマをエスケープするには“(ダブルクォート)で囲ってください、”(ダブルクォート)をエスケープするには““の様に2つ続けてください。
改行も”(ダブルクォート)で囲めば含めることが出来ますが、改行が有効な項目はありません。
カラム | 内容 | 必須? | 備考 |
1カラム目 | 表示用キーワード | 必須 | |
2カラム目 | 判定用キーワード | 必須 | |
3カラム目 | バージョン | 必須 | 文字列として扱うのでx.x.x.x形式でなくて良い |
4カラム目 | 公開/情報サイトURLです。 | 省略可 | まとめサイトでもXのポストでも何でも |
5カラム目 | ダウンロードURLです。 | 省略可 | ローダーでもGoogleDriveでも何でも |
必須の1~3カラムが空欄または存在しない場合、その行は読み飛ばされます。
行コメントはありません、必須カラムをなくすことで読み飛ばすのでそれを利用してください。
6カラム目以降は現在のところ使用しませんし、何かが設定されていても問題ありませんが、今後追加される可能性があるので使用しないでください。
サンプル
https://fumble.jp/com3d2/versions/sample.csv
プラグインと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属性が異なっていても同じものとして扱います。
バージョン比較はトリムした文字列を単純に比較します。