【Minecraft】dockerを使ってBedrock serverを立ち上げる

【Minecraft】dockerを使ってBedrock serverを立ち上げる

どうも。fkdm(@fkdm88)です。我が家の小学生と保育園のキッズはマインクラフトというゲームに夢中。著名Youtuberのプレイ動画を観ながら、躍起になって毎日自分たちの世界を開拓している毎日です。

このゲーム、プログラミング思考も養われるとのことでゲームに寛容な私は自由にやらせています。たしかにプレイしている様子をみていると、他人の模倣をするだけでもそこそこ頭を使いそうな感じ。しかもサーバを立ち上げると協力プレイができるというのです。

キッズたちにせがまれたのと、(遅ればせながら)自分自身がMinecraftというゲームに興味を持ち始めていたのもあり、自宅PCサーバに協力プレイするためのサーバを立ち上げるに至りました。

本記事ではDockerを使ってBedrock Serverを立ち上げます。

Advertisement

Minecraft の種類

このMinecraftというゲームには、主にPCでプレイするJE版(Java Edition)とWindows/Switch/スマホでプレイするBE版(Bedrock Edition)が存在しており、今回記事ではBedrock Editionが対象となります。

Java EditionのMinecraftとは接続できませんのでご注意ください。

Docker

みんな大好きdocker。バージョンは次の通りです。

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

$ docker version
Client: Docker Engine - Community
 Cloud integration: v1.0.29
 Version:           20.10.18
 API version:       1.41
 Go version:        go1.18.6
 Git commit:        b40c2f6
 Built:             Thu Sep  8 23:11:43 2022
 OS/Arch:           linux/amd64
 Context:           desktop-linux
 Experimental:      true

Server: Docker Desktop 4.12.0 (85629)
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:01:23 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

$ docker compose version
Docker Compose version v2.10.2
Advertisement

Bedrock serverのインストール方法

Bedrock serverは、公式サイトからブツをインストールして起動すればよいだけで、dockerを使わずとも比較的かんたんにサーバを立ち上げることが可能のようです。

実は私も、最初はWindowsマシンでサーバをDLしてexeを叩いておくだけで運用していました。が以下理由でdocker運用に切り替えることにしました。

  • Minecraftアプリのバージョンアップに追従しないと接続ができない
    ⇛ 定期的に更新を確認し、更新があればサーバも更新する仕組みを作りたい
  • PC再起動したときや不意の強制終了のたび手動で実行ファイルを開始する必要がある
    ⇛ サービスとして自動起動する運用としたい

Docker composeを探す

Docker composeのよいところ。大抵のものは自分でコンテナを作らずとも、Dockerhubを漁れば見つかるということです。便利。

早速さがしてみると、ありましたありました。

https://hub.docker.com/r/itzg/minecraft-server

docker-compose.yml はこんな感じです。

version: "3"

services:
  mc-bedrock-server:
    image: itzg/minecraft-bedrock-server:latest
    ports: 
      - 19132:19132/udp
    environment:
      EULA: "TRUE"
      GAMEMODE: survival
      DIFFICULITY: normal
    volumes:
      - "/data/worlds"
      - "/data/server.properties"

docker compose up -d でサーバ開始し、手元のAndroid版Minecraftから接続できることを確認。

このコンテナは定期的に公式サーバへアップデート要否を問い合わせて、必要に応じてアップデートしてくれるスグレモノ。楽に運用できそうです。

Advertisement