Blue Protocol: Star Resonance(星痕)向け モジュール最適化ツール (Windows 専用)
所持しているモジュールの中から、狙った属性が一番伸びる 4/5 枠の組み合わせを総当たりで探し出します。所持モジュールはゲーム通信から自動で読み取るため、手入力は不要です。外部サーバへのデータ送信は一切ありません。
所持モジュールから「狙った属性が最も伸びる 4 枠」を総当たりで提示(この例では候補 230 件・1 億 1,358 万通りを探索)
個人利用向けの補助ツールです。ゲームファイル・メモリ・通信内容のいずれも改変しません。利用は自己責任で、各サービスの利用規約を確認してください。
- 4/5 枠の全探索 — スロット数を 4 と 5 で切り替え可能。指定した枠数の組み合わせをすべて比較し、最良のセットを提示
- 目標 / 除外属性の指定 — 伸ばしたい属性をクリックで選択(もう一度押すと除外指定)
- 属性ごとの下限 Lv 指定 — 「この属性は最低 Lv5 以上」のような条件で絞り込み
- カテゴリ絞り込み — 攻撃 / 守護 / 補助のモジュール種別でフィルタ
- 上位 3 / 5 / 10 件の表示 — 各セットの Lv6 数・Lv5 数・全属性レベル内訳・リンク効果(全属性値の合計)を一覧表示
- プリセット — よく使う検索条件に名前を付けて保存し、ワンクリックで呼び出し
- お気に入りビルド — 気に入った構成を ★ で保存。名前を付けて管理でき、複数ビルドを並べて比較可能
- ビルド比較 — お気に入りから 2〜3 件を選んで属性の差分を並列表示
- 条件サマリー — 現在の検索条件をタグで表示。タグの × からその場で解除して再探索
- ライブ自動取得&自動再探索 — モジュール情報が更新されると自動で読み込み、条件指定済みなら自動で再探索
- 状態の自動復元 — 取得したモジュールと最後の検索条件を保存し、次回起動時に復元
- 複数クライアント対応 — クライアントを複数起動しても、所持モジュールとお気に入りをキャラクターごとに分けて保存。裏で動かしているキャラの情報も受信し続けるので、切り替えれば最新の状態がすぐ出ます
- JSON ダンプ読み込み — 通信を取得できない環境向けに
owned_modules.jsonからの読み込みにも対応 - 日本語 / 英語表示 — ヘッダのトグルで日本語・英語を切り替え(再起動不要)
お気に入りに保存した複数ビルドを並べ、属性レベルの差分を比較
- Releases から最新の NSIS インストーラ(
.exe)をダウンロードします。 - インストーラを実行してアプリをインストールします。
- アプリを起動します。ライブ取得には管理者権限が必要なため、起動時に UAC が表示されたら許可してください(自動で管理者権限へ昇格します)。
- Windows 10 / 11 (x64)
- ライブ取得には管理者権限(WinDivert カーネルドライバのロードに必要)
ライブ取得では WinDivert を使ってパケットを読み取ります。WinDivert.dll と WinDivert64.sys はインストーラに同梱され、アプリ本体と同じ場所に配置されます。
- アプリを起動します(UAC でゲーム同様に管理者権限を要求します)。
- ゲーム内でマップ移動または再ログインを行うと、所持モジュールが自動で読み込まれます。
- 左側で伸ばしたい属性を選び、必要に応じて下限 Lv・カテゴリ・表示件数を指定します。
- 「最適化を実行」を押すと、上位のセットがカードで表示されます。
- 気に入ったセットは ★ でお気に入りに保存できます。よく使う条件はプリセットとして保存しておくと便利です。
一度取得したモジュールと検索条件は自動保存されるため、次回起動時はそのまま結果を確認できます。
本ツールに対するよくある懸念に回答します。
ゲーム側ファイル・メモリ・通信内容のいずれも改変しません。 受信パケットを受動的に観測して所持モジュール情報を再構築しているだけで、ゲームクライアントへの注入・パッチ・自動操作は一切行いません。
ただし、本ソフトウェアは個人開発の非公式ツールであり、運営の規約変更により将来的に黙認されなくなる可能性は否定できません。最終的な使用判断は利用者ご自身の責任でお願いします。
誤検知です。 カーネルレベルでパケットをキャプチャする WinDivert ドライバを同梱しているため、一部のウイルス対策ソフトが「ネットワーク監視ツール」として警告を出すことがあります。
例えば VirusTotal では Kaspersky が Not-a-virus:HEUR:RiskTool.Multi.WinDivert.gen と表示することがありますが、これは同梱の WinDivert ドライバを「リスクツール(ネットワークツール)」として分類しているもので、マルウェアではありません(検出名の先頭が Not-a-virus であることに注目してください)。
対処:
- WinDivert ドライバ(
WinDivert.dll,WinDivert64.sys)およびインストールフォルダをウイルス対策ソフトの除外設定に追加してください。 - 不安な場合はソースコードを確認し、自分でビルドすることも可能です(GPL-3.0)。
新規アプリはレピュテーション(実行実績)が蓄積されるまで SmartScreen 警告が表示されることがあります。
回避手順:
- ダイアログの「詳細情報」をクリック
- 表示された「実行」ボタンをクリック
送信しません。 テレメトリ・アナリティクス・クラッシュレポートの自動送信は一切行わず、すべての処理はローカルで完結します。
候補になる枠の組み合わせを、次の優先順位で比較します(4/5 は既定の「リンク効果優先」の順序)。
- 選択した目標属性のうち、結果に含まれる(Lv1 以上になる)属性の数
- 選択した目標属性が Lv6 に到達した数
- 全属性の Lv6 数
- リンク効果(属性値の合計。ソフト除外を指定した属性の値は含めない)
- 全属性の Lv5 数
- 除外属性値の合計の小ささ
除外を指定していない場合、4 のリンク効果はゲーム内表示の「リンク効果」と同じ値です。
Lv6 数が同点のときは、リンク効果(属性値の合計)の大小を Lv5 数より先に見ます。Lv5 到達がもう1個あるだけでリンク効果の大差がひっくり返る、という直感に反した結果を避けるためです。
サイドバーの「並び順」で 4 と 5 を入れ替えた Lv5 数優先 の順序にも切り替えられます (Lv6 数が同点のとき、リンク効果より Lv5 到達数を優先したい場合向け)。並び順を 切り替えただけでは自動的に再検索されないため、変更後は「最適化を実行」を押し直してください。 2 つの順序は一般に互いの1位を再現できない(片方の順序で上位に出ない組み合わせが、もう 片方では1位になることがある)ため、見たい順序ごとに検索し直す設計です。
属性レベルは、属性値の合計が 1 / 4 / 8 / 12 / 16 / 20 に到達するごとに Lv1〜Lv6 として扱います。
- 目標属性は「含められるなら含める」ソフトな優先です。含められない場合は無視されます(下限 Lv を指定した属性のみ、満たさない組み合わせが除外される必須条件になります)。
- 除外属性は既定では評価から外すだけのソフト除外で、該当属性を持つモジュール自体は採用されえます(その場合も除外属性値の合計が小さい組み合わせを優先)。「除外を完全排除する(ハード除外)」を有効にすると、除外属性を含むモジュールが候補から外れます。
- カードの大きい数字は常にゲーム内表示と一致する実際のリンク効果です。ソフト除外を指定していて評価に使う 4 の値と差がある場合のみ、下に小さく「評価スコア」として併記されます。
ライブ取得を使わない場合は、owned_modules.json を読み込めます。
- ライブ取得したモジュールは、アプリの実行ファイルと同じディレクトリにキャラクターごとの
owned_modules_<キャラID>.jsonとして自動保存されます。検知したキャラの一覧はcharacters.jsonに記録されます。 - 既定では、実行ファイルと同じディレクトリにある
owned_modules.jsonも起動時に読み込みます(キャラクター別のファイルがまだ無い場合)。 - 環境変数
BPSR_MODULE_DUMPを指定すると、そのパスの JSON を読み込みます。指定している間は、ライブ取得したキャラクターがいてもそのダンプが優先されます。 - アプリ内の再読み込み操作で、現在のダンプ内容を反映できます。
| 症状 | 対処 |
|---|---|
| モジュールが取得されない | 管理者権限で起動しているか確認。ゲーム内でマップ移動または再ログインを実行。VPN や ping reducer(ExitLag / NoPing 等)を有効にしている場合は無効化して再試行。 |
| ウイルス対策ソフトに検出される | 上記項目を参照。 |
| 起動しない / すぐ終了する | WinDivert.dll と WinDivert64.sys がアプリ本体と同じフォルダにあるか確認(インストーラ版は自動同梱)。 |
| 「候補が 4 件未満」と表示される | 除外属性やカテゴリ・下限 Lv の条件を緩めてください。 |
不具合報告・要望は Issues または Discord へお寄せください。
前提:
npm install
npm run tauri dev # 開発実行
npm run tauri build # NSIS インストーラを作成
npm run build # フロントエンドのみビルドRust 側の確認:
cd src-tauri
cargo checksrc/: React フロントエンドsrc-tauri/: Tauri アプリ本体、最適化 API、ライブ取得連携bpsr-core/: パケット取得・解析などの共通ロジック
- ゲームの
WorldEnterSnapshotに含まれる所持アイテムとモジュール情報を読み取ります。 item_package内でモジュール属性(mod_new_attr.mod_parts)を持つアイテムを抽出します。mod.mod_infos[key].init_link_numsと突き合わせて、属性 ID と属性値を復元します。- 属性名とモジュール種別名は、日本語表示用のローカライズデータを使って表示します。
- bpsr-checker — 同じゲーム向けの軽量 DPS チェッカー(同作者)
開発の継続を支援したい場合は、GitHub Sponsors からサポートできます。
本ソフトウェアは GNU General Public License v3.0 only (GPL-3.0-only) の下で配布されます。
- 改変版を配布する場合は、ソースコードを同じ GPL-3.0 ライセンスで公開する必要があります。
- 著作権表示・ライセンス全文・改変内容の明示を保持してください。
本ソフトウェアは現状のまま提供され、明示または黙示を問わずいかなる保証もありません。本ソフトウェアの使用または使用不能から生じる一切の損害について、作者は責任を負いません。利用は自己責任でお願いします。
- WinDivert: パケット取得に使用。WinDivert は GNU Lesser General Public License(LGPL)で提供されています。
ゲーム内名称や関連する権利は各権利者に帰属します。本ツールは非公式のファンメイドツールであり、ゲーム運営とは関係ありません。