Dockerを使ってMinecraftサーバーを簡単に建てる

2019年10月23日Minecraft,TECHNOLOGY,ゲームサーバー,サーバー

Minecraftのサーバー構築や運用って結構手間がかかってめんどくさいですよね。

今回は簡単にMinecraftのサーバーを立ち上げるためにDockerを使って、Minecraftを簡単に構築する方法を紹介します。

 

 

今回取り上げる内容

  • Docker Hub上に存在するイメージを使用
  • データ類は物理マシン内に保存

といった内容でサーバーを構築する手順について解説します。

Docker for Windowsの方は一部読み替えてください。

 

 

前提条件

  • Dockerがマシンにインストールされている。
  • Dockerの基本的な操作(pull, run等)がわかる。
  • TCPの25565ポートがサーバーを動作させるマシンで利用可能なこと。

 

 

手順

イメージのpull

Screen Shot 2019-10-14 at 16.43.35

今回は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)を読んでみてください。

 

 

終わりに

Screen Shot 2019-10-23 at 15.07.30

今回はDockerを使ってMinecraftサーバーを簡単に立てる方法をご紹介しました。

これでMinecraftサーバーも気軽に立てることができるようになったかと思います。

皆さんもこの記事を参考にサーバーを建ててみてはいかがでしょう。

ではでは。

 

みんなのDocker/Kubernetes

みんなのDocker/Kubernetes

石澤 基, 五十嵐 綾, 大塚 元央, 須田 一輝, 稲津 和磨, 九岡 佑介, 坂部 広大, 青山 真也, 池添 明宏, 上岡 真也
2,508円(03/28 11:27時点)
Amazonの情報を掲載しています
Minecraft(マインクラフト)公式ガイド クリエイティブ

Minecraft(マインクラフト)公式ガイド クリエイティブ

Mojang AB
1,440円(03/28 11:27時点)
Amazonの情報を掲載しています
Minecraft(マインクラフト)公式ガイド サバイバル

Minecraft(マインクラフト)公式ガイド サバイバル

Mojang AB
1,518円(03/28 18:50時点)
Amazonの情報を掲載しています