Convert Figma logo to code with AI

pmmp logoPocketMine-MP

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

3,358
1,578
3,358
447

Top Related Projects

1,275

Cloudburst Nukkit - Nuclear-Powered Minecraft: Bedrock Edition Server Software

4,994

A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.

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:

  1. Download the latest PocketMine-MP release from the official website or GitHub repository.
  2. Extract the files to a directory on your server.
  3. Run the appropriate start script for your operating system (e.g., start.cmd for Windows or start.sh for Linux/macOS).
  4. Configure the server by editing the server.properties file.
  5. Install plugins by placing them in the plugins folder.
  6. 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

1,275

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.

4,994

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README


A highly customisable, open source server software for Minecraft: Bedrock Edition written in PHP

CI GitHub release (latest SemVer) Discord
GitHub all releases GitHub release (latest by SemVer)

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.

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.