普通にサーバを構築したら「統合版同士のみ」か「Java版同士のみ」のサーバしか作成できないのだが、GayserMCとDockerを使って簡単にクロスプレイができるサーバを構築できたので紹介する。
必要なもの
Windowsの場合のみ説明する。10でも11でも良い。MacやLinuxでも、Dockerが動けば良いので各自調べてほしい。
WSL2
Dockerを動かすのに必要。最新版で良い。
▼インストール方法
https://learn.microsoft.com/ja-jp/windows/wsl/install
Docker
サーバーを建てるのに使う仮想化ソフトウェア。このソフトウェアで仮想化した環境の中でサーバーを動かす。
「普通にサーバー立てるのと何が違うん?」て思う人が多いと思うが、Dockerを使えば環境の作成やコピーが楽なのだ。コピーに関しては実感できる人は少ないと思うが、作成が楽な点については実感してもらえるはず。
▼Docker Desktop
https://www.docker.com/products/docker-desktop/
サーバー構築
1. ファイルのダウンロード
https://github.com/mabubu0203/minecraft_multi からファイルのダウンロードをする。
ZIPファイルがダウンロードされるので、好きなフォルダに展開する。
2. mods.txtの編集
mods.txtに記載されているリンクが切れているので、先に進むには最新のリンクに変更する必要がある。
mods.txtの内容を削除して、以下の内容に変更する。
https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/spigot/build/libs/Geyser-Spigot.jar
https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/master/lastSuccessfulBuild/artifact/spigot/build/libs/floodgate-spigot.jar
3. ビルド・起動
dockerを使うと、一番初めに「ビルド」という作業が必要になる。サーバーを動かすために必要なファイルをすべてダウンロードして、サーバーを起動できる状態にすることだ。
以下で作業内容を解説する。作業はすべて、コマンドプロンプトを用いて、解凍したフォルダで行う。
初回
以下のコマンドを実行して、ビルド・起動を行う。
docker-compose -f ./docker/docker-compose.yml up --build --remove-orphans
2回目以降
2回目以降はビルドの必要がないので、起動するだけで良い。以下のコマンドで起動する。
docker-compose -f ./docker/docker-compose.yml start
Docker Desktopを開いて、Containersが以下の画像のような状態になっていれば問題なく起動している。後はアクセスするだけだ。
コンソールへのアクセス
先ほどと同じく、解凍したフォルダ内でコマンドプロンプトから以下のコマンドを実行する。
docker exec -it mc-spigot bash
Dockerの仮想環境内に入れるので、その後以下のコマンドを実行する。
rcon-cli --password minecraft
これでコンソールへのアクセスは完了だ。 あとはいつものようにコマンドを実行してやれば良い。
パスワードはデフォルトで「minecraft」となっているが、外部に公開する場合は必ず変えること(まあ、そんなことをしようと思ってる人は言わなくても分かってると思うけど)。