マイクラのサーバーをdockerで構築 – マルチサーバーを数分で起動

by

in

dockerを使用したMinecraftサーバーの構築方法をメモ書きとして残しておきます。

サーバー構築の利点

dockerでMinecraftサーバーを構築する利点は以下の通りです

  1. 環境の一貫性
    • Dockerコンテナは、どの環境でも一貫した実行環境を提供します。これにより、「私のマシンでは動くけど、サーバーでは動かない」という問題を防ぎます。
  2. 迅速なデプロイメント
    • Dockerイメージを使用すると、新しいサーバーを数分で起動し、設定できます。これは、特に複数のサーバーを管理する場合に有効です。
  3. 分離とセキュリティ
    • 各Minecraftサーバーは独立したコンテナ内で動作するため、他のサービスやアプリケーションと隔離されます。これにより、セキュリティと安定性が向上します。
  4. リソースの効率的な利用
    • Dockerは軽量な仮想化ソリューションであり、ホストシステムのリソースを効率的に使用します。これにより、限られたリソースでも複数のサーバーを実行できます。
  5. バージョン管理と再現性
    • Dockerイメージはバージョン管理され、イメージを再利用して正確に同じ設定のサーバーを作成することができます。これにより、デバッグや開発が容易になります。
  6. カスタマイズと拡張性
    • 必要に応じてDockerfileを編集して、カスタムプラグインや設定を含むMinecraftサーバーを簡単に作成できます。また、Docker Composeを使用して、データベースや管理ツールなどの追加サービスと連携させることができます。
  7. コミュニティとサポート
    • Dockerは広く使用されているため、多くのコミュニティリソース、チュートリアル、専門知識が利用可能です。また、既存の多くのMinecraftサーバーイメージがDocker Hubで公開されており、これらを利用して簡単に始めることができます。

自分のパターンとしてはすでにdockerサーバーを持っており、Minecraftサーバーの使い勝手を試したかったので設定方法を調べた結果をまとめています。

統合版サーバー

MinecraftのサーバーはJava版/統合版で別物を使用する必要がある。統合版はBedrock版のサーバーを使用する。

docker-compose.yml を用意して以下の内容を記載

# docker-compose.yml
version: "3"

services:
  minecraft:
    image: itzg/minecraft-bedrock-server
    ports:
      - 19132:19132/udp
    environment:
      EULA: "TRUE"
    tty: true
    stdin_open: true
    restart: unless-stopped
    volumes:
      - ./data:/data

使用しているdockerイメージはこちらのリポジトリを参照

https://github.com/itzg/docker-minecraft-bedrock-server

# dockerコンテナの起動
docker compose up -d

# send-command を使用することでマイクラのサーバーコマンドを実行できる 例: 座標表示
docker compose exec minecraft send-command gamerule showCoordinates true

Java版サーバー

Java版はサーバータイプが豊富。入れたいプラグインに対応したサーバータイプを選択することができる。

以下はブラウザからマップを見られる Dynmap 用にポートを開けるのも同時に行う。

# docker-compose.yml
version: "3"

services:
  mc:
    image: itzg/minecraft-server
    ports:
      - 25565:25565
      - 80:8123
    environment:
      EULA: "TRUE"
      TYPE: SPIGOT
    tty: true
    stdin_open: true
    restart: unless-stopped
    volumes:
      - ./data:/data

使用しているdockerイメージはこちら。設定項目が豊富です。

https://github.com/itzg/docker-minecraft-server

# dockerコンテナの起動
docker compose up -d

最後に

以上、Minecraftのサーバーをdockerで起動する方法でした。

配布されているdockerイメージのままで使えるのでとても簡単です。統合版 = Bedrock版という知識があると解りやすいんですが、それを知らないと統合版のあれこれがなかなか検索にヒットしないので注意してください。

投稿者


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA