プラグインの仕組みなどが用意された Minecraft サーバー「Craftbukkit」を Amazon EC2 上で動かす方法を紹介します。
前提知識
- 基本的な UNIX コマンドの知識
Amazon EC2 とは
Amazon EC2 は、必要なスペックのサーバーを簡単に用意できるクラウドサービスです。サーバー(EC2 ではインスタンスと呼びます)の料金は、稼働させた時間の分だけ支払えばよいため、とても柔軟な使い方ができます。
例えば、マルチプレイで 100人入れるようなサーバーを自前で用意しようと思ったら大変ですが、EC2 であれば、「イベントの3時間の間だけハイスペックのインスタンスを動かす」なんてことも可能です。
http://aws.amazon.com/jp/ec2/instance-types/ に、EC2 で使用できるインスタンスの種類の一覧があります。
メモリ 613 MB のマイクロインスタンスから、メモリが 68.4GB もあるものまで、好きなものを選べます。
Amazon EC2 に登録
まだアカウントを持っていない場合は、http://aws.amazon.com/jp/ec2/ からサインアップして下さい。登録にはクレジットカードが必要になります。
登録が済んだら、AWS Management Console の中の EC2 の画面を開いてください。 https://console.aws.amazon.com/ec2/
Craftbukkit 用のインスタンスを起動
「Launch Instance」と書かれたボタンを押してください。すると「Create a New Instance」というウインドウが出るので、「Classic Wizard」にチェックが付いている状態で「Continue」を押します。
AMI(インスタンスのテンプレート)を選ぶ画面になるので、「Amazon Linux AMI」という AMI を選択してください。
次の画面では、「Instance Type:」の中から起動したいインスタンスの種類を選びます。Small インスタンス以上を選択して下さい。**Micro インスタンスだと Minecraft が動きません。**同時に入るのが数人程度であれば、Small インスタンスで十分だと思います。他の項目はそのままで大丈夫です。
次の画面と、次の次の画面は、何も変更せずに「Continue」で問題ありません。
Key Pair の作成
「Create Key Pair」の画面になったら、「Create a new Key Pair」の「Enter a name for your key pair:」に「minecraft」と入力して、「Create & Download your Key Pair」をクリックしてください。
minecraft.pem
というファイルがダウンロードされます。これは後ほどサーバーにログインするために使います。
Security Group の作成
次の画面では、「Craete a new Security Group」の項目を
- Group Name: minecraft
- Group Description: minecraft
- Inbound Rules
- Create a new rule: Custom TCP rule
- Port range: 25565
- Source: 0.0.0.0/0
- Name: Minecraft
として、「+ Add Rule」を押してください。
これによって、Minecraft サーバーが使用する 25565 ポートが解放されます。
(Dynmap プラグインを導入する場合は、ここで 8123 ポートも解放する必要があります)
あとは「Continue」「Close」を押せば終了です。インスタンスが起動します!
インスタンスに IP アドレスを割り当て
このままだと、起動したインスタンスは固定の IP アドレスを持ちません。EC2 では、Elastic IP という仕組みで、インスタンスに固定のアドレスを割り振ることができます。
Management Console の画面左側のメニュー中から「Elastic IPs」を選択してください。「Allocate New Address」というボタンを押して、EC2 用の IP アドレスを作成してください。
作成されたアドレスにチェックを入れ、「Associate Address」というボタンを押して、先ほど作成したインスタンスと紐付けて下さい。この IP アドレスが、Minecraft サーバーのアドレスになります。
サーバーに SSH でログイン
それでは、起動したインスタンスにログインしましょう。コマンドラインを開いて、次の3つのコマンドを実行してください。
$ cd <minecraft.pem が置いてあるディレクトリ>
$ chmod 400 minecraft.pem
$ ssh -i minecraft.pem ec2-user@<先ほど設定した Elastic IP アドレス>
ログインできれば、次のロゴが表示されます。
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
Craftbukkit のインストール
以下のコマンドを実行すると、/home/<Ubuntuのユーザーネーム>/craftbukkit/
の中に、craftbukkit.jar
がダウンロードされます。
$ wget http://dl.bukkit.org/latest-rb/craftbukkit.jar -P ~/craftbukkit/craftbukkit.jar
次に、Craftbukkit を起動するためのスクリプトを用意します。
$ sudo nano /etc/init/craftbukkit.conf
と実行すると nano というエディタが開くので、次のように書いて保存。
description "Craftbukkit server"
chdir /home/<Ubuntuのユーザーネーム>/craftbukkit
exec java -Xmx1024M -Xms1024M -jar craftbukkit.jar nogui
start on startup
保存するには「control + o」を押したあと Enter、エディタを閉じるには「control + x」。
Craftbukkit サーバーの起動
$ sudo start craftbukkit
とすれば、Craftbukkit サーバーが立ち上がります!
これで、PC の Minecraft から、今回用意したサーバーにマルチプレイで繋げることができるようになります。
Craftbukkit サーバーを止めるときは、
$ sudo stop craftbukkit
サーバーの設定
server.properties
や white-list.txt
などの設定ファイルは、起動後に ec2-user のホームディレクトリにある craftbukkit フォルダの中にできます。
また、このインスタンスでは、デフォルトで、1024MB のメモリを Minecraft サーバー(Craftbukkit)に割り当てていますが、Medium 以上のインスタンスにした場合は、割り当てるメモリを増やすとよいでしょう。
/etc/init/craftbukkit.conf
の中にある以下の行の、1024 となっている部分を、インスタンスのメモリ量に合わせて書き換えてください。
exec java -Xmx1024M -Xms1024M -jar craftbukkit_server.jar nogui
インスタンスの停止
EC2 インスタンスは、停止してしまえばそれ以上課金されません。インスタンスを停止するには、Management Console で、該当のインスタンスを選択して、「Instance Actions」から「Terminate」することで止められます。
バックアップ
EC2 インスタンスは、Terminate すると、データが全て消えてしまうので注意してください。データのバックアップの仕方は、要望があれば記事にします。
デモサーバー
以上の方法で作成した Minecraft サーバーを公開しています。
- IP アドレス: takumi-server.com
- インスタンス: Small
24時間動かしていますので、もしよかったらログインして自由に遊んでみてください!
Small でどれくらいの快適さなのか、フィードバック貰えるとうれしいです :-)
関連記事
Minecraft サーバーを Amazon EC2 上に構築
さくら VPS の Ubuntu に Minecraft サーバーを構築