Halo Infinite の戦績を自動で Notion に記録するツールです。
試合後に同期を実行するだけで、マップ・ルール・K/D・推定MMR(eMMR)などが Notion に蓄積されていきます。
これは現在進行中のプロジェクト(Work In Progress)です
このツールは個人用途で作成されたものであり、環境構築やトラブルシュートを自力で行える方向けです。
プログラミング知識は不要ですが、PC操作や環境構築にある程度慣れている必要があります
ただしできるだけ導線は整えました。
セットアップは bat ファイルをダブルクリックするだけです。
マップ×ルール×プレイリスト別など、様々な視点から戦績を分析することができます。
| 必要なもの | 備考 |
|---|---|
| Windows 10 / 11 | Mac 非対応 |
| Halo Infinite | Xbox / PC 版どちらでも可 |
| OpenSpartan Workshop | 戦績を取得するツール |
| Python 3.11 以上 | 無料 |
| Notion アカウント | 無料プランで OK |
| Notion デスクトップアプリ | Floodはブラウザでも利用できますが、複数タブに対応しているため推奨 |
右側の Releases ページから最新版の Source code (zip) をダウンロードして解凍します。
または Git を使える方は以下を実行してください。
git clone https://github.com/Du1Bz/flood.git
- https://www.python.org/downloads/ を開く
- 「Download Python 3.x.x」をクリックしてダウンロード
- インストーラーを起動し、「Add Python to PATH」に必ずチェックを入れてから Install Now をクリック
⚠️ このチェックを忘れるとツールが動きません。チェックし忘れた場合は Python をアンインストールして入れ直してください。
⚠️ 必ず 1.0.10 以下をインストールしてください。
1.0.11、1.0.12では現在、データの一部が正しく取得できないバグが確認されています。
① Windows App Runtime のインストール(先にやる)
以下の URL を開いてダウンロード・インストールします。
https://aka.ms/windowsappsdk/1.6/latest/windowsappruntimeinstall-x64.exe
⚠️ OpenSpartan1.0.10では、最新版(1.8.x)だとクラッシュします。必ず 1.6.x をインストールしてください。
② OpenSpartan Workshop 1.0.10 のインストール
リリースページ から 1.0.10 の .exe をダウンロードしてインストールします。
③ 起動後すぐクラッシュする場合
エクスプローラーのアドレスバーに %LOCALAPPDATA%\OpenSpartan.Workshop\ と入力して Enter を押し、settings.json を開いて extraRitualEvents の行を削除して保存。
("extraRitualEvents":~, の、最初の「"」から「,」まで)
その後ファイルを右クリック →「プロパティ」→「読み取り専用」にチェックを入れます。
④ データの同期
- OpenSpartan Workshop を起動して Xbox アカウントでログイン
- データが同期されるまで待つ(初回は数分かかります、作者は3700件で20分ほどかかりました)
- 以下のフォルダに
.dbファイルが生成されれば OK です
C:\Users\あなたのユーザー名\AppData\Local\OpenSpartan.Workshop\data\
AppDataが見えない場合はエクスプローラーの「表示」→「隠しファイル」を表示にしてください。
上のリンクを開いて右上の「複製」をクリックします。
自分のワークスペースに複製して利用してください。
- https://www.notion.so/developers を開く
- 「コネクト」をクリックします

- 「新規コネクト」をクリックします

- 名前を入力(例:
Flood)してアクセストークンを選択し、コネクトを作成をクリックします。
- 作成した内部コネクトの設定を開きます

- 「インストール可能なワークスペース」をクリックし、使用するワークスペースを指定します。
- アクセストークン(
ntn_から始まる文字列)をコピーして控えておきます。
トークンを知っている人なら誰でも、コネクトを代理操作できてしまうため、共有しないようにしてください。 - コンテンツへのアクセス→アクセス権限を編集 をクリックします

- 非公開と書かれたプルダウンを押下し、複製したテンプレートを選択して保存します

step 1 でダウンロードしたzipファイルをお好みの場所(デスクトップなど)に展開します。
展開したフォルダを開きます。
setup.bat をダブルクリックします。
- Notion トークンを入力(Step 6 で控えたトークン)
- Notion の親ページ URL を貼り付け(複製したテンプレートのURL)
自動で以下が行われます。
- Python仮想環境(venv)の作成
- 必要なPythonパッケージが自動でインストールされる
- データベース ID を Notion から取得して設定に書き込む
- OpenSpartan の
.dbファイルを自動検索して設定に書き込む
これでセットアップは完了です。
-
OpenSpartan Workshop を起動してデータを同期する
-
Flood.batをダブルクリック -
現在の設定が表示されるので、内容を確認して
yで同期開始 -
同期が完了したら、
yでもう一度同期、nで終了‼何度同期しても、同じ試合は重複登録されません(MatchIDで判定)
settings.bat をダブルクリックすると、以下の設定を変更できます。
| 設定 | 説明 |
|---|---|
latest_count |
一度にデータベースから取得する最大試合数(最新からn件) |
LatestCheckCount |
クイックスキャンモード時にnotionをチェックする件数 |
IsFullScanMode |
有効 にするとnotionを全件チェック(確実・低速)(全件取得する際などは有効にしてください) |
| カラム | 内容 |
|---|---|
| マップ / ルール | 試合のマップとゲームモード |
| 勝敗 / チームスコア | 試合結果 |
| K/D / KDA | キル・デス・アシスト比 |
| 命中率 / ダメージ差 | 精度と攻守バランス |
| 期待キル / 期待デス | TrueSkill2 がそのプレイヤーに期待する値 |
| eMMR | 推定 MMR(独自計算) |
| 自チーム / 敵チーム MMR | マッチングの実力帯 |
| 試合前 / 試合後 CSR | ランクの増減 |
| パーティ人数 | ソロ・パーティの別 |
「Python が見つかりません」
→ Python インストール時に「Add Python to PATH」をチェックしたか確認してください。
「OpenSpartan のデータベースファイルが見つかりません」
→ OpenSpartan Workshop を起動してデータを同期してください。
「Notion に接続できませんでした」
→ Step 5〜6 を再確認してください。内部コネクトが各 DB に接続されているか確認してください。
期待キル・CSR が空白になる
→ OpenSpartan Workshop 1.0.11 以降のバグです。1.0.10 以下を使用してください。
- 設定ファイルは
config.iniに保存されています IsFullScanMode = Trueにすると全試合を照合します(初回や再同期時に推奨)tests/フォルダに計算ロジックのユニットテストがあります(python -m pytest tests/)- 指標の詳細は
docs/metrics.mdを参照してください
これは趣味の個人プロジェクトです。
このプロジェクトはDu1Bz個人が利用するために作ったプログラムを公開しているものです。
このプロジェクト、OpenSpartanを利用したことで発生したいかなる事象、損害に対しても責任は負いません。
MIT License

