update: MineOS node has full support for Pocketmine servers and does not require ANY of these steps; you can download php and pocketmine files from the web-ui directly. I advise any users wanting PM servers to use mineos-node instead.
I am able to successfully manage PocketMine through the web-ui. Please keep in mind, PocketMine is built on PHP–not java–using a PHP deployment technique called PHAR. Phar+pthreads support is not compiled/included by default in any mainstream distributions, so these steps require compilation of the PHP binary on your host system.
DISCLAIMER: Following are the steps to get a server running. I make no guarantees about all the functionality being available, as there are huge fundamental differences in the design of this PHP-based Minecraft server. Many things we take for granted do not necessarily translate to the mobile-tablet version so the web-ui will not feel fully integrated with this version.
You must be willing to spend some time in the command-line to do this. This is unavoidable and likely will never change because of the huge differences that exist between Java jar-based and PHP phar-based servers.
apt-get update apt-get install build-essential libtool autoconf automake cd /usr/games/minecraft/ git fetch git reset --hard origin/phar
Now, as mc:
cd mkdir pmserver cd pmserver wget -q -O - http://get.pocketmine.net/ | bash
It will begin downloading and compiling a version of PHP that supports PHAR filetypes. On my i7-4790 this took like 7 minutes or so; if you have a slower system–or a slower internet connection–this may take much longer. Do not do this on a server that currently has Minecraft servers running.
[*] Found PocketMine-MP Final_1.4 (build 916) using API 1.10.0 [*] This stable build was released on Fri Jan 2 00:36:11 UTC 2015 [+] The build was signed, will check signature [*] Installing/updating PocketMine-MP on directory ./ [1/3] Cleaning... [2/3] Downloading PocketMine-MP Final_1.4 phar... done! [*] Checking signature of PocketMine-MP.phar gpg: Signature made Fri Jan 2 01:18:02 2015 UTC using RSA key ID A7837F89 gpg: Good signature from "Shoghi Cervantes <email@example.com>" gpg: aka "keybase.io/shoghicp <firstname.lastname@example.org>" [+] Signature valid and checked! [3/3] Obtaining PHP: detecting if build is available... [3/3] Linux 64-bit PHP build available, downloading PHP_5.6.4_x86-64_Linux.tar.gz... checking... invalid build dete cted, please upgrade your OS [3/3] no build found, compiling PHP automatically [PocketMine] PHP compiler for Linux, MacOS and Android [INFO] Checking dependecies [INFO] Compiling for current machine using 64-bit [PHP] downloading 5.6.4... done! [zlib] downloading 1.2.8... checking... compiling... installing... cleaning... done! [mcrypt] downloading 2.5.8... checking... compiling... installing... cleaning... done! [GMP] downloading 6.0.0a... checking... compiling... installing... cleaning... done! [PolarSSL] downloading 1.3.8... checking... compiling... installing... cleaning... done! [cURL] downloading curl-7_39_0... checking... compiling... installing... cleaning... done! [YAML] downloading 0.1.4... checking... compiling... installing... cleaning... done! [PHP pthreads] downloading 2.0.10... done! [PHP Weakref] downloading 0.2.6... done! [PHP YAML] downloading 1.1.1... done! [PHP] checking... compiling... installing... generating php.ini... done! [INFO] Cleaning up... done! [PocketMine] You should start the server now using "./start.sh." [PocketMine] If it doesn't work, please send the "install.log" file to the Bug Tracker.
Continuing as mc:
The first run will configure Pocketmine. I used defaults by skipping the wizard, which you may likely want to go through just to get familiar with the software.
[*] 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): [*] English has been correctly selected. Welcome to PocketMine-MP! Before starting setting up your new server you have to accept the license. PocketMine-MP is licensed under the LGPL License, that you can read opening the LICENSE file on this folder. 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. [?] Do you accept the License? (y/N): y [?] Do you want to skip the set-up wizard? (y/N): y 16:35:52 [WARNING] Non-packaged PocketMine-MP installation detected, do not use on production. 16:35:52 [INFO] Starting Minecraft: PE server version v0.10.4 alpha 16:35:52 [INFO] Loading pocketmine.yml... 16:35:52 [INFO] Loading server properties... 16:35:52 [INFO] Starting Minecraft PE server on 0.0.0.0:19132 16:35:52 [INFO] This server is running PocketMine-MP version 1.4-916 "絶好(Zekkou)ケーキ(Cake)" (API 1.10.0) 16:35:52 [INFO] PocketMine-MP is distributed under the LGPL License 16:35:53 [INFO] ----- PocketMine-MP Auto Updater ----- 16:35:53 [INFO] It appears you're running a Beta build, when you've specified that you prefer to run Stable builds. 16:35:53 [INFO] If you would like to be kept informed about new Beta or Development builds, it is recommended that you change 'preferred-channel' in your pocketmine.yml to 'beta' or 'development'. 16:35:53 [INFO] ----- -------------------------- ----- 16:35:53 [NOTICE] Level "world" not found 16:35:53 [INFO] Preparing level "world" 16:35:53 [NOTICE] Spawn terrain for level "world" is being generated in the background 16:35:53 [INFO] Starting GS4 status listener 16:35:53 [INFO] Setting query port to 19132 16:35:53 [INFO] Query running on 0.0.0.0:19132 16:35:53 [INFO] Default game type: SURVIVAL 16:35:53 [INFO] Done (8.662s)! For help, type "help" or "?" stop 16:36:03 [INFO] CONSOLE: Stopping the server... 16:36:03 [INFO] Unloading level "world" 16:36:03 [INFO] Stopping other threads
Note, I manually typed in ‘stop’ to turn the server off. The server must be started and stopped with the MineOS web-ui in order to be managed by the web-ui.
Switch to root:
mv /home/mc/pmserver /var/games/minecraft/servers/
Now, in the WEBUI:
- Go to Manage Profiles. Create a stock profile for “pocketmine14” (this will exist only in the new git branch you switched to in the first steps)
- Update the profile and verify the checkmark in the server
- Go to the server.config for the new pocketmine server, pmserver and type in “pocketmine14” in the Minecraft profile field
- Start the server
- Verify the mc logs are reported in the server console and it works.
- Open up the new server port in
iptables, default 19132.