【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ǔ)
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服务器(一开始就想做这个)。