「スプラトゥーン3」発売から1ヶ月が経過しましたが、イカがお過ごしでしょうか。
いつの間にかスプラトゥーン初代と2で使えた戦績記録サービス「stat.ink」が、スプラトゥーン3のナワバリバトルとバンカラマッチの戦績記録に対応していました。
ということで、以前紹介した「splatnet2statink」のスプラトゥーン3対応版にあたる「s3s」のWindows 10/11 PCへの導入方法を紹介。開発はsplatnet2statinkと同じくeli(rozenpandaman)氏。
s3sではsplatnet2statinkと異なり単体で実行できる.exeパッケージの配布はまだ無いので(後日配布予定とのこと)、Python環境の導入が必要なため、前回よりはちょっと導入のハードルが上がっているかもしれない。
全体的に何書いてあるのか良く分からん~って場合はやめといたほうがいいかも。イカ、よろしく~
Pythonのインストール
Pythonは普通にインストーラー経由でインストールしても良いんですが、Microsoft Storeでも配布されているので今回はそちらを採用。
まずはMicrosoft Storeを起動して、「python」を検索。複数バージョンのPythonが表示されるので、最新版をインストールする。
なおRCはリリース候補版なので、今回なら3.10が最新バージョン。
インストールしたら、スタートメニューから「PowerShell」を検索してPowerShellを起動し、Python --version
コマンドで正常にインストールされているかチェック。
Scriptsフォルダを環境変数(Path)に追加する
MS Store版のPythonでは、ScriptsフォルダへPathが通っていないので、自分で追加する必要がある(通さないと後々問題になる)。
MS Storeアプリは%USERPROFILE%\AppData\Local\Packages\
フォルダ以下にインストールされているので、エクスプローラーで探します。Python 3.10の場合は、%USERPROFILE%\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts
フォルダがPathに追加したいフォルダになる。
フォルダリンクをコピーして控えたら、Windowsボタン>「システムの詳細設定」を検索>システムのプロパティを起動。環境変数ボタンから環境変数の編集ウィンドウを開いて、「Path」を編集、新規追加で先程のリンクをコピペする。追加したら、OKで終了(OSの再起動等は不要)。
Gitのインストール
Pythonのインストールが終わったら、次はバージョン管理システムである「Git」を導入。
こちらはMS Storeでの配布が無いので、Gitの配布ページからインストーラーをダウンロードしてインストールするか、PowerShellからwinget経由でインストール(winget install --id Git.Git -e --source winget
)すればOK。
インストールが終わったら、PowerShellを起動してgit --version
で正常にインストールされているかを確認しておくこと。
s3sの導入
まずはs3sを管理したいフォルダをエクスプローラーで開く(そのフォルダ直下にs3sフォルダが作成される)。今回の例では「C:\Users\ユーザー名\Apps」フォルダで管理することにした。
保存先にしたいフォルダをエクスプローラーで開いたら、アドレスバーに「powershell」を入力してEnterを押すと、PowerShellが指定フォルダに移動した状態で起動する。
PowerShellが指定フォルダで開かれている(PS C:\Users\ユーザー名\Apps\
)ことを確認したら、git clone https://github.com/frozenpandaman/s3s.git
コマンドを実行。
すると、Githubのリポジトリから複製されたs3sフォルダがAppsフォルダ直下に作成されるので、cd s3s
コマンドでs3sフォルダへ(PowerShell上で)移動。
移動したらpython -m pip install -r requirements.txt
コマンドを実行し(スクショではpip install -r requirements.txt
になってますが)、s3sの実行に必要なパッケージをインストールする。
s3sの実行環境の構築はこれで終了。
s3sの初回セットアップ
ここからはs3sのセットアップですが、作業的にはsplatnet2statinkの時とほぼ同じ。
s3sフォルダでPowerShellを起動したら、python s3s.py -r
コマンドでs3sを実行する。
初回実行なので、config.txtが生成されstat.inkのAPIキーを要求される。stat.inkのプロフィール設定ページからAPIキーをコピペ&Enter。
APIキーが保存されたら、ログイントークン生成用のURLが表示される。
URLをコピーし、Webブラウザーからアクセスする。Nintendoアカウントにログインしたら、連携したいアカウントの「この人にする」ボタンを右クリックし、リンクをコピー。
コピーしたリンクを「paste it below:」以降にペーストしEnterすると、トークン生成が実行されます。
トークンが生成され、イカリング3のデータが抽出できたら、stat.inkに未登録の戦績データが自動で登録されます。
s3sの使い方
セットアップが終わったら、任意のオプションを指定してs3s.pyを実行すればOK。実際には-rと-Mを使うことになると思いますが。
オプション | 説明 |
---|---|
-h, –help | ヘルプを表示 |
-M [N] | N秒ごとに未登録試合データが無いか確認する(Nは指定なしで300秒=5分間隔) |
-r | オープン/ナワバリ/サーモンランの直近戦績のうち未登録の戦績を登録(Ctrl+Cで終了) |
-nsr | 直近戦績からサーモンラン以外の未登録戦績を登録 |
-osr | 直近戦績から未登録のサーモンラン戦績のみ登録 |
-o | stat.inkへの登録はせずに直近の戦績ファイルすべてをローカル保存する |
-i [results.json overview.json coop_results.json] | stat.inkへの登録はせずに、指定した直近戦績ファイルをローカル保存する |
stat.inkは10月10日時点ではサーモンランの戦績登録に未対応なので、一応記録として保管しておきたいといった場合は-iも使うかも。とはいえstat.inkがjsonのインポートに対応する予定があるのか不明ですが……
なおreadmeにもあるように、しばらくは高頻度でスクリプトのアップデートが続くと思われるので、s3s.py実行前にgit pull
で更新が無いか確認するべし。
毎回コマンド入れるのは面倒なので、batファイルで連続実行したほうが便利かも。自分が使っているバッチファイルの中身はこんな感じ。
@echo off
chcp 65001
rem s3sフォルダへ移動
cd %USERPROFILE%\Apps\s3s
@echo s3sのアップデートを確認
git pull
echo.
@echo 直近の未登録戦績をアップロード後にモニタリングモードを起動 終了する場合はCtrl+C
python s3s.py -M -r
-Mと-rを別に実行していましたが冗長だったのでバッチファイルを微修正。
バッチファイルとして使いたい場合はコピペしてメモ帳などで「s3sバッチ実行.bat」とか適当に名付けて保存、実行してください(s3sの保存先フォルダは各自の環境に合わせて要変更)。
以上、良いイカライフを~
コメント
説明本当にありがとうございます!
でも、2月17日からの記録しかアップしないんですが…もっと前、スプラ3の発売からの記録を呼び寄せることはできませんか?
冒頭に追記しましたが、s3sはNSOアプリが受信できるデータに依存しているため、直近50マッチのデータまでしか遡れないのが仕様で、残念ながら現状ではそれ以前のデータについては確認しようがありません。
アップデートについてご教示ください。
There is a new version (v0.3.2) available.
Would you like to update now? [Y/n] y
» Couldn’t connect to GitHub. Please update the script manually via
git pull
.というメッセージが表示されます。
アップデートのコマンドを教えて頂けますでしょうか。
git pull の 引数を教えて頂けますと幸いです。
手順通り導入している場合gitを導入の上s3sフォルダをgithubからクローン済みであると思うので、s3sフォルダ直下で開いたコマンドプロンプトあるいはPowerShellで
git pull
を実行するだけで差分が更新されます(引数はgit pull origin master
ですが今回の例では省略しても同じ動作)。例:
C:\Users\ユーザー名\Apps\s3s> git pull
git をインストーラから再導入したところ解消しました
お手数おかけしました
記事を読ませていただき無事s3sが使用可能になりました
ありがとうございます。
最後にバッチファイルを作っていますがダブルクリックで実行後画面は消えてしまうのでしょうか。
モニタリング終了させたいときはどこへCtrl+Cを実行するのでしょうか。
バッチファイルのダブルクリックでコマンドプロンプト(cmd.exe)が起動したあと、s3sがモニタリングモードで動き続けるためウィンドウは消えないのが正常な動作です。
とりあえず思いつく対処法としてはバッチファイルを管理者権限で起動してみるくらいでしょうか。