提到我的世界服务端,大多数人会想到 Java 版那些用 Java 写的项目。但基岩版(手机版、主机版、Windows 10 版)也有自己的服务端生态,而其中最知名的一个,是用 PHP 写的。
PocketMine-MP,GitHub 上 3500 多颗星,LGPL-3.0 协议开源,历史超过十年。它从零开始用 PHP 实现了 Minecraft 基岩版的服务端协议,是目前最成熟的基岩版自定义服务端软件。

为什么用 PHP
PHP 来写游戏服务器听起来确实不太常规。但 PocketMine 的历史要追溯到 2012 年,那时候 Minecraft Pocket Edition(手机版)刚刚发布不久,官方还没有提供任何服务端软件。一群开发者决定自己动手,选了最熟悉的 PHP 作为开发语言。
这个选择在今天看来可能不够「性能最优」,但它有实际的好处。PHP 的部署门槛极低——大多数 Web 主机都支持 PHP,这意味着任何人都能轻松搭建一个 PocketMine 服务器。而且 PHP 的开发效率很高,社区可以快速迭代新功能。
十年过去了,PocketMine 从一个玩具项目发展成了有完善插件 API、支持多世界、能承载上百玩家的成熟服务端软件。最新版本 v5.44,支持基岩版 1.26.30,几乎和官方同步更新。
核心功能
插件 API。这是 PocketMine 最核心的卖点。它提供了一个面向对象的、高度抽象的插件接口,开发者可以用 PHP 编写自定义玩法。从简单的传送命令到复杂的小游戏,都可以通过插件实现。
Poggit 是 PocketMine 的官方插件仓库,类似于 Java 版的 SpigotMC 或 Modrinth。上面有数千个开源插件,涵盖经济系统、领地保护、小游戏、权限管理等各种类型。
多世界支持。一个 PocketMine 实例可以同时加载多个世界,玩家可以在不同世界之间传送。这对服务器运营很有用——你可以在一个实例上同时提供生存世界、创造世界和小游戏世界,不需要开多个服务器进程。
性能。PocketMine 是单线程的(PHP 本身的限制),但得益于精心的设计,它可以在普通 VPS 上承载 100+ 玩家。具体数量取决于插件复杂度和服务器硬件。

定位:不是原版服务端
这是理解 PocketMine 最重要的一点。
PocketMine 的 README 里明确写了:它不适合用来开原版生存服务器。它没有原版世界生成、没有红石、没有怪物 AI、没有很多原版玩法。这些功能需要通过插件来补充。
那它适合做什么?
自定义玩法服务器。如果你想在基岩版上做小游戏、做经济系统、做自定义 RPG 玩法,PocketMine 是最好的选择。它的插件 API 远比官方 BDS(Bedrock Dedicated Server)灵活。
开发和测试。基岩版插件开发者可以用 PocketMine 快速搭建测试环境,不需要每次都去折腾官方 BDS。
社区服务器。很多基岩版社区服务器用的就是 PocketMine 或其分支——因为它可以深度定制,而官方 BDS 基本只支持行为包和脚本,灵活度有限。
技术细节
PocketMine 用 PHP 8.x 编写,辅以少量 C/C++ 扩展来处理性能敏感的部分(如区块压缩、网络加密)。代码质量非常严格——使用 PHPStan level 9 进行静态分析,这在 PHP 项目中是最高级别,意味着代码的类型安全和规范性达到了业界顶级水准。
安装方式很简单。官网上有一键安装脚本,下载后运行 ./bin/php7/bin/php PocketMine-MP.phar 就能启动。也提供了 Docker 镜像(ghcr.io/pmmp/pocketmine-mp),适合容器化部署。
配置文件是 YAML 格式,包含服务器名称、端口、最大玩家数、白名单、OP 权限等所有标准参数。世界设置、游戏规则、插件配置都有独立的配置文件。
pmmp 组织生态
PocketMine 的 GitHub 组织 pmmp 不只维护服务端本身,还有一整套周边工具:
PocketMine-ID 实现了基岩版的物品和方块 ID 映射。LevelDB 库实现了基岩版世界存储格式的读写。DevTools 是开发调试工具。Build 工具链用于编译 Phar 发布包。
这个完整的生态是 PocketMine 能持续运营十年的关键——它不只是一个软件,而是一整套开发和运维基础设施。
和其他基岩版服务端的对比
官方 BDS。Mojang 官方提供的 Bedrock Dedicated Server,支持原版玩法,但没有插件 API。只能通过行为包和 JavaScript 脚本来做有限的定制。适合纯原版生存服务器。
Geyser。之前我们介绍过的 Geyser 项目可以让基岩版玩家连接到 Java 版服务器,它走的是协议转换路线,不是真正的基岩版服务端。
PocketMine 的定位介于两者之间——它放弃了原版玩法兼容,换来了极致的可定制性。如果你的目标是做自定义玩法的基岩版服务器,没有比它更合适的选择。
社区活跃度
PocketMine 的更新频率非常高。基岩版每出一个小版本,PocketMine 通常在几天内就能适配。截至发稿,最新提交就在昨天,最新 Release 在六天前。
社区方面有活跃的 Discord(数万成员)、StackOverflow 标签、GitHub Discussions。Poggit 插件仓库持续有新插件上架。对于一个十年老项目来说,这种活跃度相当罕见。
项目:pmmp/PocketMine-MP