前回、SynologyのNASにDockerを使ってMinecraftサーバーを立てる方法について解説しましたが、今回はそのDocker MinecraftサーバにMODを導入する方法について解説します。
目次
Docker対応のSynology NASを使う
SynologyのNASのPlusシリーズは仮想化環境のDockerに対応しています。
今回は、Docker環境のMinecraftサーバに各種MODを適応する方法について解説します。(MOD未適応のバニラサーバーの構築については前回の記事を参照)
Minecraft MOD適応の前提条件
・Synology NASにDockerがインストールされている(本記事ではDS916+を使用)
・イメージはitzg/minecraft-serverを使用
・マインクラフトMOD適応の経験あり(シングルプレイでも可)
itzg/minecraft-serverイメージからコンテナを生成
NASへのDockerの導入とitzg/minecraft-serverイメージのダウンロードについては前回解説したので、本記事では省きます。
MOD導入時には、コンテナの設定を変える必要があるので詳細設定ボタンから各種設定を行います。
ボリューム (永続化)
Dockerは再起動するとデータが消えるので、セーブデータやMODなどはコンテナの外で管理を行います。セーブデータのバックアップやMOD管理などは永続化した[data]フォルダ内で行います。
Dockerコンテナで使用する永続化フォルダの作成は、Dockerの画面でフォルダの作成を行います。Synology DSM上で作成してもOKですが、アクセス権の問題でエラーとなる場合があります。
マウントパス /data ファイルフォルダ /任意の場所
環境変数
MOD導入の指定は環境変数内で行います。MODを適応したMinecraftサーバはメモリを多く必要とするので、標準の1Gより多くします。
今回はMODにFORGEを使用するので、TYPE変数を[VANILLA]から[FORGE]に変更します。
VERSIONにはマインクラフト本体のバージョンを指定します。現在主流のMODは[1.12.2]なのでこれを指定します。
FORGEVERSIONも初期設定の[RECOMMENDED]から希望のForge Versionに変更します。各クライアントとForge Versionが異なると接続ができないので、ホストクライアント間で統一します。バージョンの記載はForgeのサイトからバージョンのみを記載すればOKです。
EULA:TRUE MEMORY:任意 [MODの数・接続人数で調整] TYPE:FORGE VERSION:任意 [使用するMODのバージョンに合わせる] FORGEVERSION:任意
コンテナの設定が完了したら、MODを入れずに一度起動
コンテナの設定が完了したら、そのままの状態でコンテナを一度起動します。コンテナの起動が完了したら、コンテナを停止しましょう。
次の手順では、マイクラコンテナが正常にFORGEを導入できたかの確認と、永続化したフォルダにMODデータのコピーを行います。
コンテナが正常に起動したら、MODを導入
コンテナが正常に起動するのを確認したら、コンテナを一度停止して永続化したフォルダにMODデータをコピーします。
MODの導入は、永続化したフォルダ内の[mods]フォルダへコピーすれば完了です。別途[config]にも設定が必要なMODの場合はそちらの設定も行います。
ワールドデータは初回コンテナ起動時にMOD適応されていない状態で生成されているので、[WORLD]フォルダを消してから再度コンテナを起動することでMODが適応されたワールドが再生成されます。
コンテナを再起動してMODの導入を確認する
MODを適応した状態でコンテナが正常に起動すれば、MODの導入は成功です。
MODの導入後、起動しなくなった場合は、MOD同士の競合やMODのバージョン違いの可能性もあるので注意します。MODワールドの起動は、適応するMOD数にもよりますが10分以上必要になります。
起動が完了したら、同じForgeとMODを適応したクライアントから接続すればMODワールドを遊ぶことができます。
Synology NASのDockerを使ってMODワールドを作ったまとめ
Docker対応しているNASは上位モデルのPlusシリーズのみなので、jシリーズやValueシリーズなど中位以下モデルだと対応していないので注意してください。
NASとDockerを使ってMinecraftサーバにする最大の魅力はサーバ管理の容易さです。
一般的な手順でMinecraftサーバを構成すると、イメージのダウンロードやMODの導入、外部に公開する場合のポート開放など様々な作業が必要になります。NAS本体の管理機能とDockerを使用すれば、色々な煩わしい作業を一元管理できるようになります。