44
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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への移植と機能不具合の改善を行ったものです。

あらかじめ設定しておいたチャンネルでコマンドを実行すると、サーバーを作成・起動したり停止・削除することができます。

image.png

起動している時間だけ課金されるので、毎月数円からの運用ができ、「Minecraftのサーバーを立てたい!!でもお金はあんま払いたくない!!」そんなあなたに最適です。

使い方

ざっくりとした使い方を説明します。

起動する

遊びたいときに/openを実行します。
保存されたイメージからVMを生成し、起動後に参加IPが出力されます。

image.png

終了する

この状態ではVPSの利用料金が発生しているため、遊び終わったらサーバーを閉じます。
/closeを実行すると、VMが停止しイメージが生成された後、VMリソースが削除されます。

ConoHaにおいてはイメージに対する課金はないので、起動していない間は料金が発生しません。

その他

他のコマンドや詳細については/helpで確認できます。

ざっくり構築方法

詳しい構築方法については、README.mdに書いておいたので、ここではざっくりとした構築方法だけを紹介します。

VMの作成

利用中のバージョンがver2.0であることを確認して、サーバーの追加の作成を行います。

image.png

利用中のバージョンがver3.0の場合はサイドメニュー下部のバージョン切替から切り替えを行えます。

作成する際に必ず設定を行う必要があるのは以下の2項目です。

image.png

ネームタグは、必ずasagao-for-minecraftまたはasagao-for-minecraft-任意名称の形式を取ってください。
任意名称を利用する場合は、後述のbot構築の段階で.envVM_AND_IMAGE_NAMEとして任意名称を定義してください。

サーバー作成時、スタートアップスクリプトを利用してMinecraftサーバーを構築するのもいいですが、

image.png

以下のような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円以下で運用できます。

この記事が誰かのお役に立てれば幸いです。

44
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?