Minecraftのサーバー構築や運用って結構手間がかかってめんどくさいですよね。
今回は簡単にMinecraftのサーバーを立ち上げるためにDockerを使って、Minecraftを簡単に構築する方法を紹介します。
今回取り上げる内容
- Docker Hub上に存在するイメージを使用
- データ類は物理マシン内に保存
といった内容でサーバーを構築する手順について解説します。
Docker for Windowsの方は一部読み替えてください。
前提条件
- Dockerがマシンにインストールされている。
- Dockerの基本的な操作(pull, run等)がわかる。
- TCPの25565ポートがサーバーを動作させるマシンで利用可能なこと。
手順
イメージのpull
今回はDocker Hubにあるitzg/minecraft-serverを利用します。
# docker pull itzg/minecraft-server
ホストマシンの設定
今回はマップのデータなどを永続化するために/var/mc_data/
を作成し、そこにデータが保存されるようにします。
# mkdir /var/mc_data/
パーミッションはDocker側から操作できるように設定してあげてください。
コンテナ実行
以下のコマンドで永続化されたコンテナを作成し、起動します。
# docker run -d -e EULA=TRUE -p 25565:25565 -v /var/mc_data:/data --name minecraft --restart always itzg/minecraft-server
オプション解説
-d
デタッチモード、コンソールにテキストを出力しない。
-e EULA=TRUE
マインクラフトサーバーのEULA(ソフトウェア利用許諾)に同意する。
-p
ポートフォワーディング、仮想マシンのポートをホストマシンのポートに割り当てる (マインクラフトは25565ポートを使う)
-v
ホストマシンのディレクトリを仮想マシン内のディレクトリに割り当て。 (今回の設定だと、仮想マシンの/dataに書き込まれたデータはホストマシンの/var/mc_dataに書き込まれる)
--name
コンテナに名前をつける。 今回はminecraft
--restart
コンテナの再起動方法。 alwaysだとホストマシンの再起動とかしてもDockerのデーモンが立ち上がれば、勝手にコンテナが起動してくれる。
itzg/minecraft-server
実行するDockerイメージ
接続
マインクラフトから、ホストマシンのIPアドレスに接続することで接続できます。
同一マシンなら127.0.0.1
で接続できます。
管理
RCON
Dockerを動かしているターミナルから以下のコマンドでRCONログインできます。
# docker exec -i minecraft rcon-cli
終了する際は普段通り、Ctrl + C
で大丈夫です。
また、rconで使用されるポート(25575)は今回外部に公開されていないのでセキュリティ的には問題ないと思います。
server.propertiesやops.jsonの変更
今回の場合だと、minecraftサーバーのデータは全てホストマシンの/var/mc_data
に格納されるため、そこにあるserver.propertiesなどを編集することで変更できます。
変更を適用するときは以下のように一回コンテナを破棄してからまた立ち上げてください。
# docker stop minecraft
# docker rm minecraft
# docker run -d -e EULA=TRUE -p 25565:25565 -v /var/mc_data:/data --name minecraft --restart always itzg/minecraft-server
バージョンアップ
バージョンアップをする場合はDockerイメージを消して再度プルし、-e FORCE_REDOWNLOAD=true
をつけてdocker run
することでバージョンアップできます。
# docker stop minecraft
# docker rm minecraft
# docker rmi itzg/minecraft-server
# docker pull itzg/minecraft-server
# docker run -d -e EULA=TRUE -e FORCE_REDOWNLOAD=true -p 25565:25565 -v /var/mc_data:/data --name minecraft --restart always itzg/minecraft-server
サーバーバージョン指定
サーバー起動時に-e VERSION=1.7.9
や-e VERSION=SNAPSHOT
、-e VERSION=LATEST
などを指定することで指定されたバージョンのサーバーを実行できます。
その他
他にもForgeやBukkit/SpigotなどのMODサーバーを動かすこともできるそうです。
詳細は公式ドキュメント(https://hub.docker.com/r/itzg/minecraft-server)を読んでみてください。
終わりに
今回はDockerを使ってMinecraftサーバーを簡単に立てる方法をご紹介しました。
これでMinecraftサーバーも気軽に立てることができるようになったかと思います。
皆さんもこの記事を参考にサーバーを建ててみてはいかがでしょう。
ではでは。
はじめよう! マインクラフト 2020令和SPECIAL ~最新テクニック570以上!! マイクラ全機種・最新バージョン対応!
コメント
コメント一覧 (1件)
mc_data内のserver.propertiesを編集し、コンテナ破棄からリスタートいたしましたが、反映されることはありませんでした。