Minecraft PE / PocketMineMP サーバーをソースコードの状態で実行する環境を Windows に構築する方法

初心者にも分かりやすく、迷わないで出来るように、説明したいと思います。

# Git for Windows のインストール

PocketMine-MP のソースコードを GitHub（ギットハブ）から 取得するのに Git（ギット）を使います。

Git for Windows の公式サイト（下記URL）からインストーラーをダウンロードします。
[https://gitforwindows.org](https://gitforwindows.org)

![git_01.png](https://qiita-image-store.s3.amazonaws.com/0/183014/8bf0be49-d90c-e52c-ca7a-ac90131ab879.png)

インストーラーを起動します。

セットアップの画面は英語で表示されますが、そのまま「Next」ボタンをクリックして進んでいけばインストールが完了します。（設定項目値もデフォルトのままで、特にいじらなくてOKです）

![git_02.png](https://qiita-image-store.s3.amazonaws.com/0/183014/fa3c269b-edd3-b2a4-e003-ca9eabc9e96b.png)

![git_03.png](https://qiita-image-store.s3.amazonaws.com/0/183014/95562efc-3523-9370-932a-cb49ccb0c79a.png)

![git_04.png](https://qiita-image-store.s3.amazonaws.com/0/183014/9e323298-18e1-5a16-a867-eb8e73910f50.png)

![git_05.png](https://qiita-image-store.s3.amazonaws.com/0/183014/a92a80f8-3731-1574-d16c-eaa512b99487.png)

![git_06.png](https://qiita-image-store.s3.amazonaws.com/0/183014/bc7887c2-eb5d-b12d-2b5d-a9d11b645fbc.png)

![git_07.png](https://qiita-image-store.s3.amazonaws.com/0/183014/94278211-3dd1-9258-5195-7fedf0e86a1d.png)

![git_08.png](https://qiita-image-store.s3.amazonaws.com/0/183014/8f6fc4c5-5247-8899-5c6b-e9cf8792df27.png)

![git_09.png](https://qiita-image-store.s3.amazonaws.com/0/183014/b1f6582e-7431-9149-11f8-94467080d951.png)

![git_10.png](https://qiita-image-store.s3.amazonaws.com/0/183014/13346454-1d70-838a-f042-e12ee393258e.png)

![git_11.png](https://qiita-image-store.s3.amazonaws.com/0/183014/94777759-276e-627c-484c-5fe9878ca868.png)

![git_12.png](https://qiita-image-store.s3.amazonaws.com/0/183014/c508e1b2-77e0-8bfb-80fa-04064e294ec6.png)

![git_13.png](https://qiita-image-store.s3.amazonaws.com/0/183014/c2acbde2-7cc3-6ec0-d88b-3ee7a1f4105b.png)

以上で Git for Windows のインストールが完了しました。

# PocketMine-MP のソースコードを GitHub から取得する

PocketMine-MP のソースコードを自分のPCにコピーします。
（Git用語ではクローンすると言います）

エクスプローラーで C:\ を開きます。

![clone_01.png](https://qiita-image-store.s3.amazonaws.com/0/183014/17326a7a-c123-4279-7ea1-434cdf70f9df.png)

パスのところをクリックして「cmd」と入力してエンターキーを押します。

```
cmd
```

![clone_02.png](https://qiita-image-store.s3.amazonaws.com/0/183014/5c8ddea8-25eb-1a45-1828-c916fe1b11c5.png)

コマンドプロンプトが開きます。

![clone_03.png](https://qiita-image-store.s3.amazonaws.com/0/183014/b3802e0e-234e-34b6-3cf1-5f5206918d0a.png)

コマンドプロンプトに以下のコマンドを入力してエンターキーを押します。

```
git clone --depth 1 https://github.com/pmmp/PocketMine-MP.git c:\PocketMine-MP
```

コマンドプロンプトにコマンドをキーボードで入力するのはタイプミスがあったして面倒ですので、コピペすると簡単です。

ブラウザでコマンドの箇所を選択して右クリックメニューでコピーします。

![copy_and_paste.png](https://qiita-image-store.s3.amazonaws.com/0/183014/ad763d8e-d79f-44cf-6ff7-dd01586f3378.png)

コピーしたらコマンドプロンプトの左上のアイコン部分をクリックして「編集」「貼り付け」を選択すると、コピーしたコマンドがコマンドプロンプトに入力されます。あとはエンターキーを押して実行します。

![cmd_paste.png](https://qiita-image-store.s3.amazonaws.com/0/183014/ff8ec47b-00a1-044f-6a01-4f596772fc7f.png)


![clone_04.png](https://qiita-image-store.s3.amazonaws.com/0/183014/c15f8d0b-efd7-ac8a-889d-e3a2a0111510.png)


GitHub から PocketMine-MP のソースコードが 自分の PC の c:\PocketMine-MP にクローンされます。

![clone_05.png](https://qiita-image-store.s3.amazonaws.com/0/183014/657fa44a-854b-350f-e573-dd3d384a219f.png)

これで、PocketMine-MP のソースコードがクローンされました。
エクスプローラーで見ると以下のように PocketMine-MP のソースコードの存在することが確認できます。

![clone_07.png](https://qiita-image-store.s3.amazonaws.com/0/183014/2d2c3098-626a-8ea2-dc3a-be20961c6034.png)

以上で、PocketMine-MP のソースコードのクローンが完了しました。

# PHP のインストール

PHP（ピーエイチピー）は、PocketMine-MP のソースコードを実行するの使います。

PocketMine-MP 用に設定済み PHP を PocketMine-MP のページからダウンロードします。

php-build-scripts のページをブラウザで開きます。
[https://github.com/pmmp/php-build-scripts](https://github.com/pmmp/php-build-scripts)

ページの下のほうにある「AppVeyor build job」リンクをクリックします。

![php_01.png](https://qiita-image-store.s3.amazonaws.com/0/183014/c00cdb66-3a87-d123-2970-749cbde35e65.png)

「php-7.2.6-vc15-x64.zip」をクリックしてダウンロードします。

PHPだけダウンロードすればよいので、compile.log や php-debub-pack は不要です。

PHPのバージョンアップがあった場合、この画面例の「7.2.6」と違う場合があるかもしれませんが、ここには常に最新版がアップされているので、それをダウンロードしてください。

![php_02.png](https://qiita-image-store.s3.amazonaws.com/0/183014/019954f8-074e-ea03-b1ce-4fb173ab8ba4.png)


ダウンロードした PHP の ZIPファイルをエクスプローラーで展開します。

展開先は「C:\PocketMine-MP」にします。

![php_03.png](https://qiita-image-store.s3.amazonaws.com/0/183014/e3866411-9c70-f6f0-887f-faa923776b9d.png)

展開後にエクスプローラーで見ると C:\PocketMine-MP の下に bin フォルダが出来ています。

![php_04.png](https://qiita-image-store.s3.amazonaws.com/0/183014/9c6e068e-94d3-387f-5ff1-f36e59716bce.png)

この bin フォルダに PHP が展開されています。

![php_05.png](https://qiita-image-store.s3.amazonaws.com/0/183014/6f97220a-fd51-c14c-dc8d-772a4edc1b98.png)

# Microsoft Visual C ++ Redistributableのダウンロード＆インストール

PHP を Windows で実行する際に必要なランタイムを下記URLからダウンロードしてインストールします。

[https://aka.ms/vs/15/release/vc_redist.x64.exe](https://aka.ms/vs/15/release/vc_redist.x64.exe)


# ライブラリやサブモジュールのインストール 

このままでは PocketMine-MP の実行に必要なライブラリが不足しているので Composer（コンポーザー）を使って追加します。

コマンドプロンプトでカレントディレクトリを C:\PocketMine-MP にするために、以下のコマンドを入力してエンターキーを押します。

```
cd c:\PocketMine-MP
```

![comporser_01.png](https://qiita-image-store.s3.amazonaws.com/0/183014/79793bde-c95a-7e3c-d0fd-46ff3e2f0f7d.png)

以下のコマンドを入力してエンターキーを押します。

```
bin\php\php.exe bin\composer.phar install
```


![comporwser_02.png](https://qiita-image-store.s3.amazonaws.com/0/183014/87e5deca-d0f9-613f-e3cf-b9e9623ef2e9.png)

![comporser_03.png](https://qiita-image-store.s3.amazonaws.com/0/183014/5f8fa52e-0fa8-21d3-0320-aaaea24884fc.png)

サブモジュールをインストールします。

サブジュールの初期設定をするために、コマンドプロンプトに以下のコマンドを入力して実行します。

```
git submodule init
```
![submobule_01.png](https://qiita-image-store.s3.amazonaws.com/0/183014/8f64336b-45c7-9e2c-b46f-7e9029df66ec.png)

実行結果

![submobule_02.png](https://qiita-image-store.s3.amazonaws.com/0/183014/8e186d32-4a65-a4b6-3e94-ad51b4efe7d6.png)


サブモジュールを更新するために、コマンドプロンプトに以下のコマンドを入力して実行します。

```
git submodule update
```

![submodule_03.png](https://qiita-image-store.s3.amazonaws.com/0/183014/323a3f51-eb1e-6bc3-84db-550c876658f0.png)

実行結果

![submobule_04.png](https://qiita-image-store.s3.amazonaws.com/0/183014/ba7afe94-efd7-7bc7-bba2-4fff57c1a61c.png)

以上で、すべての環境が整いました。


# サーバー起動

いよいよサーバーを起動します。

コマンドプロンプトに以下のコマンドを入力して実行します。

```
start.cmd
```

![start_01.png](https://qiita-image-store.s3.amazonaws.com/0/183014/1aeb65d3-9ef2-b111-e20f-be12dcd0dfe2.png)

言語は日本語を選択するので「jpn」と入力します。

![start_02.png](https://qiita-image-store.s3.amazonaws.com/0/183014/00fc21de-dac2-3c8f-6ce8-79d982add6e1.png)

ライセンスに同意する「y」を入力します。

![start_03.png](https://qiita-image-store.s3.amazonaws.com/0/183014/b8dafe1b-796d-8e39-1270-0036d2ffc118.png)

初期設定はデフォルト値でよければそのままエンターキーを押して先に進みます。ここでデフォルトにしておいても、後で設定を自由にいつでも変更できます。

![start_04.png](https://qiita-image-store.s3.amazonaws.com/0/183014/4aef43a6-6d4f-f727-1c8c-fb58ba5e9136.png)

そのままエンターキーを押す。

![start_05.png](https://qiita-image-store.s3.amazonaws.com/0/183014/4877ab74-681f-8137-b180-7646ec157c07.png)

そのままエンターキーを押す。

![start_06.png](https://qiita-image-store.s3.amazonaws.com/0/183014/da0abbdd-1441-55a3-dcb3-608392639c50.png)

そのままエンターキーを押す。

![start_07.png](https://qiita-image-store.s3.amazonaws.com/0/183014/b34f8cc4-952c-15a0-3d66-5e9b2e71dfdf.png)

そのままエンターキーを押す。

![start_08.png](https://qiita-image-store.s3.amazonaws.com/0/183014/eb39842e-848e-3395-bfce-69d162973aba.png)

そのままエンターキーを押す。

![start_09.png](https://qiita-image-store.s3.amazonaws.com/0/183014/28b4f301-0558-df96-dc29-96d9dea8d1ac.png)

そのままエンターキーを押す。

![start_10.png](https://qiita-image-store.s3.amazonaws.com/0/183014/6e837626-3508-6b7a-47c9-fcd592692dbf.png)

そのままエンターキーを押す。

![start_11.png](https://qiita-image-store.s3.amazonaws.com/0/183014/a9e5a98a-e7ea-2a54-349d-33010656179b.png)

そのままエンターキーを押す。

![start_12.png](https://qiita-image-store.s3.amazonaws.com/0/183014/251f83dc-0dad-5dd6-2afe-98dbeabec656.png)

そのままエンターキーを押す。

![start_13.png](https://qiita-image-store.s3.amazonaws.com/0/183014/8f92403d-52f4-3a32-9bcd-c8ad95e6bc61.png)

そのままエンターキーを押す。

![start_14.png](https://qiita-image-store.s3.amazonaws.com/0/183014/3f6bf9ba-3e40-ff8e-9394-483d9d09a927.png)

Minecraft PE / PocketMine-MP サーバーが起動しました。

![start_15.png](https://qiita-image-store.s3.amazonaws.com/0/183014/5e5cffc7-4569-78e2-590f-7077af051716.png)

おめでとうございます！

次回からは「start.cmd」だけでサーバーを起動することができます。

# サーバーを最新の状態にアップデートする

PocketMine-MP を最新の状態（GitHubのソースと同じ）にするには、コマンドプロンプトで以下のコマンドを実行します。

```
git pull
```

「Already up to date.」と表示された場合、最新版が適用済みとなります。

![git_pull.png](https://qiita-image-store.s3.amazonaws.com/0/183014/701707fb-0db4-5a73-9157-34eeb25f9857.png)