以前、Minecraft(マイクラ)統合版(BE)サーバーを自動アップデートする方法を紹介したが、この度OSをUbuntu(Linux)に変更してBedrock Serverを移行したので、新たに自動アップデート用のシェルスクリプトを作成しました。
基本的な処理は同じだが、やはり、前回同様にBedrock ServerのダウンロードURLの検出方法を解決するのに悩みました。
Windows版の自動アップデートスクリプトはこちら!
マイクラ統合版(BE)サーバーを自動アップデート!for Windows
現在、iPhoneやiPadでMinecraft(以下マイクラ)を楽しんでいますが、アプリを自動アップデートしていると、自宅に建てているWindows用のマイクラ統合版サーバー(Bedro...
目次
マイクラ統合版の自動アップデート
動作内容は以前の自動アップデートスクリプトと大差ありませんので割愛させていただき、とりあえず中身をペタっと貼っちゃいます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
#!/bin/bash ## ## Automated Minecraft Bedrock Server Updater for Linux ## Created by Minory, Jun 30, 2021 ## # The directory holding your Bedrock server files cd /mnt/nas/bedrock-server # Randomizer for user agent RandNum=$(echo $((1 + $RANDOM % 5000))) URL=`curl -H "Accept-Encoding: identity" -H "Accept-Language: en" -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.33 (KHTML, like Gecko) Chrome/90.0.$RandNum.212 Safari/537.33" https://minecraft.net/en-us/download/server/bedrock/ 2>/dev/null | grep bin-linux | sed -e 's/.*<a href=\"\(https:.*\/bin-linux\/.*\.zip\).*/\1/'` # Verify if the DOWNLOAD and SERVER destinations exist. Create if it doesn't if [ -f ./${URL##*/} ]; then exit 1 else # Process kill pkill bedrock_server # Backup files cp ./server.properties ./backup/server.properties cp ./permissions.json ./backup/permissions.json cp ./whitelist.json ./backup/whitelist.json # Get new bedrock server from web site wget -q ${URL} unzip -o ${URL##*/} 2>&1 > /dev/null # Return files cp ./backup/server.properties ./server.properties cp ./backup/permissions.json ./permissions.json cp ./backup/whitelist.json .whitelist.json # Start process ./bedrock_server fi exit 0 |
もちろん今回もGitHubで公開していますので、自由にお使いください!
GitHub - minoryorg/minecraft-bedrock-server-automatic-update-for-linux: Minecraft Bedrock Server Aut...
Minecraft Bedrock Server Automatic Update for Linux - minoryorg/minecraft-bedrock-server-automatic-update-for-linux
参考サイトとの違いについて
ちなみに、こちらのシェルスクリプトも参考にしたサイトはありますが、READMEの使い方に書いてある通リ、保存場所をある程度決め打ちすることで、もっと処理をシンプルに作成しています。
参考サイトはこちら!
冒頭でも記述しましたが、少し悩んだのはcurl
コマンドの部分ですね!
ヘッダをしっかり付けてあげないと、「Access Denied」って怒られちゃいます。。
cronでの定期実行について
最後に、この自動アップデートスクリプトをcronに登録して、定期的に実行してあげましょう。
使い方にはcron
の設定例までは書いてなかったので、参考までご紹介します。
1 2 3 |
# vi /etc/crontab ・・・ 30 * * * * root /mnt/nas/bedrock-server/bedrock_update.sh |
上記の設定で毎時30分に実行することができます。
実行頻度は自身の環境に応じて調整してください。
あまりやり過ぎると他の方に迷惑がかかるので、ある程度お控えください。
コメント