サイトアイコン IT NEWS

統合版マイクラ(BE)サーバーを自動アップデート!for Linux

bedrock-server-auto-update-linux

以前、Minecraftマイクラ統合版BEサーバー自動アップデートする方法を紹介したが、この度OSUbuntuLinux)に変更してBedrock Serverを移行したので、新たに自動アップデート用のシェルスクリプトを作成しました。
基本的な処理は同じだが、やはり、前回同様にBedrock ServerのダウンロードURLの検出方法を解決するのに悩みました。
Windows版の自動アップデートスクリプトはこちら!

統合版マイクラの自動アップデート

動作内容は以前の自動アップデートスクリプトと大差ありませんので割愛させていただき、とりあえず中身をペタっと貼っちゃいます。

#!/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"  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
fiexit 0

もちろん今回もGitHubで公開していますので、自由にお使いください!

参考サイトとの違いについて

ちなみに、こちらのシェルスクリプトも参考にしたサイトはありますが、READMEの使い方に書いてある通リ、保存場所をある程度決め打ちすることで、もっと処理をシンプルに作成しています。
参考サイトはこちら!

冒頭でも記述しましたが、少し悩んだのはcurlコマンドの部分ですね!
ヘッダをしっかり付けてあげないと、「Access Denied」って怒られちゃいます。。

cronでの定期実行について

最後に、この自動アップデートスクリプトcronに登録して、定期的に実行してあげましょう。
使い方にはcronの設定例までは書いてなかったので、参考までご紹介します。

# vi /etc/crontab
・・・
30 *    * * *   root    /mnt/nas/bedrock-server/bedrock_update.sh

上記の設定で毎時30分に実行することができます。
実行頻度は自身の環境に応じて調整してください。
あまりやり過ぎると他の方に迷惑がかかるので、ある程度お控えください。

モバイルバージョンを終了