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.
As root:
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 <shoghicp@gmail.com>"
gpg: aka "keybase.io/shoghicp <shoghicp@keybase.io>"
[+] 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:
./start
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.