1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS EC2 Amazon Linux でマイクラサーバ+Forge+mod

Last updated at Posted at 2022-06-01

AWS で Java 版のマイクラサーバ(Forge+鬼滅の刃mod付)を起動したときの手順を記録しておきます。
t3.small インスタンスで、1時間あたり 0.0272 USD(4円以下)でお気軽に試せます。
ただし、1ヶ月間ずっと起動したままだと、2〜3千円くらいかかってしまうので、
常時起動させておきたい用途なら、構成や設定を別途調整しても良いかもしれない。

(1) セキュリティグループを作成

https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#CreateSecurityGroup:

  • セキュリティグループ名: 適宜。例:minecraft-sg
  • 説明: 適宜。例:Minecraft Server

インバウンドルール1:

  • タイプ: カスタムUDP
  • ポート範囲: 25565
  • ソース: マイ IP

インバウンドルール2:(統合版も使う場合)

  • タイプ: カスタムUDP
  • ポート範囲: 25565
  • ソース: マイ IP

インバウンドルール3:

  • タイプ: SSH
  • ソース: マイ IP

自分以外もアクセスしてもらうためには、各自の IP アドレスの登録が必要です。

(2) EC2 インスタンスを起動

https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#LaunchInstances:

  • 名前: mc
  • OSイメージ: Amazon Linux 2 AMI (HVM)
  • インスタンスタイプ: t3.small (メモリ2GB)
  • キーペア名: 適宜
  • ファイアウォール(セキュリティグループ): 既存のセキュリティグループを選択する
  • 共通のセキュリティグループ:  minecraft-sg
  • ホスト名のタイプ: リソース名

起動したら、インスタンス>詳細>パブリック IPv4 アドレス の値をコピペする。
使わないときは、EC2 インスタンスを停止しておけば、あまりコストがかからない。

(3) SSH ログインする

ssh -i private.key ec2-user@xxx.xxx.xxx.xxx

(4) Docker をインストール

sudo yum update -y
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -a -G docker ec2-user
sudo curl -SL https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

(5) docker-compose.yml を編集

適当なディレクトリ(例:~/kimetsu)に docker-compose.yml を作成します。
また、その隣に world ディレクトリと mods ディレクトリも作っておきます。

version: '2'
services:
    mc:
        container_name: Kimetsu
        image: itzg/minecraft-server:java11
        ports:
            - "25565:25565"
        tty: true
        stdin_open: true
        restart: always # EC2インスタンス起動時にマイクラサーバも自動起動してくれる
        volumes:
            - ./world:/data/world:rw
            - ./mods:/data/mods:rw
        environment:
            EULA: "TRUE"
            VERSION: "1.16.5"
            TYPE: "FORGE"
            FORGEVERSION: "36.2.34"

(6) 鬼滅の刃 mod をインストール

https://www.curseforge.com/minecraft/mc-mods/demonslayer/files から
KimetsunoYaiba_1.16.5_ver38.2.jar をダウンロードして、EC2 の mods フォルダに格納します。

scp -i private.key ~/Downloads/KimetsunoYaiba_xxxx.jar ec2-user@xxx.xxx.xxx.xxx:path/to/mods/

(7) 起動

docker-compose up -d

(8) ログ確認

docker-compose logs -f

初回は数分かかるかも。
「DedicatedServer Done」を表示されれば起動完了。

[minecraft/LoggingChunkStatusListener]: Preparing spawn area: 96%
[minecraft/LoggingChunkStatusListener]: Preparing spawn area: 99%
[minecraft/LoggingChunkStatusListener]: Time elapsed: 15502 ms
[minecraft/DedicatedServer]: Done (15.909s)! For help, type "help"
[minecraft/DedicatedServer]: Starting remote control listener
[minecraft/RConThread]: Thread RCON Listener started
[minecraft/MainThread]: RCON running on 0.0.0.0:25575

手元のマイクラJava版を起動して、マルチプレイ>サーバーを追加>サーバーアドレスに、
手順2で確認した IP アドレスを登録すれば、接続できる。

利用する Mod のバージョンは、サーバとクライアント側で、揃えておく必要があります。
ToroHealth のようなクライアント側だけの mod は、クライアント側だけに入れれば OK です。

(9) 設定ファイルの編集

# 初回のみ
docker-compose exec mc apt-get install vim

# 編集
docker-compose exec mc vi server.properties

# 再起動
docker-compose restart mc
1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?