【2023年4月】マイクラのアップデートを無料且つ自動でメール受信する方法

マイクラ
この記事は約9分で読めます。

人気ゲーム『マインクラフト』のアップデート時にメールが届くようにする方法について紹介します。設定しておけばマイクラのアップデートを見逃すことがありません。

2023年3月には1.19.70→71→72のメール連絡がありました。個人宛にアップデート通知がくるとプチVIPな気分になれます。

今回ご紹介する方法での前提条件は以下になります。
・マイクラマルチプレイ用サーバーを導入済み
・統合版マインクラフトを使用

手順は4ステップ
  • Step1
    メール配信準備
  • Step2
    スクリプト作成
  • Step3
    メール内容作成
  • Step4
    スケジュール登録

それではどうぞ。

1.メール配信準備

マイクラマルチプレイ用サーバーからメール送信を行う為の作業をシンプル化する為、メール配信サービス(SendGrid)を無料枠内で利用します。利用にあたってSendGridのサイト(https://sendgrid.kke.co.jp/)から申し込みが必要です。

以降の操作はマイクラマルチプレイ用サーバー接続のコンソールで行います。

2.スクリプト作成

スクリプトは処理を書いて実行するファイルです。以下の手順でスクリプトが作成できます。(ここではマイクラソフトを/home/ubuntu/minecraftbe/MineCraftにインストールした例になりますが、ご自身の環境に応じて適宜読み替えて下さい)

1.作業フォルダを作成しフォルダ移動後にスクリプトを作成します。
mkdir /home/ubuntu/minecraftbe/notification
cd /home/ubuntu/minecraftbe/notification
vim ./notify-update.sh
2.編集内容(この内容を元に適宜変更して下さい)
F_PATH="/home/ubuntu/minecraftbe/notification"
M_PATH="/home/ubuntu/minecraftbe/MineCraft/downloads"
for i in `find $M_PATH/*.zip -mtime -1`
do
        fname=$(basename $i)                         # ファイル名切り出し
        ver=$(echo $fname | cut -c 16-22)            # バージョン部分切り出し
        cont=$(sed s/xxxxx/$ver/g $F_PATH/mail.json) # 文字列置換
        echo $cont > $F_PATH/temp.json               # 雛形編集を一時ファイル出力
        curl --request POST \
--url https://api.sendgrid.com/v3/mail/send \
--header 'Authorization: Bearer <<< API KEY >>>' \
--header 'Content-Type: application/json' \
--data @$F_PATH/temp.json
        rm $F_PATH/temp.json                         # 一時ファイル削除
        exit
done

1行目:スクリプトの格納パス。
2行目:マイクラソフトフォルダ内のダウンロードパス。
3行目:ダウンロードパス内の現在~24時間前の更新ファイルを検索。
5行目:検索ヒットしたファイルを含むパス名からファイル名を抽出。
6行目:ファイル名からマイクラのアップデートバージョンを抽出。
7行目:メール雛形ファイル内の”xxxxx”文字列をアップデートバージョンに置換。
8行目:メール送信内容を含む作業ファイルを作成
9-13行目:メール送信を実行(“Bearer”以降にはSendGridで取得したAPI KEYを入力)
14行目:作業ファイルを削除。

変更目安としては、1行目、2行目は必要に応じて、11行目は必須。

3.編集ファイルに実行権を付与します。
chmod 755 ./notify-update.sh
4.実行結果

ファイル(4行目)ができていることを確認します。

ubuntu@instance-20221124-minecraft:~/minecraftbe/notification2$ ll
drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 23 14:08 ./
drwxrwxr-x 5 ubuntu ubuntu 4096 Mar 16 22:38 ../
-rwxr-xr-x 1 ubuntu ubuntu  632 Mar 23 14:06 notify-update.sh*

3.メール内容作成

1.メール送信する内容の雛形ファイルを作成します。
vim ./mail.json
2.編集内容(この内容を元に適宜変更して下さい)
 {
   "personalizations": [
     {
       "to": [
         {
           "email": "abcdefg@gmail.com"
         }
       ],
       "subject": "マイクラアップデート通知"
     }
   ],
   "from": {
     "email": "noreply@server.oci"
   },
   "content": [
     {
       "type": "text/plain",
       "value": "MineCraft Update Version = xxxxx"
     }
   ]
 }

6行目:送信先メールアドレス(任意の宛先指定が可能)
9行目:メールタイトル(メールのタイトルが編集可能)
13行目:送信元メールアドレス(実在しないアドレス指定が可能)
18行目:メール本文(置換対象の文字列(xxxxx)を残して編集可能)

3.実行結果

ファイル(4行目)ができていることを確認します。

ubuntu@instance-20221124-minecraft:~/minecraftbe/notification2$ ll
drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 23 14:08 ./
drwxrwxr-x 5 ubuntu ubuntu 4096 Mar 16 22:38 ../
-rw-rw-r-- 1 ubuntu ubuntu  368 Mar 23 13:33 mail.json
-rwxr-xr-x 1 ubuntu ubuntu  632 Mar 23 14:06 notify-update.sh*

4.スケジュール登録

定期的に指定時間になるとマイクラのアップデート有無を確認できるようにします。指定はcronコマンドで行います。

1.スケジュールファイルを作成します。
vim ./cron.conf
2.編集内容(この内容を元に適宜変更して下さい)
00 05 */1 * * /home/ubuntu/minecraftbe/notification/notify-update.sh

参考に、cronの書式は以下です。
分(0-59) 時(1-24) 日(1-31) 月(1-12) 曜日(0-7) コマンド

数字を書くとその数字の時に実行、*を書くと毎回、*/1と書くとその数字毎の実行になります。例では、notify-update.shスクリプトを1日毎(毎日)5時0分のコマンド実行になります。

3.実行結果

ファイル(4行目)ができていることを確認します。

ubuntu@instance-20221124-minecraft:~/minecraftbe/notification2$ ll
drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 23 14:08 ./
drwxrwxr-x 5 ubuntu ubuntu 4096 Mar 16 22:38 ../
-rw-rw-r-- 1 ubuntu ubuntu   69 Mar 23 14:08 cron.conf
-rw-rw-r-- 1 ubuntu ubuntu  368 Mar 23 13:33 mail.json
-rwxr-xr-x 1 ubuntu ubuntu  632 Mar 23 14:06 notify-update.sh*

設定をcronに反映します。

crontab ./cron.conf

cronを開始します。

sudo systemctl start cron

動作確認不要の場合は、以上です。

5.動作確認

動作確認する場合は以下のようにします。

① ダミーのマイクラアップデートファイルを作成。

cd /home/ubuntu/minecraftbe/MineCraft/downloads
touch ./bedrock-test01-1.19.99.02.zip

実行結果(6行目)

ubuntu@instance-20221124-minecraft:~/minecraftbe/MineCraft/downloads$ ll
total 755668
drwxrwxr-x  2 ubuntu ubuntu     4096 Mar 22 17:57 ./
drwxrwxr-x 18 ubuntu ubuntu     4096 Mar 15 04:00 ../
-rw-r--r--  1 ubuntu ubuntu 79102743 Mar 15 04:00 bedrock-server-1.19.70.02.zip
-rw-rw-r--  1 ubuntu ubuntu        0 Mar 22 17:57 bedrock-test01-1.19.99.02.zip
-rw-rw-r--  1 ubuntu ubuntu   328165 Mar 16 04:00 version.html

② スケジュールを動作確認用に書き換え
  編集内容を「1分毎にスクリプトを実行」に書き換えた上で4.の手順を行います。

*/1 * * * * /home/ubuntu/minecraftbe/notification/notify-update.sh

実行結果(期待通り「マイクラアップデート通知」メールが受信できました)

確認後は状態を戻しておきます。
4.の手順を行いスケジュールを元に戻し、確認用に作成したダミーファイルを削除。

cd /home/ubuntu/minecraftbe/MineCraft/downloads
rm ./bedrock-test01-1.19.99.02.zip

以上です。