Skip to content

Latest commit

 

History

History

api-visualizer

API Visualizer

概要

雀魂の API サーバとゲームクライアントとの間の API のやり取りを可視化する.

mahjongsoul-sniffer api-visualizer game-example

mahjongsoul-sniffer api-visualizer example

必要なもの

  • Docker をインストールできる x86_64 ホスト1つ (x86_64 アーキテクチャしかサポートしていない).雀魂のゲームクライアントを実行しているホストと同じホストでも異なるホストでもどちらでも構わない.

実行方法

1. Docker をインストールする

Install Docker Engine に記述されている手順に従って Docker をインストールする.

2. Docker Compose をインストールする

(Docker Desktop をインストールした場合は Docker Compose が付属しているのでこの手順は不要)

Install Docker Compose に記述されている手順に従って Docker Compose をインストールする.

3. mahjongsoul_sniffer リポジトリを git clone する

$ git clone https://github.com/Cryolite/mahjongsoul_sniffer.git
$ cd mahjongsoul_sniffer

TortoiseGit などの Windows の Git クライアントの場合,テキストファイルの改行の変換を行わない設定で git clone して,ローカルのテキストファイルの改行を LF のままにすること.

4. API Visualizer を実行する

カレントディレクトが api-visualizer ディレクトリでないと実行に失敗する.

$ cd api-visualizer
$ docker compose up

ビルドにしばらく時間がかかるので,以下のような出力が表示されて Web サーバが起動するまで待つ.

web_server_1  | + flask run --host=0.0.0.0
web_server_1  |  * Serving Flask app "/opt/mahjongsoul-sniffer/api-visualizer/web-server"
web_server_1  |  * Environment: production
web_server_1  |    WARNING: This is a development server. Do not use it in a production deployment.
web_server_1  |    Use a production WSGI server instead.
web_server_1  |  * Debug mode: off
web_server_1  |  * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

5. Web サーバにアクセスしてルート証明書をインストールする

雀魂のゲームクライアントを実行するホストから API Visualizer を実行したホストのポート番号5000に Web ブラウザでアクセスする.以下は API Visualizer を実行した Linux ホストの IP アドレスが 192.168.247.129 の場合の例. Docker Desktop for Windows で API Visualizer を実行した場合は localhost:5000 に Web ブラウザでアクセスする.

mahjongsoul-sniffer api-visualizer initial

Certificate をクリックして証明書をダウンロードし,雀魂のゲームクライアントを実行するホストで信頼されたルート証明機関の証明書としてインストールする.ルート証明書をインストールすることによるセキュリティリスクを理解した上でインストールすること.

6. 雀魂を実行する

API Visualizer を実行したホスト(Docker Desktop for Windows で API Visualizer を実行した場合は localhost)のポート番号8080をプロキシとして雀魂のゲームクライアントを起動する.以降,「5. Web サーバにアクセスしてサーバ証明書をダウンロードする」でアクセスした Web ページに雀魂 API のやり取りが表示される.