VPS等で身内やお友達などと一緒に遊ぶためのMinecraftサーバーを建てようとすると最低でも4Core/2GBくらいのスペックが必要が必要で、どうしても2,000/月 程度の維持費がかかってしまいます。Mod等をしっかり動かそうとするともっとかかりますよね。
最近、しゃふDiscordサーバーでマイクラをプレイしているのですが、誰も参加していない時間帯でも24時間課金され続けているのはもったいないですよね
docker-asagao-for-minecraftを使うと、遊んでいる時間だけ課金するので格安でサーバーを維持できます。
docker-asagao-for-minecraftとは
docker-asagao-for-minecraftは、asagao-for-minecraftをフォークし、Dockerへの移植と機能不具合の改善を行ったものです。
あらかじめ設定しておいたチャンネルでコマンドを実行すると、サーバーを作成・起動したり停止・削除することができます。
起動している時間だけ課金されるので、毎月数円からの運用ができ、「Minecraftのサーバーを立てたい!!でもお金はあんま払いたくない!!」そんなあなたに最適です。
使い方
ざっくりとした使い方を説明します。
起動する
遊びたいときに/open
を実行します。
保存されたイメージからVMを生成し、起動後に参加IPが出力されます。
終了する
この状態ではVPSの利用料金が発生しているため、遊び終わったらサーバーを閉じます。
/close
を実行すると、VMが停止しイメージが生成された後、VMリソースが削除されます。
ConoHaにおいてはイメージに対する課金はないので、起動していない間は料金が発生しません。
その他
ざっくり構築方法
詳しい構築方法については、README.mdに書いておいたので、ここではざっくりとした構築方法だけを紹介します。
VMの作成
利用中のバージョンがver2.0であることを確認して、サーバーの追加の作成を行います。
利用中のバージョンがver3.0の場合はサイドメニュー下部のバージョン切替から切り替えを行えます。
作成する際に必ず設定を行う必要があるのは以下の2項目です。
ネームタグは、必ずasagao-for-minecraft
またはasagao-for-minecraft-任意名称
の形式を取ってください。
任意名称を利用する場合は、後述のbot構築の段階で.env
にVM_AND_IMAGE_NAME
として任意名称を定義してください。
サーバー作成時、スタートアップスクリプトを利用してMinecraftサーバーを構築するのもいいですが、
以下のようなcomposeを書くことでコンテナとしてMinecraftサーバーを利用できます。
services:
minecraft-server:
container_name: mc-mod-server
image: itzg/minecraft-server
ports:
- "25565:25565"
tty: true
stdin_open: true
restart: always
volumes:
- ./data:/data/
environment:
EULA: "TRUE"
VERSION: "1.20.1"
TYPE: "FORGE"
FORGEVERSION: "47.3.0"
INIT_MEMORY: 4G
MAX_MEMORY: 8G
MOTD: "A Minecraft Server"
SPAWN_PROTECTION: 0
ALLOW_FLIGHT: "TRUE"
ENFORCE_SECURE_PROFILE: "FALSE"
私はDockerが管理し易いため、Dockerを利用しますが、どの方法をとっても構いません。
botのデプロイ
コマンドを利用するためにbotを稼働させる必要があるのですが、botのデプロイ先で料金が発生しては本末転倒なので、GCPのAlways Free枠やOCI, Heroku, 自宅サーバー等の料金が発生しないところにデプロイしましょう。
今回、私はGCPのe2-microインスタンスにデプロイしました。
bot本体はDocker環境で動くので、
curl https://get.docker.com | sudo sh
でDockerをインストールして、
git clone https://github.com/chan-mai/docker-asagao-for-minecraft
でbotの構成ファイルを持ってきて、
cp .env.sample .env
vim .env
で環境変数を設定し、
sudo docker compose up -d
することで起動します。
詳しい構築方法は、README.mdに書いてあります。
おわりに
docker-asagao-for-minecraftを用いることで、安価にMinecraftサーバーを運用することができます。
公開サーバーではなく、身内での利用なら無駄を省いて、遊ぶときだけ起動する形での運用もありではないでしょうか。
6Core/8GBのプランでも14.6円/時間なので、毎月20時間遊んでも300円以下で運用できます。
この記事が誰かのお役に立てれば幸いです。