マインクラフトサーバー構築方法 (DojoPaaS利用者向け)
CoderDojo Japan が提供する DojoPaaS を使って、
マインクラフトサーバー (以下マイクラサーバー) をカンタンに構築するスクリプトです。
マイクラサーバーを初めて構築する方は、以下のライセンス条項を確認してください。
MINECRAFT エンド ユーザー ライセンス条項
私はサーバーはもちろん、マイクラ自体も初心者のため、不備があればご指摘ください。
**よくわからなければ読み飛ばして結構です。スクリプトを実行するだけ
本スクリプトでは次の流れでマイクラサーバーを立てます。
- Docker でマイクラサーバーを立てます
- 使用する Docker イメージは itzg/minecraft-server です。
- ドキュメントを読むとパラメータを変えるだけで色々なタイプのマイクラサーバーが起動できるようです。感謝。
- Ubuntu (ホスト) 80番ポートを、マイクラサーバー用の25565番ポートにマッピングします
- マイクラサーバーの設定ファイルは
/var/mc_official_data/
にあります (Docker ボリュームとしてマウントされています)- 設定ファイルについてはあとで説明します。
今のところ公式版のみです。今後、色々な派生サーバーを試せたらなと思います。
CoderDojo 向けに提供されている DojoPaaS を使って、まずはサーバーを作っておきます。
DojoPaaS の使い方は coderdojo-japan/dojopaas をご参照ください。
また、Minecraftユーザーを1つ用意してください。
Minecraftユーザーとサーバーが無事作れたら、SSH でサーバーにログインします。
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-142-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
New release '18.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Last login: Sat Apr 4 07:50:39 2020 from 123.1.58.13
ubuntu@ubuntu:~$
以下のコマンドを実行します。実行する場所は任意ですが、よくわからなければログインした場所 (home
ディレクトリ) で大丈夫です。
ubuntu@ubuntu:~$ git clone https://github.com/urushibata/minecraft.git
そうすると minecraft
というディレクトリができます。その中の official
ディレクトリに移動します。
ubuntu@ubuntu:~$ cd minecraft/official
official_build.sh
というシェルスクリプトを実行します。するとマイクラサーバーのインストールと起動が行われます。デフォルトでは公式の最新バージョンです。
数分待つと、途中で管理者ユーザーの設定を求められます。最低1ユーザー入力してください。
最後に 『Creating minecraft ... done』 と表示されれば成功です。
ℹ️ Spigot Server |
---|
Spigotサーバーを構築する場合は spigot ディレクトリに移動し、 spigot_build.sh を実行してください。 |
ubuntu@ubuntu:~$ ./official_build.sh
Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
Hit:2 http://jp.archive.ubuntu.com/ubuntu xenial InRelease
...
登録するオペレーター(管理者)を入力してください。
操作を選択してください。(a:追加, d:削除, y:決定 , c:キャンセル):a <-- 追加
追加するユーザーIDを入力してください。:operator-user <-- ユーザーIDを入力
登録するオペレーター(管理者)を入力してください。
1. operator-user
操作を選択してください。(a:追加, d:削除, y:決定 , c:キャンセル):y <-- ユーザーがセットされたら決定します。
...
Digest: sha256:ce18748c8657dc9ae25e334e27182ad64706ebc73aa0c092e95fb6112c4d3386
Status: Downloaded newer image for itzg/minecraft-server:latest
Creating minecraft ... done
最後に Minecraft アプリ (クライアント) を立ち上げ、接続確認します。接続できるのは製品版のみです。
もし、初めてサーバーを起動した場合、ログインできるのは先程設定した管理者ユーザーのみです。
サーバーアドレスに『サーバーのIPアドレス:80
』を入力します。サーバー名は任意です。
以上でマイクラサーバーの立ち上げは終了です。お疲れ様でした!
マイクラサーバーの設定ファイルや、起動・停止コマンドなどについてまとめてます。
設定ファイルは /var/mc_official_data/
にあります。
ここのファイルを修正し、マイクラサーバーを再起動すると反映されます。
バックアップしたい場合は scp
コマンドなどでダウンロードしてください。
ubuntu@ubuntu:~$ cd ~/minecraft/official;docker-compose restart
ubuntu@ubuntu:~$ cd ~/minecraft/official;docker-compose stop
マイクラサーバーを全部消したい時
ubuntu@ubuntu:~$ cd ~/minecraft/official;docker-compose down --rmi all
ホワイトリストが無効になっていると不特定多数の人がログインできてしまいます。
管理者でログインして、以下のコマンドを打ちホワイトリストを有効化します。
/whitelist on
ホワイトリストにユーザーを追加する場合
/whitelist add user-id
クラウドにデータをアップロードするプログラムとクラウドの古いデータを削除するプログラムがあります。cronなどで自動起動させておくと定期的にバックアップすることができます。
- rcloneがインストールされており、クラウドストレージに接続されていること。
- syslogデーモンが起動していること。
- rcloneのインストールと設定についてはUbuntu 20.04にrcloneをインストールするなどを参照。ブラウザで認証する必要がありCUIではできないので、別のWindowsマシンなどで認証する必要があります。Configuring rclone on a remote / headless machine
クラウドストレージにバックアップするシェルスクリプトです。
古くなったバックアップデータを削除します。
バックアップ対象のファイルリストです。
設定ファイルです。
設定値 | 説明 |
---|---|
BACKUP_ROOT_PATH | バックアップしたいマインクラフトのパス /var/mc_official_data |
RCLONE_DEST_PATH | [rcloneで作成したremote_drive_name]:バックアップ先ディレクトリパス remote_drive:Public/sample/MineCraftBackupData |
SYSLOG_FACILITY | syslogのファシリティー。特にわからなければブランク。 |
SAVE_DAYS | バックアップデータの保管期間(単位:日) |