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

bedrock-server-auto-update-linux
  • URLをコピーしました!

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

あわせて読みたい
マイクラ統合版(BE)サーバーを自動アップデート!for Windows 現在、iPhoneやiPadでMinecraft(以下マイクラ)を楽しんでいますが、アプリを自動アップデートしていると、自宅に建てているWindows用のマイクラ統合版サーバー(Bedro...
目次

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

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

#!/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
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の設定例までは書いてなかったので、参考までご紹介します。

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

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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次