【スプラトゥーン2】無料でstat.inkに戦績を24時間自動的にアップロード

splatnet2statink.py はスプラトゥーン2の試合結果を任天堂のイカリング2から取得して stat.ink に送信してくれる、UNIX 系サーバーで動く Python スクリプトです。

今回はGoogle Cloud Platform (GCP)のクラウド仮想サーバーの常時無料枠を使い、このスクリプトを無料で24時間動かす比較的カンタンな方法を比較的初心者向けに解説していきます。

比較的初心者向けとは言ってもLinuxのコマンドなどを扱うので、ある程度PCに理解のある方でないと難しいかもしれませんが、打つコマンドはほとんどコピー&ペーストで進めていけるようにしているので、Linuxに触れたことがない人も頑張ってみてください。

 

created by Rinker
任天堂
¥13,970 (2022/11/24 08:01:09時点 Amazon調べ-詳細)

 

Google Cloud Platform の準備

Google Cloud Platform を使うことで、24時間動かすことができるコンピュータ(サーバー)を無料で使うことができます。

新規登録

Google Cloud Platform 無料トライアル

このリンクから新規登録します。クレジットカードもしくは銀行口座情報を求められますが、この情報は本人確認のために使用され、自動的に課金されることはありません。

プロジェクトの作成

 

プロジェクトの選択→新しいプロジェクト→プロジェクト名を設定→作成

Google Compute Engine インスタンスの作成

Google Compute Engine インスタンスというのはサーバーだと思ってもらえればとりあえず大丈夫です。

Google Compute Engine→VMインスタンス→作成

作成画面で変更する項目は2つ。

  1. マシンタイプをmicro
  2. ブートディスクのOSをCentOS 7に (好きなOSで構いませんがこの記事ではCentOS 7で解説します)

この2つは結構重要なので間違いのないように!!

   

 

SSH接続

インスタンスの作成が完了したら、接続の下にあるSSHというボタンを押します。

このような黒いウィンドウが開きます。

 

created by Rinker
¥4,559 (2022/11/24 08:01:10時点 Amazon調べ-詳細)

 

サーバーでいろいろ設定

splatnet2statinkのインストール

ここに以下のコマンドを打ち込んでいきます。すべて選択&コピー&ペーストでOKです。

途中で1分間以上止まった、おかしくなったなどの場合、Ctrl + Cを押すか、ウィンドウを閉じてもう一度最初からやり直してください。

# 必要なパッケージのインストール
sudo yum -y install git python-pip
sudo pip install --upgrade pip
sudo pip install requests msgpack-python future

# 作業フォルダをホームディレクトリに
cd

# splatnet2statink のダウンロード
git clone https://github.com/frozenpandaman/splatnet2statink.git

# 作成されたディレクトリに移動し、スクリプトを実行
cd splatnet2statink
./splatnet2statink.py

最後の行まで実行できたら、splatnet2statinkを使用するための設定をしていきます。

splatnet2statinkの初期設定

画像内、一部の情報を隠しています。これらの情報を他人に知られると、stat.ink や Nintendo のアカウントが乗っ取られる危険性があるので、注意してください。

① stat.ink からAPIキーをコピーしてきて貼り付けます。

② ja-JP と打ってエンターを押します。

③ 表示されたURLをブラウザのアドレスバーにコピーして開きます。

④ ログインした後、”この人にする” ボタンのリンクをコピーして貼り付けます。

5. 戦績を何戦分取得してアップロードするか聞かれますが、時間がかかるので0を入力して後に回します。

 

cronを使って2時間に1回スクリプトを走らせる

cron (crontab) というのは、コマンドの定時実行を行うために用いられるLinuxの機能です。

echo "10 */2 * * * $USER cd; cd splatnet2statink; git pull; ./splatnet2statink.py -r" | sudo tee -a /etc/crontab
sudo systemctl restart crond

長いコマンドですが、ざっくり意味を説明すると

10 */2 * * * ⇒ 毎日2時間ごと、10分になると
$USER ⇒ 今ログインしているユーザーで
cd; cd splatnet2statink; git pull; ⇒ splatnet2statink をアップデート
./splatnet2statink.py -r ⇒ splatnet2statink.py を実行 (-rオプションで未アップロードの試合結果のみアップロード)
echo “……” ⇒ というタスクを出力する。
sudo tee -a /etc/crontab ⇒ 出力先を crontab の設定ファイルにする。

sudo systemctl restart crond ⇒ cronサービスを再起動して設定ファイルを確実に反映させる。

といった感じです。

 

これが実行し終わったらすべての作業が終わりです!お疲れ様でした。

 

実際にスプラトゥーン2を何試合かやってみてテスト

ナワバリやガチマをプレイし、2時間後にstat.inkに戦績がアップロードされていたら成功です!

 

 

なぜか動かなかった人

まず、記事を良く見返してやり忘れたことはないかチェックしてください。

splatnet2statink.py が動いているかチェック

cd ~/splatnet2statink
./splatnet2statink.py -r

それっぽい結果が返ってくることを確認します。

crontab が動いているかチェック

# cronの設定ファイルを確認
sudo cat /etc/crontab

# cronのログを確認
sudo cat /var/log/cron

# cronの実行結果を確認
sudo cat /var/spool/mail/root

2時間おきにタスクが動いているか確認します。

 

これらをチェックした上でご自分で調べ、わからなかった場合はエラーメッセージと共にコメントで質問して頂ければ、分かる範囲でお答えします。

 

「【スプラトゥーン2】無料でstat.inkに戦績を24時間自動的にアップロード」への2件のフィードバック

  1. Google Cloud Platformって永年無料なわけではないですよね、、、?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です