Amazon Linux 2でMinecraftサーバーをたててみた
Amazon Linux 2を触ってみたいけど、特になにか作りたいものも思いつかなかったのでとりあえずマイニング(物理)できるやつ入れてみました。 用意したもの EC2 インスタンス (Amazon Linux 2) セ […]
広告ここから
広告ここまで
目次
Amazon Linux 2を触ってみたいけど、特になにか作りたいものも思いつかなかったのでとりあえずマイニング(物理)できるやつ入れてみました。
用意したもの
- EC2 インスタンス (Amazon Linux 2)
セットアップ
EC2起動する際は、セキュリティグループでポート22と25565をあけておきます。セキュリティ気になる方は22番の方はIP指定しておきましょう。
あと起動時にAmazonEC2RoleforSSM
のポリシーを付けたインスタンスロールをつけておくと、Systems Managerでゴニョゴニョできる(=ポート22を閉じれないこともない)ので便利です。
EIPつけ忘れると、再起動する度にIP変わってつらいのでそこも要注意です。
Javaのインストール
デフォルトではJava入ってません。なのでyumでいれます。
$ sudo yum update
$ sudo yum install -y java-1.8.0-openjdk.x86_64
Minecraftのダウンロード
Javaが入っていれば動くので、いれましょう。
$ mkdir /etc/minecraft/
$ cd /etc/minecraft/
$ wget https://launcher.mojang.com/mc/game/1.12.2/server/886945bfb2b978778c3a0288fd7fab09d315b25f/server.jar
$ ln -s server.jar minecraft_server.jar
$ sudo java -Xmx1024M -jar server.jar nogui
[14:00:29] [Server thread/INFO]: Starting minecraft server version 1.12.2
[14:00:29] [Server thread/INFO]: Loading properties
[14:00:29] [Server thread/WARN]: server.properties does not exist
[14:00:29] [Server thread/INFO]: Generating new properties file
[14:00:29] [Server thread/WARN]: Failed to load eula.txt
[14:00:29] [Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
[14:00:29] [Server thread/INFO]: Stopping server
とりあえずこれで動きます。MinecraftのほうでIP指定してアクセスしてみましょう。
デーモン化する
ただこのままだと、プレイする時に毎回起動させないとなので面倒です。ということでデーモン化します。
$ wget -O minecraft https://www.minecraftwiki.net/wiki/Tutorials/Server_startup_script/Script?action=raw
$ vim minecraft
#Settings (このへん変更する)
SERVICE='minecraft_server.jar'
OPTIONS='nogui'
USERNAME='ec2-user'
WORLD='world'
MCPATH='/etc/minecraft'
BACKUPPATH='/etc/minecraft/minecraft.backup'
MAXHEAP=2048
MINHEAP=1024
HISTORY=64
CPU_COUNT=1
$ sudo ln /etc/minecraft/minecraft /etc/init.d/
$ sudo service minecraft start
$ sudo chkconfig minecraft on
これでAmazon Linux 2でMinecraftできるようになりました。
この後について
「定期的にリブートしておきたい」とか、「アップデートコマンド毎回やるのめんどい」とか「使ってない時間のお金払うのはなぁ」とかいろいろでてくるはずなので、AWS使い倒していろいろやっていこうと思います。
とりあえず思いつく範囲では、
- SSMでリブートやアプデコマンドの自動化
- FargateでMinecraftサーバーのDockerコンテナ管理
- Spot Fleetとかでコスト削減
- CloudFormtaionで構成管理
とかかなと。