PocketMine-MP
Custom server software for Minecraft: Bedrock, built from scratch in PHP, C and C++
Top Related Projects
Quick Overview
PocketMine-MP is an open-source server software for Minecraft: Bedrock Edition. It allows users to create and manage their own Minecraft servers with customizable features, plugins, and performance optimizations. PocketMine-MP is written in PHP and aims to provide a flexible and efficient server solution for Minecraft players.
Pros
- Highly customizable with a wide range of plugins available
- Lightweight and optimized for better performance compared to official server software
- Active community and regular updates
- Cross-platform support, allowing players on different devices to connect
Cons
- Limited support for certain Minecraft features compared to official server software
- May require technical knowledge to set up and maintain
- Some plugins may not be compatible with the latest versions
- Performance can vary depending on server hardware and configuration
Getting Started
To set up a PocketMine-MP server:
- Download the latest PocketMine-MP release from the official website or GitHub repository.
- Extract the files to a directory on your server.
- Run the appropriate start script for your operating system (e.g.,
start.cmd
for Windows orstart.sh
for Linux/macOS). - Configure the server by editing the
server.properties
file. - Install plugins by placing them in the
plugins
folder. - Start the server and connect using the server's IP address and port.
For more detailed instructions, refer to the official PocketMine-MP documentation.
Competitor Comparisons
Cloudburst Nukkit - Nuclear-Powered Minecraft: Bedrock Edition Server Software
Pros of Nukkit
- Written in Java, potentially offering better performance and easier integration with Java-based plugins
- Supports a wider range of Minecraft versions, including some newer features
- More active development and frequent updates
Cons of Nukkit
- Smaller community and plugin ecosystem compared to PocketMine-MP
- Less documentation and resources available for developers
- May have compatibility issues with some Bedrock Edition features
Code Comparison
PocketMine-MP (PHP):
public function onEnable(): void {
$this->getLogger()->info("Plugin enabled!");
$this->getServer()->getPluginManager()->registerEvents($this, $this);
}
Nukkit (Java):
@Override
public void onEnable() {
this.getLogger().info("Plugin enabled!");
this.getServer().getPluginManager().registerEvents(this, this);
}
Both projects use similar structures for plugin development, with minor syntax differences due to the programming languages used. PocketMine-MP uses PHP, while Nukkit uses Java. The code examples show how to enable a plugin and register event listeners in both frameworks.
A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
Pros of Geyser
- Allows Bedrock players to join Java servers directly, enhancing cross-platform compatibility
- Supports a wider range of Minecraft versions and features
- More actively maintained with frequent updates
Cons of Geyser
- Requires a Java server backend, limiting standalone usage
- May have performance overhead due to protocol translation
- Can experience compatibility issues with certain Java plugins
Code Comparison
PocketMine-MP (PHP):
public function onEnable(): void {
$this->getLogger()->info("PocketMine-MP server started!");
$this->initializeWorld();
}
Geyser (Java):
@Override
public void onEnable() {
getLogger().info("Geyser proxy started!");
initializeTranslator();
}
PocketMine-MP is a standalone Bedrock server implementation in PHP, while Geyser is a Java-based proxy that translates between Bedrock and Java protocols. PocketMine-MP offers more control over server functionality but is limited to Bedrock features. Geyser provides broader compatibility at the cost of requiring a Java server backend. Both projects aim to improve Minecraft's cross-platform experience but take different approaches to achieve this goal.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
A highly customisable, open source server software for Minecraft: Bedrock Edition written in PHP
What is this?
PocketMine-MP is a highly customisable server software for Minecraft: Bedrock Edition, built from scratch in PHP, with over 10 years of history.
If you're looking to create a Minecraft: Bedrock server with custom functionality, look no further.
- ð§© Powerful plugin API - extend and customise gameplay as you see fit
- ðºï¸ Rich ecosystem and large developer community - find plugins easily and learn to develop your own
- ð Multi-world support - offer a more varied game experience to players without transferring them to other server nodes
- ðï¸ Performance - get 100+ players onto one server (depending on hardware and plugins)
- â¤´ï¸ Continuously updated - new Minecraft versions are usually supported within days
:x: PocketMine-MP is NOT a vanilla Minecraft server software.
It is poorly suited to hosting vanilla survival servers. It doesn't have many features from the vanilla game, such as vanilla world generation, redstone, mob AI, and various other things.
If you just want to play vanilla survival multiplayer, consider using the official Minecraft: Bedrock server software instead of PocketMine-MP.
If that's not an option for you, you may be able to add some of PocketMine-MP's missing features using plugins from Poggit, or write plugins to implement them yourself.
Getting Started
Community & Support
Join our Discord server to chat with other users and developers.
You can also post questions on StackOverflow under the tag pocketmine
.
Developing Plugins
If you want to write your own plugins, the following resources may be useful. Don't forget you can always ask our community if you need help.
- Developer documentation - General documentation for PocketMine-MP plugin developers
- Latest release API documentation - Doxygen API documentation generated for each release
- Latest bleeding-edge API documentation - Doxygen API documentation generated weekly from
major-next
branch - DevTools - Development tools plugin for creating plugins
- ExamplePlugin - Example plugin demonstrating some basic API features
Contributing to PocketMine-MP
PocketMine-MP accepts community contributions! The following resources will be useful if you want to contribute to PocketMine-MP.
New here? Check out issues with the "Easy task" label for things you could work to familiarise yourself with the codebase.
Donate
PocketMine-MP is free, but it requires a lot of time and effort from unpaid volunteers to develop. Donations enable us to keep delivering support for new versions and adding features your players love.
You can support development using the following methods:
- Patreon
- Bitcoin (BTC):
171u8K9e4FtU6j3e5sqNoxKUgEw9qWQdRV
- Stellar Lumens (XLM):
GAAC5WZ33HCTE3BFJFZJXONMEIBNHFLBXM2HJVAZHXXPYA3HP5XPPS7T
Thanks for your support!
Licensing information
This project is licensed under LGPL-3.0. Please see the LICENSE file for details.
pmmp/PocketMine are not affiliated with Mojang. All brands and trademarks belong to their respective owners. PocketMine-MP is not a Mojang-approved software, nor is it associated with Mojang.
Top Related Projects
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot