Pocketmine, Bleeding edge above build 31, and PHP7


#1

Hi.
To get Pocketmine servers to work with the latest versjon of Pocketmine for phones / pads and the new Windows 10 beta minecraft client we must run server versions above both current release and development releases. The P.E.server eveloper calls this his bleeding edge (http://jenkins.pocketmine.net/job/PocketMine-MP-Bleeding/).

In the very latest bleeding edge builds(above build 30)the PocketMine developer have switched to PHP 7: https://forums.pocketmine.net/threads/upcoming-changes-in-api-and-php7.9991/

Problem is that in the MineOS Node profiles do not have the php7 profile available yet. How do I get this?


#2

The php7 download isn’t available yet because it isn’t in the front-facing page “http://get.pocketmine.net

This file, downloaded from pocketmine on each MineOS service startup, contains only the following files:

LINUX_32_BUILD="PHP_5.6.10_x86_Linux"
LINUX_64_BUILD="PHP_5.6.10_x86-64_Linux"
CENTOS_32_BUILD="PHP_5.6.2_x86_CentOS"
CENTOS_64_BUILD="PHP_5.6.2_x86-64_CentOS"
MAC_32_BUILD="PHP_5.6.10_x86_MacOS"
MAC_64_BUILD="PHP_5.6.10_x86-64_MacOS"
RPI_BUILD="PHP_5.6.10_ARM_Raspbian_hard"
# Temporal build
ODROID_BUILD="PHP_5.6.10_ARM_Raspbian_hard"
AND_BUILD="PHP_5.6.10_ARMv7_Android"
IOS_BUILD="PHP_5.5.13_ARMv6_iOS"

When the pocketmine devs update this file (presumably because they think each arch is actually ready for prime-time), it will auto populate here. Apparently they feel this way for ANDROID, as you’ll see the webui (right now) actually shows ARMv7_Android, but not yet the rest.

You can, of course, download the files manually, by connecting through SSH and doing the download as instructed by the pocketmine website. You’d then just have to drop the files you manually downloaded (through the script) into the live server directory (/var/games/minecraft/servers/yourservername). This manual bit might be a bit kludgy and confusing, but then it might just mean to wait for Pocketmine to deem their php7 builds ready enough to put in the download script itself.


#3

Thank you for clarifying this. I was wondering where MineOS got the PHP list from.

Armv7: isn’t that just the processor series a lot of android devices use? I thought that PHP_5.6.10 was the version number for PHP.

(http://android.stackexchange.com/questions/21137/difference-between-armv6-armv7-processors)


#4

Is this a unintended feature / bug? Or is this behaviour decided elsewhere?

I found a php7 implemenation for pocketmine here:
http://jenkins.pocketmine.net/job/PHP-PocketMine-Linux/

The php7 tarball I downloaded from that page unpacks nicely into a bin-folder, with one difference. It unpacks into a php7 subfolder, instead of the php5 from the earlier versions of php for pocketmine.

It confused me when the above build 30 would not start,even with php7 available. but build 30 started. Then I tried to juggle around the php folders so that php5 turned into php.old, while php7 was renamed php5. After this the later builds started up nicely.


#5

Oops, I’ve blended in knowledge into the post which isn’t put anywhere and messed it all up.

Yes, ARMv7 is related to the ARM arch and not the PHP v7. I should have referenced this page:

shows php7 is indeed available (not android, but x86/x64–not sure what I was smoking!):

PHP_7.0.0RC2_x86-64_Linux.tar.gz
PHP_7.0.0RC2_x86_Linux.tar.gz

Still not accessible from the one script, but means it shouldn’t be hard to get your hands on the appropriate binaries…