2
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.

【EC2】minecraft1.18のサーバーをEC2で立ち上げてみた

Last updated at Posted at 2021-12-12

はじめに

minecraftの1.18がリリースされました。空や地下が拡張されてより世界が広がったようで、マイクラ世界の拡張は止まるところを知りませんね。
せっかくなので、こちらのバージョンをEC2でサーバー構築してみました。Java17のインストールなど、いくつか躓いたポイントがあったので、その辺りを重点的にまとめたいと思います。

(2021/12/12 追記)
Javaのログ制御系ライブラリ、「Log4j」から脆弱性が発見されました。minecraftもこちらのライブラリを使用しており、外部から攻撃される可能性があります。
今回はそちらの対策についても書いていきたいと思います。

この記事の対象者

  • AWSのEC2でサーバーの立ち上げ・停止を行なったことがある方
  • IaaSを使って minecraftのサーバーを立ち上げてみたい方
  • AmazonLinux2にJava17を導入したい方

環境

  • マシンスペック
    • t2.medium
  • OS
    • Amazon Linux 2 (amzn2-ami-kernel-5.10-hvm-2.0.20211201.0-x86_64-gp2)
  • Javaバージョン
    • Amazon Corretto 17
  • Minecraftバージョン
    • 1.18.1(もともとは1.18.0で設置しましたが、Log4j対策のため1.18.1にアップデートしました。)

構築手順

若干実際に行った作業より順番が前後していますが、実施したこととしては以下の通りです。

EC2立ち上げ

minecraftはメモリが最低2GB必要なため、今回は t2.medium を選択しました。
今のところ問題なく動作していますが、同時接続人数が増えたらインスタンスのアップグレードも検討しています。
参考:Minecraft wiki サーバー/要件

セキュリティグループ

インバウンドルールでマインクラフトサーバー用のポートを解放します。
スクリーンショット 2021-12-12 161413.png

Javaのインストール

minecraft 1.18 では Javaのクラスバージョンが61.0以上でなければ起動することができません。こちらのクラスバーションはJava17以上が対応しているので、そちらをサーバーにインストールしたいと思います。

Amazon Corretto 17

Amazon Correttoは、Open Java Development Kit(OpenJDK)の無料、マルチプラットフォーム、本番環境対応のディストリビューションです。Correttoには、パフォーマンスの強化やセキュリティの修正を含む長期的なサポートが付属しています。Correttoは、Java SE標準との互換性があると認定されており、Amazonの内部で多くの本番サービスに使用されています。
引用:https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/what-is-corretto-17.html

AWSではJava環境をあらかじめ準備してくれています。以下のコマンドを実行してサーバーにインストールを行います。プラットフォーム・タイプごとのダウンロードリンク一覧はこちらにあるので、詳しく知りたい方はリンク先を見てください。

  • インストール
$ sudo yum install -y https://corretto.aws/downloads/latest/amazon-corretto-17-x64-al2-jre.rpm
  • Javaのバージョンチェック
$ java --version

Minecraft Serverソフトのダウンロード

マインクラフト公式で配布しているサーバー用のjarファイルを取得します。詳しくは以下の公式ページに書いてあります。
参考:DOWNLOAD THE MINECRAFT: JAVA EDITION SERVER

  • マインクラフト用ディレクトリの作成
$ mkdir minecraft
  • jarファイルの取得
    • こちらは1.18を構築した時点でのリンクです。1.18.1で建てたい方は、リンクを公式ページに書いてある最近のモノにしてください。
$ cd minecraft
$ wget https://launcher.mojang.com/v1/objects/3cf24a8694aca6267883b17d934efacc5e44440d/server.jar

実行

$ java -Xmx1024M -Xms1024M -jar server.jar nogui

こちらを実行すると、eula.txtというファイルが生成されます。
そのファイルの中のfalse部分をtrueに書き換えます。(ここを変えることで、利用規約に同意したことになり、サーバー用スクリプトが実行できるようになります。)
マイクラサーバーを停止するときは、stopと入力してあげれば終了処理が実施されます。

$ vi eula.txt
# false部分をtrueに書き換えて上書き保存します
$ java -Xmx1024M -Xms1024M -jar server.jar nogui

(2021/12/12 追記)
Log4jの脆弱性が発見されたため、マイクラサーバーを立ち上げる時のコマンドに変化があります。以下のように修正しましょう。

$ java -Xmx1024M -Xms1024M -Dlog4j2.formatMsgNoLookups=true -jar server.jar nogui

まとめ

今回はEC2を使ってマイクラサーバーを立ち上げてみました。Java17のインストール方法で少し手こずりましたが、とても良い勉強になりました。サーバーの勉強をしたい方には、ちょうど良い題材だと思います。立ち上げた直後にLog4jの脆弱性が発見されたため少々焦りましたが、脆弱性の対策なども含めてよい勉強になりました。

次回はこのマイクラサーバーの立ち上げ、停止をdiscordからできるようにしていきたいと思います(もともとこれがやりたかった)。

2
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
2
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?