目次
先日紹介した方法がPE0.14.0までしか対応してませんでした。
ichibariki.hatenablog.com
Minecraft PE版が先日バージョンアップされてv0.14.2になったので
対応方法探していたとろこ,Githubのリポジトリ(https://github.com/PocketMine/PocketMine-MP)
の方が対応していたのでgitを利用しての導入法の紹介です。
前提となる環境
OS
CentOS 7
事前に"perl gcc make automake libtool autoconf m4 git"が導入されている事
インストールされていない場合は
"yum install perl gcc make automake libtool autoconf m4 git"
でインストールする事
Minecraft PE用マルチプレイサーバーソフトウェア
PocketMine-MP
https://github.com/PocketMine
Network
グローバルIPでのアクセス可能な環境
ユーザーの追加
まずは,pocketmine実行用のユーザーを作成します。
今回はユーザー名:”mine”で作成しています。
[root@PocketMineMP ~]# adduser mine [root@PocketMineMP ~]# su - mine [mine@PocketMineMP ~]$ pwd /home/mine [mine@PocketMineMP ~]$
PocketMineMPの導入
ユーザーの切替
まずは,先ほど作成したユーザー"mine"に切替ます。
[root@PocketMineMP ~]# su - mine [mine@PocketMineMP ~]$ pwd /home/mine
Gitコマンドを利用してPocketMine-MPのソースを入手する
git cloneコマンドでソースを入手します。
git clone --recursive https://github.com/PocketMine/PocketMine-MP.git PocketMine-MP.git
参考:git clone実行結果
[mine@PocketMineMP ~]$ git clone --recursive https://github.com/PocketMine/PocketMine-MP.git PocketMine-MP.git Cloning into 'PocketMine-MP.git'... remote: Counting objects: 40914, done. remote: Compressing objects: 100% (11/11), done. remote: Total 40914 (delta 1), reused 0 (delta 0), pack-reused 40903 Receiving objects: 100% (40914/40914), 11.35 MiB | 3.91 MiB/s, done. Resolving deltas: 100% (30747/30747), done. Submodule 'src/pocketmine/gui' (https://github.com/PocketMine/PocketMine-MP-GUI.git) registered for path 'src/pocketmine/gui' Submodule 'src/pocketmine/lang/locale' (https://github.com/PocketMine/PocketMine-Language.git) registered for path 'src/pocketmine/lang/locale' Submodule 'src/raklib' (https://github.com/PocketMine/RakLib.git) registered for path 'src/raklib' Submodule 'src/spl' (https://github.com/PocketMine/PocketMine-SPL.git) registered for path 'src/spl' Submodule 'tests/TesterPlugin' (https://github.com/PocketMine/TesterPlugin.git) registered for path 'tests/TesterPlugin' Cloning into 'src/pocketmine/gui'... remote: Counting objects: 26, done. remote: Compressing objects: 100% (21/21), done. remote: Total 26 (delta 4), reused 26 (delta 4), pack-reused 0 Unpacking objects: 100% (26/26), done. Submodule path 'src/pocketmine/gui': checked out 'b551c3d58ec2fd9fa0f3c92d36fcbaa5c70467f7' Cloning into 'src/pocketmine/lang/locale'... remote: Counting objects: 219, done. remote: Total 219 (delta 0), reused 0 (delta 0), pack-reused 219 Receiving objects: 100% (219/219), 201.92 KiB | 346.00 KiB/s, done. Resolving deltas: 100% (145/145), done. Submodule path 'src/pocketmine/lang/locale': checked out 'a7d53d9229337323220c7370916a153accc0ebf3' Cloning into 'src/raklib'... remote: Counting objects: 688, done. remote: Total 688 (delta 0), reused 0 (delta 0), pack-reused 688 Receiving objects: 100% (688/688), 173.79 KiB | 0 bytes/s, done. Resolving deltas: 100% (518/518), done. Submodule path 'src/raklib': checked out '944c6623e47a33cb3487a7db5a56722b2b016bf8' Cloning into 'src/spl'... remote: Counting objects: 102, done. remote: Total 102 (delta 0), reused 0 (delta 0), pack-reused 102 Receiving objects: 100% (102/102), 38.70 KiB | 0 bytes/s, done. Resolving deltas: 100% (64/64), done. Submodule path 'src/spl': checked out '6edaf9802cbada5e7638ceadfe042be9921376d8' Cloning into 'tests/TesterPlugin'... remote: Counting objects: 11, done. remote: Total 11 (delta 0), reused 0 (delta 0), pack-reused 11 Unpacking objects: 100% (11/11), done. Submodule path 'tests/TesterPlugin': checked out '8839206a4818520d2ed5c4fbf388c22370e5e6b2'
ダウンロード出来ている事を確認します。
[mine@PocketMineMP ~]$ ls -l 合計 4 drwxrwxr-x 6 mine mine 4096 4月 30 09:59 PocketMine-MP.git [mine@PocketMineMP ~]$
php7セットアップ
git cloneコマンドでソースは入手できますが,phpモジュールは別途準備する必要があります。
php7もPoketMine用にダウンロードサイトがあるので,下の手順で導入して下さい
php7のダウンロード
このサイトからダウンロード
https://bintray.com/pocketmine/PocketMine/Unix-PHP-Binaries/view#files
Linuxの最新版” PHP_7.0.3_x86-64_Linux.tar.gz”を入手
今回ダウンロードしファイル
https://bintray.com/artifact/download/pocketmine/PocketMine/PHP_7.0.3_x86-64_Linux.tar.gz
- wgetコマンドでダウンロードコマンド
wget https://bintray.com/artifact/download/pocketmine/PocketMine/PHP_7.0.3_x86-64_Linux.tar.gz
参考:ダウンロード結果
[mine@PocketMineMP ~]$ wget https://bintray.com/artifact/download/pocketmine/PocketMine/PHP_7.0.3_x86-64_Linux.tar.gz --2016-04-24 15:50:15-- https://bintray.com/artifact/download/pocketmine/PocketMine/PHP_7.0.3_x86-64_Linux.tar.gz Resolving bintray.com (bintray.com)... 119.81.184.206 Connecting to bintray.com (bintray.com)|119.81.184.206|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://dl.bintray.com/pocketmine/PocketMine/PHP_7.0.3_x86-64_Linux.tar.gz [following] --2016-04-24 15:50:15-- https://dl.bintray.com/pocketmine/PocketMine/PHP_7.0.3_x86-64_Linux.tar.gz Resolving dl.bintray.com (dl.bintray.com)... 75.126.118.188, 108.168.243.150 Connecting to dl.bintray.com (dl.bintray.com)|75.126.118.188|:443... connected. HTTP request sent, awaiting response... 302 Location: https://akamai.bintray.com/05/05f53b3ff950a7ad0e527e46b7ccea6078c4377da667012c544409423f6639b1?__gda__=exp=1461481336~hmac=e4c5da3a1bbc433e0d9a387a90fccda92aff0b40a88187b0d4f36b046e3d2e28&response-content-disposition=attachment%3Bfilename%3D%22PHP_7.0.3_x86-64_Linux.tar.gz%22&response-content-type=application%2Fgzip [following] --2016-04-24 15:50:16-- https://akamai.bintray.com/05/05f53b3ff950a7ad0e527e46b7ccea6078c4377da667012c544409423f6639b1?__gda__=exp=1461481336~hmac=e4c5da3a1bbc433e0d9a387a90fccda92aff0b40a88187b0d4f36b046e3d2e28&response-content-disposition=attachment%3Bfilename%3D%22PHP_7.0.3_x86-64_Linux.tar.gz%22&response-content-type=application%2Fgzip Resolving akamai.bintray.com (akamai.bintray.com)... 104.113.89.125 Connecting to akamai.bintray.com (akamai.bintray.com)|104.113.89.125|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 17041887 (16M) [application/gzip] Saving to: ‘PHP_7.0.3_x86-64_Linux.tar.gz’ 100%[============================================================================================================================================>] 17,041,887 24.3MB/s in 0.7s 2016-04-24 15:50:17 (24.3 MB/s) - ‘PHP_7.0.3_x86-64_Linux.tar.gz’ saved [17041887/17041887]
ダウンロードしたファイルの確認
ダウンロード出来ている事を確認します。
今回の例では"PHP_7.0.3_x86-64_Linux.tar.gz"がある事を確認
[mine@PocketMineMP ~]$ [mine@PocketMineMP ~]$ ls -l total 16648 -rw-rw-r-- 1 mine mine 17041887 Feb 8 06:23 PHP_7.0.3_x86-64_Linux.tar.gz drwxrwxr-x 6 mine mine 4096 Apr 24 15:47 PocketMine-MP.git
php7の展開
ダウンロードしたファイルをtarコマンドで展開します。
展開先は,前の手順でgitを利用して入手したPocketMineのフォルダ(PocketMine-MP.git/)の中
[mine@PocketMineMP ~]$ tar xzf PHP_7.0.3_x86-64_Linux.tar.gz -C PocketMine-MP.git/ [mine@PocketMineMP ~]$ ls PocketMine-MP.git/ bin CONTRIBUTING.md LICENSE README.md src start.cmd start.sh tests
"bin"ディレクトができていれば成功です。
PocketMineの起動
初回起動(セットアップウィザードの実行)
インストール完了時のメッセージにある通り"./start.sh"を起動すれば
初回起動時に限りセットアップウィザードが動作します。
基本的にはデフォルトのままEnter連打で構いませんが,内容は確認しながら勧めて下さい。
[mine@PocketMineMP ~]$ ./start.sh [*] PocketMine-MP set-up wizard [*] Please select a language: English => en Español => es 中文 => zh Pyccĸий => ru 日本語 => ja Deutsch => de 한국어 => ko Nederlands => nl Français => fr Italiano => it Melayu => ms Norsk => no Svenska => sv Suomi => fi Türkçe => 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): N [*] サーバのセットアップを開始します [*] 設定を変更しない場合は、Enterキーを押してください。 [*] それらの設定は後からでもserver.propertiesファイルから変更できます [?] あなたのサーバに名前を付けてください (Minecraft: PE Server): mine [*] これが初めてのサーバの場合は、ポート番号をデフォルトから変更しないでください [?] サーバポート (19132): 19132 [*] クリエイティブモード(1)、またはサバイバルモード(0)を選択してください [?] デフォルトのゲームモード: (0): 1 [?] 最大プレイヤー数 (20): 20 [*] スポーンプロテクションは、OPでないプレイヤーによるスポーン地点付近でのブロックの設置/破壊を制限します [?] スポーンプロテクションを有効にしますか? (Y/n): Y [*] OPとはそのサーバの管理権限を指します。OPを持ったプレイヤーは他のプレイヤーよりも多くのコマンドを使用できます。 [?] OPプレイヤー名(例: あなたのゲーム内での名前): [!] 後から/op <プレイヤー名>コマンドを実行してOPプレイヤーを追加することもできます [*] ホワイトリストはこのサーバに入ることのできるプレイヤーを制限します。 [?] ホワイトリストを有効にしますか? (y/N): N [!] クエリは他のツールによりあなたのサーバやプレイヤーの情報を取得するためのプロトコルです。 [!] それを無効にした場合、サーバリストを使用できなくなる可能性があります。 [?] クエリを無効にしますか? (y/N): N [*] RCONはパスワードを用いてサーバコンソールからリモート接続するためのプロトコルです。 [?] RCONを有効にしますか? (y/N): N [*] グローバルIPとプライベートIPの取得 [!] あなたのグローバルIPはxxx.xxx.xxx.xxxです。プライベートIPyyy.yyy.yyy.yyyをポート解放してください。 [!] 必ずポート解放ができているか確認してください。ポートが解放できていなかった場合、他のプレイヤーがサーバに入れなくなる恐れがあります。[Enterキーを押してください] [*] セットアップは正しく終了しました [*] 拡張機能や管理システム、ミニゲームなどを追加できるプラグインリポジトリも確認してみてください [*] PocketMine_MPを起動します。/helpと入力すれば使用可能なコマンド一覧を表示できます。 [13:22:04] [Server thread/INFO]: Loading pocketmine.yml... [13:22:04] [Server thread/INFO]: Loading server properties... [13:22:04] [Server thread/INFO]: Selected English (eng) as the base language [13:22:04] [Server thread/INFO]: Starting Minecraft: PE server version v0.14.0.0 alpha [13:22:04] [Server thread/INFO]: Opening server on 0.0.0.0:19132 [13:22:04] [Server thread/INFO]: This server is running PocketMine-MP version 1.6dev-23 "[REDACTED]" (API 2.0.0) [13:22:04] [Server thread/INFO]: PocketMine-MP is distributed under the LGPL License [13:22:04] [Server thread/INFO]: Loading recipes... [13:22:04] [Server thread/NOTICE]: Level "world" not found [13:22:04] [Server thread/INFO]: Preparing level "world" [13:22:05] [Server thread/NOTICE]: Spawn terrain for level "world" is being generated in the background [13:22:05] [Server thread/INFO]: Starting GS4 status listener [13:22:05] [Server thread/INFO]: Setting query port to 19132 [13:22:05] [Server thread/INFO]: Query running on 0.0.0.0:19132 [13:22:05] [Server thread/INFO]: Default game type: Creative Mode [13:22:05] [Server thread/INFO]: Done (111.521s)! For help, type "help" or "?"
[13:22:05] [Server thread/INFO]: Done (111.521s)! For help, type "help" or "?"
まで表示されれば,起動完了です。
あとは,iPhoneやAndroidのminecraft pocket editionから
起動したPocketMine-MPサーバのグローバルIP+ポートへ接続すれば完了です。
minecraft pocket edition側の操作はMinecraftPE Wikiの記事が参考になるかもしれません。
http://wiki.mcpe.jp/d/%A5%DE%A5%EB%A5%C1%A5%D7%A5%EC%A5%A4#pocketmine_guest
[参考]パーソナルFWの開放
さくらのクラウドのクラウドでCentOS7を導入した場合
デフォルトでパーソナルファイアーウォールが動作しています。
下の参考コマンドを確認して,ポートを開放して下さい。
参考コマンド
firewall-cmd --zone=public --add-port=19132/udp --permanent # 19132/udpの開放 firewall-cmd --reload # 設定の読み込み firewall-cmd --list-all # 設定内容確認
参考にした資料
http://pocketmine-mp.readthedocs.io/en/latest/installation.html#installing-on-linux-macos
試した環境
Minecraft PE用マルチプレイサーバー
PocketMine-MP 1.6dev 「[REDACTED]」 implementing API version 2.0.0 for Minecraft: PE v0.14.2.0 alpha (protocol version 60)
OS
[root@PocketMineMP ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@PocketMineMP ~]# uname -a Linux PocketMineMP 3.10.0-327.10.1.el7.x86_64 #1 SMP Tue Feb 16 17:03:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux