dockerを使用したMinecraftサーバーの構築方法をメモ書きとして残しておきます。
目次
サーバー構築の利点
dockerでMinecraftサーバーを構築する利点は以下の通りです
- 環境の一貫性
- Dockerコンテナは、どの環境でも一貫した実行環境を提供します。これにより、「私のマシンでは動くけど、サーバーでは動かない」という問題を防ぎます。
- 迅速なデプロイメント
- Dockerイメージを使用すると、新しいサーバーを数分で起動し、設定できます。これは、特に複数のサーバーを管理する場合に有効です。
- 分離とセキュリティ
- 各Minecraftサーバーは独立したコンテナ内で動作するため、他のサービスやアプリケーションと隔離されます。これにより、セキュリティと安定性が向上します。
- リソースの効率的な利用
- Dockerは軽量な仮想化ソリューションであり、ホストシステムのリソースを効率的に使用します。これにより、限られたリソースでも複数のサーバーを実行できます。
- バージョン管理と再現性
- Dockerイメージはバージョン管理され、イメージを再利用して正確に同じ設定のサーバーを作成することができます。これにより、デバッグや開発が容易になります。
- カスタマイズと拡張性
- 必要に応じてDockerfileを編集して、カスタムプラグインや設定を含むMinecraftサーバーを簡単に作成できます。また、Docker Composeを使用して、データベースや管理ツールなどの追加サービスと連携させることができます。
- コミュニティとサポート
- 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版という知識があると解りやすいんですが、それを知らないと統合版のあれこれがなかなか検索にヒットしないので注意してください。
コメントを残す