マインクラフト(Minecraft)の統合版(Bedrock Edition)において、新しいサーバープログラムがリリースされた時にアップデートする手順をご紹介します。
この記事では、VPSサービス(さくらのVPS、ConoHa)のスタートアップスクリプト・テンプレートで構築したマシンを対象にしています。
2022/02/18 時点で確認した内容になります。VPSサービス側がテンプレートを更新することにより仕組みが変わり、同じ手順が使えなくなる可能性もありますので、ご了承ください。
さくらのVPS の場合、公式が以下のページでアップデート手順を公開していますので、基本的にはそちらをご参照ください。
サーバーのコンソールに接続する
SSHクライアントを使う場合
TeraTerm 等の SSHクライアントでサーバに接続します。
Tera Term のインストールや使い方については以下の別サイトの記事などが参考になると思います。
【ゼロからわかる】Teratermのインストールと使い方
直接コンソールを操作する場合
SSHクライアントを使わなくても VPSプロバイダのサーバ管理画面からコンソールを開いて直接操作することもできます。
参考:コンソールの開き方
さくらのVPS:https://manual.sakura.ad.jp/vps/server/console.html
ConoHa:https://support.conoha.jp/v/console/
サーバープログラムを停止する
さくらのVPS
$ sudo systemctl stop minecraft.service
ConoHa
# systemctl stop minecraft-be-server.service
バックアップを取得する
さくらのVPS
$ sudo cp -a /opt/minecraft /opt/minecraft_XXXXXX
ConoHa
# cp -a /opt/minecraft_be_server /opt/minecraft_be_server_XXXXXXXX
「XXXXXXXX」の部分はバックアップを取得する日付でも、現在のサーバープログラムのバージョンでも何でも構いません。適当に名前を付けてください。
最新のサーバープログラムをダウンロードする
最新のサーバープログラムが公開されている以下のページで、「UBUNTU用UBUNTUサーバーソフトウェア」のダウンロードURLを確認します。
例:https://minecraft.azureedge.net/bin-linux/bedrock-server-1.18.12.01.zip
サーバープログラムをサーバー上にダウンロードします。
さくらのVPS
$ wget [最新のサーバープログラムのダウンロードURL]
例:wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.18.12.01.zip
ConoHa
# cd /tmp
# wget [最新のサーバープログラムのダウンロードURL]
例:
# cd /tmp
# wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.18.12.01.zip
ConoHa の場合、「cd /tmp」でカレントディレクトリを変更することを忘れないでください。
後で「minecraft」ユーザで zipファイルを展開しますが、「root」ユーザのホームにダウンロードすると読み込めないので、/tmp ディレクトリに移動しています。
アップデートサービスの停止
ConoHa のみの作業になります。
ConoHa のテンプレートでは、OS の起動 5分後、または毎日 3:00 にアップデート処理が走るようになっています。
しかし、このアップデート処理が曲者で、マイクラ公式に公開されている最新版をチェックしているわけではないようです。そのため、サーバープログラムをアップデートしても、この処理のせいで元に戻されてしまいます。
このままだと、ConoHa 側がアップデート用ファイルを更新してくれるまで待たなければならないので、アップデートサービスを停止します。
# systemctl stop update-minecraft-be-server.timer
# systemctl disable update-minecraft-be-server.timer
サーバープログラムを展開する
さくらのVPS
$ unzip -u -o -d /opt/minecraft [ダウンロードしたzipファイル] -x permissions.json server.properties whitelist.json worlds/*
例:unzip -u -o -d /opt/minecraft bedrock-server-1.18.12.01.zip -x permissions.json server.properties whitelist.json worlds/*
ConoHa
# sudo -u unzip -u -d /opt/minecraft_be_server /tmp/[ダウンロードしたzipファイル] -x permissions.json server.properties whitelist.json worlds/*
例:sudo -u minecraft unzip -u -d /opt/minecraft_be_server /tmp/bedrock-server-1.18.12.01.zip -x permissions.json server.properties whitelist.json worlds/*
サービスを書き換える
ConoHa のみの作業になります。
サービスによってマイクラが自動で起動するように設定されていますが、実行ファイル名にバージョンが含まれています。一方で、最新の実行ファイルの名前にはバージョンは含まれていないため、新しい実行ファイルの名前に書き換えてあげる必要があります。
サービスの定義ファイルを修正します。
# vi /etc/systemd/system/minecraft-be-server.service
ExecStart=/bin/sh -c '/usr/bin/screen -DmS minecraft /opt/minecraft_be_server/bedrock_server-1.18.1.02'
ExecStart=/bin/sh -c '/usr/bin/screen -DmS minecraft /opt/minecraft_be_server/bedrock_server'
サービスの定義ファイルを再読み込みします。
# systemctl daemon-reload
サーバープログラムを起動する
さくらのVPS
$ systemctl start minecraft.service
ConoHa
# systemctl start minecraft-be-server.service
zipファイルを削除する
公式からダウンロードした最新のサーバープログラム(zipファイル)を削除します。
さくらのVPSConoHa
$ rm -f [ダウンロードしたzipファイル]
例:rm -f bedrock-server-1.18.12.01.zip
皮脂や唾、手垢、汗などで表面は見えない雑菌だらけです。 衛生上も問題ですし、気持ち良く使うためにも、こまめに拭きとってキレイにしましょう。