前回に引き続き、MineOSの導入を行います。今回はサーバの運用とバックアップについて説明をしていきます。
目次
サーバの設定
設定をしておいた方が良い項目について説明します。
サーバアクション
- LANにブロードキャスト
同一LAN上のMinecraftクライアントに、サーバの存在を公開します。手動でサーバを追加するのであれば、チェックは不要です。
- 起動時にサーバを開始する
Linuxサーバ(MineOS)起動時に、自動的にサーバを起動するには、チェックを入れておきます。
- ‘save-all’を利用してワールドをディスクに保存する間隔
Minecraftサーバでは、自動保存を使用していない場合、ワールドのデータはリアルタイムではディスクに保存していません。ここでは、保存を行う間隔を指定します。(自動保存のオプションを有効にしている場合は不要かと思います)
Java設定
- メモリーアローケーション
サーバ追加時にも設定がありましたが、-Xmxに最大使用メモリ、-Xmsに起動時メモリを指定します。2つの設定を同一にした方がパフォーマンスが良くなると言われています。
- 追加のJava引数
Minecraftサーバの起動時にJavaに与える引数を指定します。インターネット上で様々な設定が公開されていますが、私は、以下の引数を使用しています。(全ての環境で適切とは限りませんので、ご注意下さい)
-XX:+UseLargePages -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+DisableExplicitGC -XX:+UseTLAB -XX:-UseGCOverheadLimit -XX:+UseG1GC
- 追加のJar引数
Minecraftサーバの起動時にJarファイルに与える引数を指定します。意味があるかどうか分かりませんが、「nogui」だけ指定してあります。
Server.Properties
サーバのServer.Propertiesファイルの中身を編集することが可能です。
各項目の意味は、以下のサイトを参照して下さい。
https://minecraft-ja.gamepedia.com/Server.properties
ログとコマンドライン
通常のMinecraftサーバでは、screenコマンドでサーバの管理を行いますが、MineOSでは、ブラウザ上でサーバの管理を行います。
左のメニューから「logs/lastest.log」をクリックします。
画面上にログと、ログ画面の一番下にコマンドを入力するエリアが表示されます。まずサーバを作ったのであれば、自分自身に管理者権限を付けましょう。コマンドは「op [自分のユーザーID]」です。
バックアップ
MineOSには2種類のバックアップ機能があります。
復元ポイント
復元ポイントは、実行中のサーバファイルを全て、ファイル単位でコピーするバックアップです。
最初のバックアップでは、全てのファイルがコピーされますが、2回目以降は差分だけがバックアップされます。ですので、バックアップする度にバックアップ容量は、変化があったファイル分だけ、少しずつ増えていきます。
復元ポイントで保存されたファイルは、デフォルトでは「/var/games/minecraft/backup/」にサーバ毎に保存されています。
手動でバックアップするには「サーバステータス」の「復元ポイント」内にある「+復元ポイントの新規作成」をクリックします。
実施した復元ポイントの一覧を見るには、左側のメニューから「復元ポイント」をクリックします。
復元を行うには、サーバを停止してから、希望するタイムスタンプの「復元」ボタンをクリックします。ただし、現在のMineOSでは、確認画面も完了画面も出ません。正しく復元できたかどうかは、実際にログインして確認して下さい。
また、復元ポイントは、古いデータを一括で削除することが可能です。希望するタイムスタンプの「これより古いものを削除」ボタンをクリックします。こちらも、確認画面は特に表示されません。ご注意下さい。
アーカイブ
アーカイブは、実行中のサーバファイルを全て、圧縮ファイルに固めて保存するバックアップです。
バックアップする度に、バックアップ容量はワールドのデータ量分だけ増えていきますので、サーバのディスク空き容量に注意して運用する必要があります。
アーカイブで保存されたファイルは、デフォルトでは「/var/games/minecraft/archive/」にサーバ毎に保存されています。
手動でバックアップするには「サーバステータス」の「アーカイブ」内にある「+アーカイブの新規作成」をクリックします。
実施したアーカイブの一覧を見るには、左側のメニューから「アーカイブ」をクリックします。
アーカイブから復元したい場合は、新しくサーバを作成し、そこに展開する形となります。希望するタイムスタンプの「動作」プルダウンから、「アーカイブからサーバを作る」を選択します。
また、アーカイブを削除したい場合は、希望するタイムスタンプの「動作」プルダウンから、「このアーカイブを削除」を選択します。確認画面は特に表示されません。ご注意下さい。
自動バックアップ
MineOSには、スケジュール機能が有り、復元ポイントの作成やアーカイブの作成を自動化することができます。
スケジュールを設定するには、左側のメニューから「スケジュール」をクリックします。
Cron Expressionには、実行タイミングを指定します。一般的にLinuxで用いられるcrontabと異なり、「秒 分 時 日 月 曜日」の6項目であり、「秒」が含まれますので注意して下さい。Cron Expressionは、以下のサイトを参照して下さい。
https://www.npmjs.com/package/cron
私は、4時間に1回復元ポイントを作成し、1日に1回アーカイブを作成しています。4時間に1回実行するには、Cron Expressionにの「時」の部分に「*/4」と記述しています。(書き方は色々あります)
実行するコマンドには、動作させたい内容を選択し、設定が完了したら「conjobの送信」をクリックします。
その後、各スケジュールの「開始」をクリックします。これを忘れると、折角設定をしても、実行されません。
なお、自動実行をする場合、ディスクの空き容量に注意して下さい。ディスクの空き容量が無くなると、Minecraftサーバ側で障害が発生し、インベントリや持ち物が壊れたり、最悪サーバが起動できなくなってしまいます。現在のMineOSでは、自動削除はなさそうですので、Linux側でCronで自動削除を行うか検討する必要があります。
次回は、既存のマルチサーバやシングルプレイからの引越方法を説明します。