Compass note

未踏の地へ踏み出すコンパス的エンジニアノート

【やってみた!】マイクラJAVA版のサーバーをAWSに構築してみたよ【Minecraftサーバの立て方】

マイクラで友達とマルチプレイするときに、誰かの端末(SwitchやPC)で起動していないと出来ないのが不便だったので、AWS 上にマイクラのサーバ(JAVA版)を作ってみました。

本記事は AWS で Linux もコマンドを打ちながらマイクラサーバを構築していきます。

Linux を触ったことない人や、本記事を見て難易度が高そうだ、、、と思った人は、ConoHa VPS(レンタルサーバ)が画面の操作だけでマイクラサーバを構築できるサービスをしています。

>> Minecraftサーバを簡単に作れる ConoHa VPS(レンタルサーバ)

マイクラサーバ(JAVA版)立て方の流れ

マイクラサーバ構築は難しくなく、3 ステップでできます。

  1. マイクラ JAVA 版ライセンスの購入
  2. マイクラサーバ用 AWS EC2 インスタンスの作成
  3. マイクラ JAVA 版プログラムのインストール

マイクラ JAVA 版ライセンスの購入

統合版のライセンスと JAVA 版のライセンスは異なります。

そのため、JAVA 版のライセンスを購入していない人は購入しましょう。

>> Minecraft Java Edition(認証コードのみ)【Amazon】

>> Minecraft Java Edition【Amazon】

認証コードのみ版の方がすぐにダウンロード出来て利用開始できるので便利でした。

マイクラサーバ用 AWS EC2 インスタンスの作成

  1. EC2管理画面から「インスタンスの起動」をクリックします
    "AWS EC2管理画面"
  2. 「ステップ1:Amazonマシンイメージの選択」は Amazon Linux 2 を選択します。(コスパがいいためw)
    "Amazon EC2 AMI選択画面"
  3. 「ステップ2:インスタンスタイプの選択」は、システム要件としてメモリが最低 4 GB 必要なので「t2.medium」を選択します。選択後「次のステップ:インスタンスの詳細の設定」をクリックします。
    "AWS EC2 インスタンスタイプの選択"
  4. 「ステップ 3: インスタンスの詳細の設定」はデフォルトのまま変更せず「次のステップ:ストレージの追加」をクリックします。
  5. 「ステップ 4: ストレージの追加」もシステム要件として最低 1 GB あればいいのでデフォルトのまま「次のステップ:タグの追加」をクリックします。
  6. 「ステップ 5: タグの追加」はマイクラサーバで有ることを判別しやすくするためにキー:Name値:MinecraftServer-JAVA などつけておきます。
    "AWS EC2 タグの追加"
  7. 「ステップ 6: セキュリティグループの設定」は作業用のSSHとマイクラプレイ接続用の25565ポートを開放するように設定します
    "AWS EC2 セキュリティグループの設定"
  8. 「ステップ 7: インスタンス作成の確認」で設定内容を確認して問題がなければ「起動」をクリックします。
  9. 新しいキーペアをダウンロードします。ダウンロード後「異スタンスの作成」をクリック。(SSH接続に利用します)
    "EC2キーペアダウンロード"
  10. しばらくするとEC2ダッシュボードで作成したインスタンスが「実行中」になります。
    "EC2ダッシュボード:インスタンス実行中"
  11. 作成したEC2インスタンスにsshログインします。
    ・ダウンロードしたキーペア:0600 に権限を変更
    bash-3.2$ chmod 0600 MinecraftKey.pem
    ・ssh ログイン:ssh -i ./MinecraftKey.pem ec2-user@{EC2インスタンスのパブリックIPv4アドレス}
    ・ログインできれば以下のように表示されます。
Last login: Sat Aug 14 06:44:12 2021 from 115085123212.dhcp.f1.octv.ne.jp

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
4 package(s) needed for security, out of 16 available
Run "sudo yum update" to apply all updates.

AWS マイIP の確認方法

自分のIPアドレスは以下のサイトで調べることができます。最初は自動的に入力されますが別の場所で接続するときなどはIP変わるので適宜調べましょう。

www.cman.jp

参考:マインクラフトサーバ(JAVA版)のシステム要件

最低要件 推奨要件
CPU Intel Core i3-3210 3.2 GHz/ AMD A8-7600 APU 3.1 GHz もしくはこれと同等の CPU Intel Core i5-4690 3.5GHz / AMD A10-7800 APU 3.5 GHz もしくはこれと同等の CPU
GPU(統合GPU) OpenGL 4.4* 対応 Intel HD Graphics(4000Ivy Bridge)または AMD Radeon R5 シリーズ(Kaveri line)
GPU(単体) OpenGL 4.4 対応 Nvidia GeForce 400 シリーズ または AMD Radeon HD 7000 シリーズ OpenGL 4.5 対応 GeForce 700 シリーズまたは AMD Radeon Rx 200 シリーズ(統合チップセットを除く)
RAM 4GB 8GB
HDD ゲームコア、マップ、その他ファイル用に最低 1GB 4GB(SSD 推奨)
OS ・Windows: Windows 7 and up
・macOS: Any 64-bit OS X using 10.9 Maverick or newer
・Linux: Any modern 64-bit distributions from 2014 onwards
Minecraft 用のファイルをダウンロードするためにはインターネット接続が必要です。ダウンロード後はオフラインでもプレイできます。
64 bit recommended
・Windows: Windows 10
・macOS: macOS 10.12 Sierra
・Linux: Any modern distributions from 2014 onwards

参考)Minecraft JAVA 版システム要件

マイクラ JAVA 版プログラムのインストール

ここからは AWS 上に起動した EC2 インスタンスの中で作業していきます。

JAVA 16 インストール

  • パッケージのアップデート
    $ sudo yum -y update
  • JAVA16インストールのためのレポジトリ追加
    $ sudo vi /etc/yum.repos.d/adoptopenjdk.repo
  • AdoptOpenJDKレポジトリを追記
[AdoptOpenJDK]
name=AdoptOpenJDK
baseurl=https://adoptopenjdk.jfrog.io/artifactory/rpm/amazonlinux/2/x86_64
enabled=1
gpgcheck=1
gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public
  • JAVA16インストール
$ sudo yum -y install adoptopenjdk-16-hotspot.x86_64 git
  • JAVAバージョンの確認
 java -version
openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-16.0.1+9 (build 16.0.1+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-16.0.1+9 (build 16.0.1+9, mixed mode, sharing)

マイクラプログラムのインストール

いよいよ(やっと。。。)ここからマイクラのプログラムをインストールしていきます。

  • マイクラ用ディレクトリの作成
$ mkdir /home/ec2-user/minecraft
  • 作成したディレクトリへ移動
$ cd /home/ec2-user/minecraft
$ pwd
/home/ec2-user/minecraft
  • マイクラプログラムのBuildToolsを取得
$ wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
  • ビルドコマンドの実行(バージョン1.17.1 でビルドしています)
$ java -jar BuildTools.jar --rev 1.17

マイクラサーバの起動

  • マイクラサーバの起動スクリプトの作成
$ vi /home/ec2-user/minecraft/Minecraft_start.sh

Minecraft_start.sh内容

#!/bin/sh
java -Xmx2048M -Xms1024M -jar /home/ec2-user/minecraft/spigot-1.17.1.jar nogui
  • 実行権限の付与
$ chmod +x /home/ec2-user/minecraft/Minecraft_start.sh
  • マイクラサーバ起動!!
$ /home/ec2-user/minecraft/Minecraft_start.sh
  • んん??エラーが発生。。。
$ /home/ec2-user/minecraft/Minecraft_start.sh
Loading libraries, please wait...
[08:00:32] [main/ERROR]: Failed to load properties from file: server.properties
[08:00:32] [main/WARN]: Failed to load eula.txt
[08:00:32] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
$ cat /home/ec2-user/minecraft/eula.txt 
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Sat Aug 14 08:00:32 UTC 2021
eula=false
  • エンドユーザライセンス条項を読んで合意できれば、eula.txt のeula=falseeula=true に書き換えます。nano で開いて編集し、control + x で保存します。
$ sudo nano /home/ec2-user/minecraft/eula.txt
  • もう一度起動。きちんと起動しました。
$ /home/ec2-user/minecraft/Minecraft_start.sh
・
・
・
08:47:16] [Server thread/INFO]: Time elapsed: 4080 ms
[08:47:16] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
[08:47:16] [Server thread/INFO]: Done (33.404s)! For help, type "help"

あとは、MAC や Windows にインストールしたマイクラのランチャーから AWS EC2 インスタンスのパブリック IPv4 アドレスをしていすれば接続できます!!

    Amazonチャージ