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で構成管理

    とかかなと。

    参考にした記事

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark