Skip to content
Back to Blog
PocketMine-MP command-line interface showing server startup and player connection logs

Building Custom Bedrock Servers with PocketMine-MP

ice
ice
@ice
Updated
119 views
TL;DR:PocketMine-MP is free, open-source server software for creating custom Minecraft Bedrock servers with plugins. It supports 100+ players, multi-world management, and flexible permission systems, making it ideal for creative, RPG, and mini-games servers. Learn how to set it up and what you should know before starting.

"Custom server software for Minecraft: Bedrock, built from scratch in PHP, C and C++"

pmmp/PocketMine-MP · github.com
⭐ 3,512 stars💻 PHP📜 LGPL-3.0

If you've ever wanted to run a Minecraft Bedrock server without being locked into vanilla survival, PocketMine-MP is exactly what you're looking for. It's free, open-source server software built in PHP that lets you create fully customized gameplay experiences through a plugin system. Instead of managing multiple server nodes, you can run 100+ players on a single instance with complete control over the rules.

What This Project Does

PocketMine-MP isn't a drop-in replacement for vanilla Bedrock. It's a blank slate. You start with a server engine and build out whatever you want through plugins. Want to run a creative-only server with instant teleportation? Done. Building a mini-games hub where players jump between game modes? PocketMine handles that. Need custom economy systems, permission hierarchies, or world management tools? The plugin ecosystem has you covered, and if something doesn't exist, you can write it yourself.

The engine supports multiple worlds running simultaneously, so players stay on your server while experiencing completely different gameplay modes. Everything gets managed from a command-line interface, with live admin controls while the server's running.


When You'd Need This

Here's the disclaimer upfront: this isn't for vanilla survival. If you want pure survival Minecraft with normal world generation and mob AI, use the official Bedrock server software instead. PocketMine strips out vanilla features like redstone mechanics, mob AI, and native world generation.

But if you're running a creative server, building an RPG experience, hosting mini-games, or creating something the vanilla game was never designed for, this is your toolkit. People use it for adventure servers where players follow scripted storylines. Others build competitive PvP arenas. Some run role-playing communities with custom lore and progression systems. The flexibility is the entire point.

You also get active development. New Minecraft Bedrock versions are typically supported within days of release, so you're never stuck on an old version waiting for compatibility updates.


Getting Started with Installation

Setting up PocketMine-MP is straightforward. The project provides pre-built PHP binaries so you don't have to compile anything yourself (though you can if you want). Start by downloading the latest recommended PHP binary from their releases page, then grab the PocketMine-MP PHAR file.

On Linux, it looks like this:

bash
wget https://github.com/pmmp/PocketMine-MP/releases/download/5.42.1/PocketMine-MP.phar
wget https://github.com/pmmp/PHP-Binaries/releases/download/pm5-php-8.2-latest/PHP-Linux-x86_64.tar.gz
tar -xzf PHP-Linux-x86_64.tar.gz./bin/php7/bin/php PocketMine-MP.phar

First startup takes a few minutes to generate config files and the default world. After that, you're in the server console where you can run commands, monitor players, and adjust settings on the fly.

They also maintain a Docker image if you'd rather containerize it, which makes deployment cleaner on cloud infrastructure. Windows and macOS users get batch files and PowerShell scripts instead of shell scripts, so the setup process stays consistent across platforms.


Core Features That Matter

The plugin API is the real engine here. It's well-documented and mature after over a decade of development. Want to hook into player movement events? Listen for block breaks? Trigger custom commands? Register new items with behaviors? The API covers all of it. Many plugin developers publish their work on Poggit, the community plugin repository, so you can find pre-built solutions before writing your own.

Multi-world support is genuinely useful. You can run a creative world, a survival world, and a mini-games arena all simultaneously on the same server instance. Players can teleport between them without disconnecting. That would normally require separate servers eating separate hardware, but here it's just different world folders.

Permission systems work out of the box. Assign players to groups, grant specific permissions to those groups, and build a hierarchy that works for your server's needs. A private creative server has different requirements than a public RPG with moderators, and the system adapts to both.

Performance is solid. The 3512-star repository reflects active maintenance, and real-world servers consistently run 100+ concurrent players depending on your hardware and what plugins you're running. That's not theoretical - it's what people actually report in production deployments.


Things That'll Trip You Up

First: don't expect vanilla features you didn't explicitly add. No redstone circuits. No mob spawning. No trees growing. Players fresh from vanilla Bedrock sometimes expect this to "just work," and it won't. That's not a bug - that's the design. Anything you want needs either a plugin or manual implementation.

Plugin conflicts happen. Two plugins fighting over the same events can cause weird behavior. Your best defense is installing plugins one at a time, testing thoroughly between additions, and checking the plugin's requirements and known incompatibilities before adding it to a live server.

Performance degrades nonlinearly with plugin count. Ten well-written plugins run smoothly. Thirty plugins written without performance in mind will tank your tick rate. If your server starts stuttering, the issue's almost always a poorly-optimized plugin, not PocketMine itself.

Updates require restarts. Unlike some games, you can't hot-reload Minecraft servers. Plan maintenance windows or use a proxy in front of your server so players can reconnect to a backup while you update.


What You Should Consider Instead

If you specifically need vanilla Bedrock, Microsoft maintains official server software. It's less customizable but requires zero configuration and zero plugin management.

For Java Edition, Spigot and Paper have larger ecosystems with more plugins and arguably easier setup for beginners. The Java server landscape is more mature simply because Java Minecraft has existed longer. But Java and Bedrock use completely different protocols, so this choice depends entirely on which version your players are using.

Some people use proxies like Bungeecord in front of multiple PocketMine instances to load-balance players across servers. That's an architecture question, not a software choice, and it's way outside scope here. Just know it's possible if you end up needing that scale.


Where to Dig Deeper

The official documentation is solid. GitHub issues are actively monitored, and the Discord community responds quickly to setup questions. If you're considering running a custom Bedrock server, spend an afternoon reading through the docs and poking around the Poggit plugin repository. That'll tell you whether PocketMine's philosophy aligns with what you're building.

Once you've got your server running, you can even create a custom MOTD to show in the server list, letting players know what kind of experience they're getting into. And when it comes time to build that perfect character for your adventure server, you might want to check out Minecraft skins to find something that fits your server's theme.

pmmp/PocketMine-MP - LGPL-3.0, ★3512

Frequently Asked Questions

Is PocketMine-MP free to use?
Yes, PocketMine-MP is completely free and open-source under the LGPL-3.0 license. You don't pay to run it, and you can modify the source code if needed. You only pay for hosting infrastructure if you host it on a server provider instead of running it on your own hardware.
Can I use PocketMine-MP for a vanilla survival server?
Not really. PocketMine-MP lacks vanilla features like proper world generation, redstone mechanics, and mob AI. If you want vanilla survival, use the official Bedrock server software instead. PocketMine excels at custom gameplay like RPGs, mini-games, and creative servers.
How many players can one PocketMine-MP server handle?
Most deployments support 100+ concurrent players on a single server instance, though performance depends on your hardware and which plugins you're running. Well-optimized plugins cause minimal impact, while poorly-written ones can tank performance quickly.
What's the difference between PocketMine-MP and the official Bedrock server?
The official server runs vanilla gameplay with minimal customization. PocketMine-MP is designed for extensive modification through plugins. Official server requires less setup but offers zero flexibility. PocketMine requires plugin knowledge but lets you build virtually any custom experience.
Do I need to know PHP to run a PocketMine-MP server?
No. You can run a server using existing plugins from Poggit without coding anything. However, if you want to create custom gameplay or fix plugin incompatibilities, knowing PHP helps significantly. Many plugin developers share open-source code you can learn from.