- A bash shell (git bash is sufficient for Windows)
gitavailable in your shell- PHP 7.3 or newer available in your shell
composeravailable 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 --recursive https://github.com/pmmp/PocketMine-MP.gitcomposer install
git checkout <branch to checkout>git submodule update --init- Re-run
composer installto synchronize dependencies.
- Add the flags
--no-dev --classmap-authoritativeto yourcomposer installcommand. This will reduce build size and improve autoloading speed. - Preprocess the source code by running
build/preprocessor/PreProcessor.php. Usage instructions are provided inbuild/preprocessor/README.md.
Preprocessor requires that the cpp (c preprocessor) is available in your PATH.
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 7.4.16 or 8.0.3.
Run src/pocketmine/PocketMine.php using your preferred PHP binary.