RaspberryPi MinecraftPE サーバ構築

最近 MinecraftPE も アップデートでかなりPC版に近づいてきたので RaspberryPi でサーバを建ててみました。少し躓いたのでまとめておきます。

![pocketmine.png](https://qiita-image-store.s3.amazonaws.com/0/42248/d56376a7-4949-d9d6-5590-9c4968ee5eba.png)


# はじめに
どうやらMinecraftPEはPC版サーバとは勝手が違うようで、PocketMine-MP というものを使ってサーバを建てるようです。ここではPocketMine-MPを使ったサーバ構築を説明していきます。

**※ 2015年7月27日時点ではPocketMine-PEを使ったサーバではmobのスポーンが実装されておらず、敵や動物が現れないので注意してください。**

#インストール
1. ラズパイにsshログイン
1. 作業ディレクトリを用意して移動  

    ```bash
$ mkdir mc-pe && cd $_
    ```

1. 依存アプリケーションをインストール

    ```bash
$ sudo apt-get install autoconf libtool make
    ```

1. [PocketMine](https://www.pocketmine.net/?lang=ja)のダウンロードサイトを開く
1. 安定版の`PocketMine-MPをダウンロード`をクリック
※最新版のアプリに合わせたサーバを建てたい場合は`Development Build`をクリック
![PocketMine-MPをダウンロード 3.png](https://qiita-image-store.s3.amazonaws.com/0/42248/007ee6b2-2ff3-e502-d01f-9499d995ed6c.png)


1. `Linux`をクリック
![PocketMine-MPをダウンロード 2.png](https://qiita-image-store.s3.amazonaws.com/0/42248/d44f958d-b9ed-3bb8-452e-cc88dbb68bd5.png)

1. Raspberry Piのコマンドをコピーして実行
![Banners_and_Alerts_と_PocketMine-MPをダウンロード.png](https://qiita-image-store.s3.amazonaws.com/0/42248/966c5082-9bb1-900a-51e0-02fc729be2f9.png)

    ```bash:安定版の場合
$ wget -q -O - http://get.pocketmine.net/ | bash
    ```
    ```bash:最新版の場合
$ wget -q -O - http://get.pocketmine.net/ | bash -s - -v development
    ```

1. `./bin`を削除しておく

    ```bash
$ rm -rf ./bin
    ```

1. http://sourceforge.net/projects/pocketmine/files/builds/ を開く
1. `PHP_5.6.4_ARM_Raspbian_hard.tar.gz`をダウンロード 
1. `scp`などでファイルをラズパイの作業ディレクトリへ移動

    ```bash
$ scp -r ~/Download/PHP_5.6.4_ARM_Raspbian_hard.tar.gz [user]@[host]:./mc-pe
    ```
1. ファイルを解凍

    ```bash
$ gzip -dc PHP_5.6.4_ARM_Raspbian_hard.tar.gz | tar xvf -
    ```

1. phpファイルのパーミッションを変更する

    ```bash
$ chmod 755 bin/php5/bin/php
    ```
1. ルーター側の`19132`番ポートを開放しておく
※ルーター毎に設定方法が違うので各自調べて行ってください。
1. iptablesを使用している場合はラズパイ側も開放しておく

    ```bash
$ sudo iptables -A INPUT -p udp -m udp --dport 19132 -j ACCEPT
    ```
1. 準備完了

# サーバの起動

1. `start.sh`を実行

    ```bash
$ ./start.sh
    ```

1. 色々と質問されますが特にこだわりがなければ以下のような感じで進めてください。
※もしこだわりたい方は[こちらのサイト](http://mattyaphone.blog.fc2.com/blog-entry-82.html)を参考にしていただけるとわかりやすいです。

    ```bash
$ ./start.sh
[*] PocketMine-MP set-up wizard
[*] Please select a language:
 English => en
 Espanol => es
 中文 => zh
 Pycc?ий => ru
 日本語 => ja
 Deutsch => de
 ??? => ko
 Nederlands => nl
 Francais => fr
 Italiano => it
 Melayu => ms
 Norsk => no
 Svenska => sv
 Suomi => fi
 Turkce => tr
[?] Language (en):ja
[*] 日本語に設定されました
PocketMine-MPをインストールして頂きありがとうございます！サーバのセットアップを開始するにはライセンスに同意する必要があります。PocketMine-MPはLGPLライセンスに基づいて認可されており、これについてはこのフォルダ内のLICENSEファイルから確認することができます。
  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU Lesser General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.
[?] ライセンスに同意しますか？ (y/N):y
[?] セットアップウィザードをスキップしますか？ (y/N):y
    ```
1. 完了

# アプリから接続

1. MinecraftPE アプリを起動
1. `プレイ`をタップ
1. `新規`をタップ
1. 右上のよくわからないボタンをタップ
![写真_2015-07-27_0_54_32.png](https://qiita-image-store.s3.amazonaws.com/0/42248/98623dc4-4ae2-906e-fa1e-c7e170dab115.png)
1. `名前`の部分になんのサーバかわかりやすい名前を適当に入力
1. `IP/アドレス`部分にサーバのIPアドレス、もしくはアドレスを入力
![写真_2015-07-27_0_55_18.png](https://qiita-image-store.s3.amazonaws.com/0/42248/e5d8fe75-e6e6-eaa9-d2f8-64bb1052f3a4.png)

1. `サーバを追加`をタップ
1. 以下画像のようになっていることを確認
![写真_2015-07-27_1_05_24.png](https://qiita-image-store.s3.amazonaws.com/0/42248/92aba4df-3529-767c-a2db-0acd2ace25ee.png)
1. タップして接続
1. おめでとう！みんなを誘って遊ぼう！
![写真 2015-07-27 1 08 48.png](https://qiita-image-store.s3.amazonaws.com/0/42248/e837037e-8117-5c1f-cc4d-06b17be18c00.png)

# 最後に
MinecraftPEはPC版に比べると若干残念な部分は多いですが、スマホなどでできる分敷居が低く周りを巻き込みやすいので楽しく遊べると思います。
PocketMine-PMのデーモン化などまた次回まとめてみたいと思います(*´ڡ`●)


# 参考文献
- https://www.pocketmine.net/
- http://dorodorodoroid.hatenablog.com/entry/2015/02/03/083148
- http://richard.mackney.com/minecraft-pe-server-on-raspberry-pi-2/