人気ゲーム『マインクラフト』のアップデート時にメールが届くようにする方法について紹介します。設定しておけばマイクラのアップデートを見逃すことがありません。
2023年3月には1.19.70→71→72のメール連絡がありました。個人宛にアップデート通知がくるとプチVIPな気分になれます。
今回ご紹介する方法での前提条件は以下になります。
・マイクラマルチプレイ用サーバーを導入済み
・統合版マインクラフトを使用
- 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
以上です。
【新店ポイント2倍】マインクラフト マイクラ クリーパー TNT Steve 目覚ましライト 大音量 デジタル クロック アラーム 多色ムード マインクラフト グッズ 目覚まし ライト 価格:2,590円 |