【Java版】Minecraftのサーバーの建て方メモ【Docker】
ホストマシンの環境を汚さず、Docker環境で立てる方法を考えたのでメモ。
MODなし
基本的には、Javaをインストールして、公式から最新のserver.jar
をダウンロードして
java -Xmx1024M -Xms1024M -jar server.jar nogui
というコマンドを打てばよい。
Dockerを使う場合は
FROM openjdk:20-slim WORKDIR /server CMD java -Xmx1024M -Xms1024M -jar server.jar nogui
というDockerfileと
version: '3.6' services: java: build: . ports: - 25565:25565 tty: true volumes: - ./files:/server
というdocker-compose.ymlを用意して、docker-compose up
すればよい。
なおserver.jarはvolumesでマウントしているfilesフォルダに入っている想定。
├── Dockerfile ├── docker-compose.yml └── files └── server.jar
MODあり
SpigotMCを使うことで、プラグインサーバー(クライアント側はMODのインストール不要で参加できる)にする。
公式のインストール手順を使う場合、ダウンロードしたBuildTools.jarを展開して自分でビルドする必要があるのが難点
非公式だがビルド済みのものが配布されているようなので、こちらを使うほうが楽だった。
├── Dockerfile ├── docker-compose.yml └── files └── spigot-1.20.1.jar
変更点はserver.jarをspigotのjarに変えるだけ。
FROM openjdk:20-slim WORKDIR /server CMD java -Xmx4G -Xms4G -jar spigot-1.20.1.jar nogui
その他
ネットワーク
この手のサーバー立てはネットワークでつまりがち。身内でやる場合はHamachiが安定している気がする
便利だったMOD
建築鯖として運用してたのでVoxelSniperというブロックの一括設置・破壊・コピー&ペーストなどが行えるMODが便利でした