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

はじめに

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服务器/要求。

安全组 zǔ)

スクリーンショット 2021-12-12 161413.png

Java的安装

在Minecraft 1.18中,如果Java的类版本低于61.0,则无法启动。因此,我打算在服务器上安装Java17以上以满足此类版本要求。

亚马逊 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服务器软件的下载

获取Minecraft官方发布的用于服务器的jar文件。详细信息请参考以下官方页面。
参考:下载Minecraft:Java Edition服务器。

    マインクラフト用ディレクトリの作成
$ 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来搭建我的Minecraft服务器。虽然在安装Java17时遇到了一些困难,但这对我来说是一次非常好的学习机会。对于那些想要学习服务器的人来说,这是一个很好的话题。刚刚启动后,我发现了Log4j的漏洞,让我稍微有些焦虑,但是通过应对漏洞等措施,我也有了很好的学习体验。

我希望下一次能够实现通过Discord来启动和停止这个Minecraft服务器(一开始就想做这个)。

广告
将在 10 秒后关闭
bannerAds