UbuntuでMinecraft(統合版)サーバをたてる(x86)

「お父さん、マイクラやりたい」
「よし、父ちゃんが家の中で遊ぶマルチサーバ建ててあげよう」

息子がゲームしたいと言ったらサーバを立ち上げる、これがエンジニアなりの遊び方。

2010年くらいの古いMacbookにubuntuをインストールして Minecraft Servr(統合版) をインストールしてみた。

準備

直接インストールではなく、dockerでコンテナとして立ち上げます。
コンテナとして実行することで、マルチサーバ環境も可能です。

まずはdockerdocker-composeコマンドを使えるようにしておく。

sudo apt install docker docker-compose

インストールするだけだとrootユーザしか使えないので、権限付与は
dockerコマンドが使えない(Couldn't connect to Docker daemon)
の記事をどうぞ。

docker-comp;ose.ymlの作成

Ubuntuにログインし、適当なディレクトリに docker-compose.ymlを作成。
小1の息子とふんわり遊ぶのでcreativeモードにしています。

version: '3.4'

services:
  bds:
    restart: always
    image: itzg/minecraft-bedrock-server:latest
    environment:
      SERVER_NAME: SERVER1
      EULA: "TRUE"
      GAMEMODE: creative
      DIFFICULTY: normal
      LEVEL_NAME: MY CREATIVE
      # booleanのはずだが受け付けてくれない
      # ALLOW_CHEATS: TRUE
      # ONLINE_MODE: TRUE
    ports:
      - 19132:19132/udp
    volumes:
      - ./data:/data
    stdin_open: true
    tty: true

必須ではないですが、SERVER_NAMEくらいは設定しておいたほうがいいです。
LAN内で検索するときどのサーバだっけ?ってのを回避できます。

その他のオプションは公式サイト https://hub.docker.com/r/itzg/minecraft-bedrock-server を参照してください。
server.propertiesをいじらなくてもいろいろな設定が使えます。

現バージョンではスラッシュコマンドを使うプログラミングで必須のALLOW_CHEATSが有効にできないようです。
booleanで設定すると Require String で弾かれるし、文字列で trueにしてもInvalidになる。
あとで server.propertiesを書き換えましょう。

ビルドしてスタート

docker-compose.ymlに設定を書き込んだら、ビルドしてスタートです。

docker-compose up --build --no-start
# ここで server.propertiesを書き換える
docker-compose start
docker-compose logs -f

server.propertiesを書き換えたい場合は上記コメントの位置で書き換えます。
docker-compose.ymlでは設定できなかったALLOW_CHEATSなども data/server.propertiesをいじればOKです。

いじったらコンテナの再起動が必要です。

これでサーバが起動します。
iPad版では「サーバ」タブでサーバを追加するだけで、もう使えるようになりました!
フレンドタブにLAN内のサーバが表示されることがありますが、表示されないときもあり安定しないのでサーバ追加がおすすめです。

それでもプレイを続けているうちにサーバに接続できなくなったときは、ゲームを再起動するとだいたい復活します。

複数インスタンスを立ち上げたい

息子とはcreativeモードでほんわかプレイ、survivalモードでもう一つインスタンスが欲しい場合。

  • もう一つディレクトリを作成
  • docker-compose.ymlをコピーしてきて、設定のみ書き換え
    • ポートはかぶったら動かないので書き換え必須
  • ビルド&スタート

これだけでもう一つ立ち上がります。

ポート番号のみ変更が必要、あとはお好きなように書き換えてください。

ports:
  # 通常ポートとかぶらないように19234ポートで待ち構える
  - 19234:19132/udp

おまけ・switchとかはそのままでは繋げない

Windows版やiPad版は自分でサーバを追加することができますが、switch版は推奨サーバ以外は表示されず、自由に追加することもできません。
DNS設定をごにょごにょすれば無改造でつなぐことはできたんですが、性善説に基づいて管理できないDNSを経由して接続することになるので、セキュリティ的に不安があるのでここでは書きません。
(ググれば出てきますがおすすめはしません。OSSなので、コードの中身をチェックして自分でDNS建てられるならOK)

参考サイト

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

Subscribe to 猫好きが猫以外のことも書く

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe