VanillaMine

Minecraft: Bedrock Edition server · PHP

The Bedrock server with vanilla gameplay that keeps your plugins.

VanillaMine is the continuation of PocketMine-MP 5. It generates the Overworld, Nether and End like vanilla, has mobs, villagers, redstone and weather built in, and keeps the plugin API your 5.x plugins already use.

Download Read the docs (opens another site) Plugin hub (opens another site)

5.48.4For Bedrock 1.26.60PHP 8.4LGPL-3.0

40popular plugins tested
200simulated players in our load test
3dimensions
  • Vanilla worldsOverworld, Nether and End with vanilla biomes, structures and loot.
  • Plugins keep workingAPI 5 plugins run unchanged; the API only grows.
  • Built for busy serversTuned defaults and native code where it counts.
  • NetherNet readyPlayers join over NetherNet or RakNet on the same port.

PocketMine-MP 5, continued

Same server you know, new Bedrock versions, vanilla gameplay.

In July 2026 the PMMP team ended PocketMine-MP and archived its repositories. Their last release, 5.44.3, supports Bedrock 1.26.30. VanillaMine picks up from 5.44.3: it follows new Bedrock versions, ships its own PHP builds and libraries, and adds vanilla gameplay on top.

It is developed in the open on GitLab under the LGPL-3.0, like PocketMine-MP. VanillaMine is not affiliated with the PMMP team or with Mojang.

  1. 5.44.3

    Last PocketMine-MP release: by the PMMP team, for Bedrock 1.26.30.

  2. PocketMine-MP ends: the original repositories are archived.

  3. VanillaMine 5.46.0: first stable release, replacing the withdrawn 5.45.0.

  4. 5.46.2 and 5.46.3: Pterodactyl fixes, faster ticks, less memory, packet fixes for 1.26.52.

  5. VanillaMine 5.48: Bedrock 26.60, NetherNet on by default and faster joins.

  6. Coming soon

    Bedrock 26.70: work on the preview has started.

Vanilla, built in

No gameplay plugins needed for the basics. It is all in the server.

More in the docs (opens another site)
World generatorvanilla terrain, biomes, caves, ores and decoration, computed by a native core.
Structures and lootvillages, temples, mineshafts, strongholds, monuments, mansions, fortresses and End cities.
Three dimensionsOverworld, Nether and End with the dragon fight, exit portal and End gateways. Multi-world too.
Mobs with AIpathfinding and Bedrock-like natural spawning, from passive mobs to the warden.
Villagersprofessions, schedules, breeding, gossip, trading, wandering traders, zombification and cure.
Raids and bossesillager patrols, raids and Hero of the Village. The Ender Dragon and the Wither, with boss bars.
Redstonewire, repeaters, comparators, pistons, observers, hoppers and dispensers (first phase).
Weather and lightningrain and thunderstorms per world, /weather, lightning conversions and Channeling.
Golems and vehiclesiron, snow and copper golems; horses, happy ghasts, minecarts on rails, boats.
Sculk and conduitssensors and vibrations, catalyst spread, shriekers that call the warden, conduits.
Enchanting and combatmany more enchantments, mace and spears, fishing, anvils, looms, bundles, maps and beacons.
Commands and languagetarget selectors, /locate and native command suggestions. Messages in each player's language.

Vanilla behaviour is still a work in progress: some mechanics are simplified or missing, and a few blocks, such as trial spawners and vaults, are decorative for now.

Why VanillaMine

The things that matter when you run a Bedrock server every day.

Your plugins keep working

Compared with PocketMine-MP 5.44.3 the API only gains things: new classes, methods, events and optional parameters. Nothing was removed or changed, so plugins built for 5.x run as they are.

  • We tested Poggit's 40 most downloaded API 5 plugins on VanillaMine and on PocketMine-MP 5.44.3. The ones that fail, fail the same way on both.
  • Built-in mobs and mob or NPC plugins coexist. Mobs leave plugin NPCs alone.
  • An exception in a plugin's event handler or task disables that plugin; the server keeps running.
  • Exceptions: plugins that rely on internal APIs, reflection, or the network and data namespaces.

Plugin compatibility (opens another site) Browse PocketMine plugins (opens another site)

plugin.yml

name: MyPlugin
main: MyName\MyPlugin\Main
version: 1.0.0
api: 5.0.0
  • SpawnReason
  • MobPreSpawnEvent
  • EntityTargetEvent
  • Server::getProxyNetwork()
  • PlayerProxyTransferEvent

New in the API: spawn reasons, spawn and targeting events, proxy transfers.

Built for crowded servers

New configs start with simulation distance 4 and light network compression. Chunk serialization, random ticks, pathfinding and timings run in native code, and chunk loading, entity ticking and network fan-out were reworked. Depending on hardware and plugins, one server can hold 100+ players.

  • −18%main-thread time per tick, 200 players standing around
  • −7%with 200 players exploring and changing dimension
  • 795 → 533 MBmemory with 4 workers and no players
  • 25 MBphar cache on disk, down from about 105–118 MB

Measured for 5.46.2 with 200 simulated players on 4 vCPU and the current PHP-Binaries build. Gameplay was checked to be unchanged. Your numbers will depend on hardware, worlds and plugins. Coming soon: a faster native extension in the next PHP-Binaries build.

Ready for how Bedrock connects now

Bedrock 1.26.50 and newer clients join over NetherNet (WebRTC). VanillaMine runs NetherNet and RakNet side by side on the same port, both on by default, with optional HTTPS and automatic certificates. Bedrock 26.60 clients refuse RakNet-only servers; VanillaMine speaks NetherNet.

  • Open port 19132 for both UDP and TCP.
  • Commands send their real syntax, so chat shows Bedrock's own suggestions, plugin commands included.
  • Optional anti-spoofing cookies for RakNet.

Network settings (opens another site)

Easy to host, easy to update

The Pterodactyl and Pelican egg installs the server and PHP 8.4, turns on tracing JIT, and updates both with Reinstall while keeping your worlds, plugins and settings. Servers check for new stable versions and tell operators when one is out.

  • async-workers "auto" respects the container's CPU limit; idle workers stop after 5 minutes.
  • Panel servers no longer fail to start with "No space left on device": the phar now unpacks to about 25 MB.
  • x86-64 only for now (no ARM PHP builds yet).

Pterodactyl eggs (opens another site)

Egg variables

VANILLAMINE_VERSIONlatest
PHP_MARCHx86-64-v3
PHP_JITtracing

Get started

Up and running in three steps

VanillaMine needs two downloads: the server and our PHP 8.4 build. On a hosting panel, the egg does both for you.

  1. 1Get PHP 8.4our PHP-Binaries build for Linux x86-64 (v3 with AVX2, or v2 for older CPUs) or Windows x64.
  2. 2Get the serverPocketMine-MP.phar and the start script from the latest release.
  3. 3Start itrun start.sh or start.cmd, answer the short setup wizard, and open port 19132 for UDP and TCP.

Linux

mkdir vanillamine && cd vanillamine
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/api/v4/projects/VanillaPocketMine%2FVanillaMine/packages/generic/PocketMine-MP/latest/start.sh"
chmod +x start.sh
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.sh

No AVX2? Use the x86-64-v2 tarball instead.

Windows

  1. Download PocketMine-MP.phar, start.cmd and start.ps1 from the latest release into one folder.
  2. Unzip PHP-8.4-Windows-x64-PM5.zip from PHP-Binaries in the same folder.
  3. Run start.cmd.

Pterodactyl / Pelican

Import the egg in Admin → Nests → Import Egg. It installs the server and PHP 8.4, and Reinstall updates them.

The first start runs a short setup wizard (skip it with --no-wizard). The first vanilla world needs internet: the server downloads Mojang's Java Edition server and a Java runtime (about 120 MB), builds the generator data on your machine (a minute or two) and deletes the downloads. It only happens again after an update that changes that data.

Coming from PocketMine-MP 5.44.3?

Replace PocketMine-MP.phar and the bin/ folder. Worlds, plugins, server.properties and pocketmine.yml stay as they are. Existing worlds keep their generator; new worlds use the vanilla one. Two things change: mobs now spawn naturally (turn it off with mobs.spawning.enabled: false) and the game port must be open in TCP as well as UDP.

The VanillaMine family

Everything you need to run Bedrock servers. The server, proxy, PHP builds and libraries are open source on GitLab.

GitLab group (opens another site)

Latest release

Stable builds with the files you need, published on GitLab.

VanillaMine 5.48.4

Released · build 3077 · For Minecraft: Bedrock Edition 1.26.60 (protocol 2225)

Download PocketMine-MP.phar (opens another site)

Highlights

  • Support for Bedrock 1.26.60 (protocol 2225), checked packet by packet against the official Bedrock Dedicated Server 1.26.60.6. 1.26.52 clients can no longer join.
  • 1.26.60 clients only join over NetherNet, which is on by default: open the server port in TCP and UDP. For iPhone players, turn on HTTPS for NetherNet (network.nethernet.https).
  • Players get into the world sooner: the spawn chunks are prepared while the client logs in (first join from 6.9 s to 4.1 s in our tests).
  • 5.48.1: kicked players see the kick message instead of "an error occurred", and transfers between servers are more reliable over NetherNet.

Files in every release

  • PocketMine-MP.phar
  • PocketMine-MP.phar.sha256
  • start.sh
  • start.cmd
  • start.ps1
  • build_info.json
  • core-permissions.rst

Coming soon

  • Bedrock 26.70: work on the preview has started.

Compatibility

What VanillaMine 5.48.4 runs on and works with.

Compatibility
WhatStatusNotes
Minecraft: Bedrock EditionSupported1.26.60 (protocol 2225). Older versions are not supported.
Bedrock 26.70Coming soonPreview: work has started.
PluginsSupportedPocketMine-MP 5.x plugins (api: 5.0.0). Not covered: internal APIs, reflection, network and data namespaces.
PHPSupportedPHP 8.4, our builds (php-8.4-20261026) with chunkutils2 0.3.15.
LinuxSupportedx86-64: v3 (AVX2, default) or v2 (older CPUs and VPSes).
WindowsSupportedx64.
ARM and macOSNot yetNo ARM or macOS PHP builds are published yet.
Pterodactyl / PelicanSupportedEgg on the yolks Debian image, x86-64.
NetworkRequirementNetherNet and RakNet on port 19132, UDP and TCP. iPhone and iPad players need HTTPS (a free certificate the server gets by itself).
MemoryRequirementAbout 1 GB for a small server; more with many players, worlds or vanilla generation.
ProxySupportedVanillaGate 0.1.0: Linux amd64 and arm64, Windows amd64.

Questions

Is VanillaMine the same as PocketMine-MP?

It is its continuation. VanillaMine starts from PocketMine-MP 5.44.3, the last release before the PMMP team ended the project, and keeps going with new Bedrock versions and vanilla gameplay. It is a separate project, not affiliated with the PMMP team.

Will my PocketMine-MP 5 plugins work?

Plugins written for the 5.x API run unchanged, because the API only gains additions. Plugins that use internal APIs, reflection, or the pocketmine\network\mcpe and pocketmine\data namespaces may need updates.

How do I switch an existing server?

Replace PocketMine-MP.phar and the bin/ folder with ours. Your worlds, plugins, server.properties and pocketmine.yml are kept, and existing worlds keep their generator. Two things change: mobs now spawn naturally (turn it off with mobs.spawning.enabled: false) and the game port must be open in TCP as well as UDP.

Which Minecraft version can join?

Minecraft: Bedrock Edition 1.26.60. Each Bedrock update gets a new VanillaMine release, usually within days; players on an older Bedrock version need an older VanillaMine release.

Why does the server need TCP as well as UDP?

Bedrock 1.26.60 clients only join over NetherNet, which uses TCP for signaling and UDP for game data on the same port. If only UDP is open, the server shows up in the list but nobody can join. iPhone and iPad clients also need HTTPS: set network.nethernet.https.acme-domains in pocketmine.yml to the address players type, and the server gets a free Let's Encrypt certificate by itself (the docs page "Connections and ports" has the details).

Does the server need internet access?

Only for the vanilla generator: the first time, and again after an update that changes its data, the server downloads Mojang's Java Edition server and a portable Java runtime (about 120 MB), builds the data on your machine and deletes the downloads. If that fails, the default world is created with the normal generator instead.

Does it run on ARM or macOS?

Not yet. The server needs our PHP builds, which exist for Linux x86-64 and Windows x64 only. VanillaGate, the proxy, does have a Linux arm64 build.

Is everything exactly like vanilla?

Not yet, but most of it is. Mobs and their AI, villagers and raids, redstone, the vanilla generator and structures, trial chambers with their spawners and vaults, and Bedrock's loot tables, damage and death messages are in. Some mechanics are still simplified or missing; the docs list what is covered.

Who maintains VanillaMine?

The VanillaMine team, in the open on GitLab. VanillaMine is not affiliated with Mojang or Microsoft, nor with the PMMP team. Credit for PocketMine-MP goes to the PMMP team and its contributors.

Is it free?

Yes. VanillaMine and VanillaGate are free and open source under the LGPL-3.0, like PocketMine-MP. The docs are CC BY 4.0, with code examples in the public domain.

Open source

Built in the open

The server, VanillaGate, PHP-Binaries and their libraries live in the VanillaPocketMine group on GitLab. Read the code, build it, and send merge requests. The development branch is vanilla-content.

GitLab group (opens another site) Merge requests (opens another site)

Contributing guide (opens another site)

  1. 1Clonegit clone https://gitlab.com/VanillaPocketMine/VanillaMine.git
  2. 2Install dependenciescomposer install
  3. 3Build the pharcomposer make-server