Install
VanillaMine is a fork of PocketMine-MP. It runs on its own PHP build (with extensions such as pmmpthread, leveldb and chunkutils2), so you need two downloads: the server and the PHP binaries.
| What | Where |
|---|---|
PocketMine-MP.phar and start scripts | VanillaMine releases |
| PHP 8.4 binaries | PHP-Binaries packages |
Hosting panel?
On Pterodactyl or Pelican, import the egg instead: it downloads both and keeps them updated.
Requirements
- A 64-bit CPU. Linux x86-64 has two PHP builds:
x86-64-v3(needs AVX2, faster) andx86-64-v2(older CPUs). Windows x64 and macOS arm64 builds are also published. - 1 GB of RAM for a small server; more with many players, worlds or vanilla world generation.
- The game port open in both UDP and TCP (default 19132). Bedrock 1.26.50+ clients join over NetherNet, which uses TCP for signaling and UDP for game data on the same port.
Linux
mkdir vanillamine && cd vanillamine
# Server
curl -L -o PocketMine-MP.phar \
"https://gitlab.com/api/v4/projects/VanillaPocketMine%2FVanillaMine/packages/generic/PocketMine-MP/latest/PocketMine-MP.phar"
curl -L -o start.sh "https://gitlab.com/VanillaPocketMine/VanillaMine/-/raw/vanilla-content/start.sh"
chmod +x start.sh
# PHP (use x86-64-v2 instead of x86-64-v3 on CPUs without AVX2)
curl -L "https://gitlab.com/api/v4/projects/VanillaPocketMine%2FPHP-Binaries/packages/generic/PHP-Binaries/latest/PHP-8.4-Linux-x86-64-v3-PM5.tar.gz" | tar -xz
./start.shThe archive unpacks into bin/; start.sh finds bin/php7/bin/php by itself.
extension_dir
The PHP build has a fixed extension_dir in bin/php7/bin/php.ini. If PHP says it cannot load an extension, set extension_dir in that file to the absolute path of the bin/php7/lib/php/extensions/no-debug-zts-* folder.
Windows
- Download
PocketMine-MP.phar,start.cmdandstart.ps1from the latest release into one folder. - Download
PHP-8.4-Windows-x64-PM5.zipfrom PHP-Binaries and unzip it there, so you havebin\php\php.exe. - Run
start.cmd.
First start
The first start runs a short setup wizard (language, server name, port). Skip it with --no-wizard. It creates:
| File | What it is |
|---|---|
server.properties | Basic settings: name, port, game mode, world. See server.properties. |
pocketmine.yml | Everything else: performance, mobs, network, proxy. See pocketmine.yml. |
worlds/ | Worlds. New worlds use the vanilla generator (level-type=vanilla). |
plugins/ | Put plugin .phar files here. |
nethernet_identity.pem | The server's NetherNet identity. Back it up. |
Type help in the console for the commands, stop to shut the server down.
Next steps
- Coming from PocketMine-MP: your worlds, plugins and settings keep working.
- Vanilla gameplay: what is vanilla and how to tune it.
- VanillaGate: run several servers behind one address.
