01
Chapter 01

セットアップ

Fortnite Replay Suite を新しい PC で動かすための初期セットアップ手順です。所要 20〜30 分程度。Windows 11 を前提としています。

💡
この章のゴール

コマンド 1 つで 6 サービスが立ち上がり、scripts/smoke.py が全 OK を返す状態になること。

1必要なソフトウェア

以下をあらかじめインストールしておきます。すべてのコマンドラインツールは、コマンドプロンプトから呼び出せる状態(PATH が通っている)にしてください。

ソフトウェアバージョン用途
Windows11 (64bit)OS
Python3.11 以降Gateway と 4 つの API サービス
.NET SDK9.0 以降replay_parser(.replay のパース)
Node.js20 以降フロントエンド(Vite + React)
ffmpeg / ffprobe最新安定版録画動画のトリミング
OBS Studio最新版録画・リプレイバッファ・WebSocket
PowerShell7 (pwsh)起動・停止スクリプト
⚠️
ffmpeg の PATH 確認

新しいコマンドプロンプトで ffmpeg -version / ffprobe -version が実行できることを確認してください。PATH が通っていないと動画ページで FAIL バッジが出ます。

各ツールの --version 実行例
図 1.1 — 前提ツールのバージョン確認(python / dotnet / node / ffmpeg)

2OBS Studio 設定

本ツールは OBS Studio の録画ファイルと連携します。以下の 2 点を事前に設定してください。詳細は OBS Studio 公式サイト を参照してください。

  1. 1
    シーンとソースの設定

    Fortnite の画面を録画するには、まず OBS でシーンを作成し、ソースを追加します。

    1. 「シーン」パネルの + ボタンで任意の名前のシーンを作成します。
    2. 「ソース」パネルの + ボタンをクリックし、ゲームキャプチャ を選択します。
    3. モードを 特定のウィンドウをキャプチャ に変更します。
    4. Fortnite を起動した状態でウィンドウのドロップダウンを開き、FortniteClient-Win64-Shipping.exe を選択します。
    💡
    Fortnite を先に起動しておく

    ドロップダウンに FortniteClient-Win64-Shipping.exe が表示されない場合は、Fortnite を起動してから再度ドロップダウンを開いてください。

    OBS のシーン・ソース設定(ゲームキャプチャ)
    図 1.2 — OBS のシーンとゲームキャプチャ設定
  2. 2
    リプレイバッファを有効化する

    Fortnite の画面を常時録画するため、「ファイル」→「設定」→「出力」→「リプレイバッファ」タブを開き、リプレイバッファを有効にする にチェックを入れてください。保存するリプレイの最大時間は試合の最大所要時間に合わせて設定します。(例: 1500 秒 = 25分)。Fortnite の試合は大体 25 分あれば十分です。
    これにより、好きなタイミングで Fortnite の画面の 25 分間の動画をキャプチャすることが出来ます。

    OBS のリプレイバッファ設定
    図 1.3 — リプレイバッファ有効化と最大時間(1500 秒)
  3. 3
    WebSocket サーバーを有効化し、パスワードを取得する

    「ツール」→「WebSocket サーバー設定」を開き、WebSocket サーバーを有効にする にチェックを入れてください。

    「サーバーパスワードを有効にする」をオンにし、表示されたパスワードをコピーしておきます。このパスワードは後述の services/log_monitor_api/.envOBS_PASSWORD 行)に貼り付けます。

    💡
    パスワードの確認方法

    「ツール」→「WebSocket サーバー設定」→「接続情報を表示」ボタンからいつでも確認できます。

    OBS の WebSocket サーバー設定
    図 1.4 — WebSocket サーバー有効化(パスワードはマスク表示)
⚠️
OBS が起動していない場合

OBS が停止中でも録画フォルダのパスは config.json に手動で指定できます。WebSocket 連携は OBS 起動中のみ有効です。

3リポジトリの取得

任意の作業フォルダで以下を実行します。

shell
git clone <repository-url> Fortnite_Replay_Util
cd Fortnite_Replay_Util\Integrated_App

以降の手順はすべて Integrated_App/ 直下で実行することを想定しています。

4Python 環境

  1. 1
    仮想環境を作成
    powershell
    python -m venv ..\venv

    Integrated_App/ の 1 つ上に venv/ を作るのがプロジェクト規約です。

  2. 2
    仮想環境を有効化
    powershell
    ..\venv\Scripts\Activate.ps1
  3. 3
    依存パッケージをインストール
    powershell
    pip install -r services\requirements.txt

5フロントエンド

powershell
cd frontend
npm install
cd ..

npm install は初回のみ数分かかります。完了すると frontend/node_modules/ が作成されます。

6.NET パーサ

.replay のパースは C# の replay_parser サービスが担当します。初回起動時に自動ビルドされるため、ここでは依存物の確認だけ行います。

shell
dotnet --list-sdks

一覧に 9.0.x が含まれていれば OK です。

7初期設定ファイル

設定は ~/.fortnite-suite/config.json に保存されます。初回はテンプレートを生成します。

powershell
python scripts\init_config.py

以下の 4 項目を実環境に合わせて編集してください。

キー (API 上)内容
user_player_id 自分の Epic 表示名。動画候補の絞り込みに使用 YourEpicName
demos_dir Fortnite の .replay が置かれるフォルダ C:\Users\you\AppData\Local\...\Demos
obs_recording_dir OBS の録画保存フォルダ(起動中なら WebSocket から自動取得) D:\OBS\Recordings
log_path Fortnite のログファイルパス C:\Users\you\AppData\Local\...\FortniteGame.log
💡
ディスク上の構造

config.json は内部的にネスト構造(player.epic_display_name など)で保存されますが、API 経由では上の表のフラットなキーで読み書きできます。UI の「設定」ページから編集する場合は気にする必要はありません。

設定ページ(/settings)で 4 項目を入力した状態
図 1.5 — 初期設定の入力例(/settings ページ)

8OBS パスワードの設定 (.env)

OBS WebSocket への接続情報は services/log_monitor_api/.env に保存します。config.json ではなく このファイルに設定する点に注意してください。

  1. 1
    テンプレートをコピー
    powershell
    copy services\log_monitor_api\.env.example services\log_monitor_api\.env
  2. 2
    OBS_PASSWORD を書き換える

    テキストエディタで services/log_monitor_api/.env を開き、OBS_PASSWORD= 行の右辺を Step 2-3 でコピーした実パスワードに置き換えます。

    env
    OBS_HOST=localhost
    OBS_PORT=4455
    OBS_PASSWORD=<OBS で取得した実パスワード>
    OBS_SAVE_DELAY=10
キー用途既定値
OBS_HOST OBS WebSocket のホスト localhost
OBS_PORT OBS WebSocket のポート 4455
OBS_PASSWORD §2 Step 3 で設定した WebSocket パスワード (必須)
OBS_SAVE_DELAY ロビー戻り検出からリプレイバッファ保存までの秒数 10
⚠️
.env は Git 管理対象外

.env.gitignore に登録されており、コミットされません。実パスワードを誤って公開リポジトリに push しないための仕組みです。新しい PC にセットアップする際は毎回手動で再設定してください。

💡
利用するサービス

この .envlog_monitor_apisuite_core の両方が読み込みます。後者は OBS WebSocket 経由で「OBS の録画フォルダ」を自動取得する用途で利用します。

9セットアップ確認

  1. 1
    全サービス起動
    powershell
    pwsh scripts\start.ps1

    6 サービス分の起動ログ(PID)が出れば OK。

  2. 2
    疎通確認
    powershell
    python scripts\smoke.py

    全 6 行が OK で終了コード 0 なら成功。

  3. 3
    フロント起動
    powershell
    cd frontend
    npm run dev

    ブラウザで http://localhost:5173 を開き、左サイドバーに 6 リンクが表示されていれば OK。

セットアップ完了

ここまで成功していれば基本セットアップは完了です。次章で日常の起動/停止の流れを押さえましょう。

smoke.py が全 OK を返した PowerShell 画面
図 1.6 — 疎通確認の成功例(smoke.py 全 OK)
Tweaks
テーマ
Void
Fortniteブルー · モダン
Terminal
グリーン · モノスペース
Copper
ウォームオレンジ · エディトリアル
モード