- A bash shell (git bash is sufficient for Windows)
git
available in your shell- PHP 8.0 or newer available in your shell
composer
available in your shell
Because PocketMine-MP requires several non-standard PHP extensions and configuration, PMMP provides scripts to build custom binaries for running PocketMine-MP, as well as prebuilt binaries.
- Prebuilt binaries
- Compile scripts are provided as a submodule in the path
build/php
If you use a custom binary, you'll need to replace composer
usages in this guide with path/to/your/php path/to/your/composer.phar
.
git clone https://github.com/pmmp/PocketMine-MP.git
composer install
git checkout <branch to checkout>
- Re-run
composer install
to synchronize dependencies.
- Add the flags
--no-dev --classmap-authoritative
to yourcomposer install
command. This will reduce build size and improve autoloading speed.
Run composer make-server
using your preferred PHP binary. It'll drop a PocketMine-MP.phar
into the current working directory.
You can also use the --out
option to change the output filename.
There is a bug in PHP that might cause an error which looks like this:
Fatal error: Uncaught BadMethodCallException: unable to create temporary file in PocketMine-MP/build/server-phar.php:119
You can work around it by setting ulimit -n
to some bigger number, e.g. 8192
, or by updating your PHP version to at least 8.0.3.
Run src/PocketMine.php
using your preferred PHP binary.