PocketMineの公式Webには、ワンライナーでいかにも簡単に導入できるような記載があるが、いろいろと落とし穴がある。
事前に必要なソフトウェア
PocketMineはバイナリではなくソースで配布されており、インストール中にconfigureやmakeが行われて実行可能なバイナリが生成される。openmediavaultには必要最小限のパッケージしか導入されていないため、初期状態でインストールを開始すると諸々コマンドが足りず失敗する。まず、公式Webに記載のある
コンパイルに必要なソフトウェアをインストールする必要があります。perl gcc make automake libtool autoconf m4これらをインストールしてください。
perl
、gcc
、make
、automake
、libtool
、autoconf
、m4
を導入する。
# apt-get install perl gcc make automake libtool autoconf m4
ほか、上記に加えてbzip2
とg++
を導入しておく必要がある。
# apt-get install bzip2 g++
これが不足していると、一見インストールが正常終了したように見えても実はconfigureに失敗していて、PocketMineが正常に動作しない。インストール終了後はinstall.logを確認してエラーがないことを確認した方が良い。
PocketMineのバージョン
これはopenmediavaultに限った話ではないのだが、公式Webのワンライナーで導入されるPocketMineは古い*1ようだ。そのため、公式Webのワンライナーの通りにインストールを行っても、APIのバージョン違いのためかMincraft PE側からPocketMineを見つけることができず頭を抱える羽目になる。
最新版のMinecraft PEに対応した開発版パッケージはPocketMine Forumsで公開されている。例えば、2016/01/24時点のMinecraft PE最新バージョンであるv0.13.1 alphaに対応したバージョンはRelease - PocketMine-MP 1.6dev-1266 is now available! | PocketMine Forumsの記事で公開されている。
このフォーラム記事中にインストールのためのワンライナーが記載されているので、それを実行すれば良い。
wget -q -O - https://raw.githubusercontent.com/PocketMine/php-build-scripts/master/installer.sh | bash -s - -v development
※ワンライナー中のURLを見る限り、特定バージョン向けではなく開発版の最新バージョンを導入するように見えるので、Minecraft PE側がアップデートした直後はこの手順でもバージョンのミスマッチが起きるかもしれない。
Supported MCPE Versions — PocketMine-MP DocumentationでもPocketMineとMinecraft PEの対応バージョンが記載されている模様。最新のMinecraft PEを使う場合はPocketMineが追随できているか、ここで確認できそう*2。
*1:2016/01/23時点のPocketMine対応バージョンはv0.10.5 alpha。このときのiOS版のMinecraft PEはv0.13.1 alphaである
*2:PocketMineの作者はMojang勤務になったそうなので、タイムラグなしにリリースされそうではあるが - I'm working at Mojang! | PocketMine Forums