2021-08-08 (2021-08-08更新)

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

Ubuntu
Minecraft

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

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

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


猫派 / 基本インドア / ガジェット大好き / RDP推進派 / 自作キーボード
コロナ禍の趣味はPC+VRでゲーム。
最近のゲーム:おやすみちゅう

→ Policy