前言
这个方法并不是使用 LeviLamina(原LiteLoaderBDS)进行开服,而是使用PHP进行开服。是的,使用PHP开服,但是并不是原版PHP。
如果是小白开服,请花钱寻求技术支持
如果遇到插件不兼容当前服务端API版本问题,请前往GitHub提出issue,并做出如下动作祈祷作者会做出适配
首先你需要在 Releases · pmmp/PocketMine-MP (github.com) 中找到你要开的MC服务器版本(下图为服务端1.20.50,API5.9.0[即MP5])
同时,一个服务端版本可能会拥有多个API版本
目前,官方主要的维护API版本为MP5和MP4,即5.x.x和4.x.x
这里以 1.20.50 和API版本 5.9.0 为例
需要下载这三个文件,其中第一个 build_info.json 、第三个 start.sh 为可选,第二个 PocketMine-MP.phar个为必须
首先需要打开build_info确认需要的PHP版本后自行在 这里 寻找
或者直接点击对应版本描述中的链接下载
进入此链接后,需要在MP5和MP4两个API版本中二选一,需要根据下载的服务端API版本决定下载哪个,如API版本为MP 5.9.0即需要下载MP5的版本
我们需要将下载好的文件解压出来
之后重新打包为zip格式
之后前往云服务商购买面板服,以雨云为例,需要选择Linux纯环境
创建完成后,点击管理
进入端口映射管理,点击新建
由于此服务端的特殊性,这里的内网端口和外网端口必须 完全一致! 否则会出现“无法连接至世界”
点击新建时系统会随机分配一个端口,直接将此端口复制到内网端口处即可
新建完成后你需要记下这个端口,这里是27165
点击进入MCbugM面板
弹出的窗口中会显示面板的用户名和密码
登录MCbugM后,点击实例的管理按钮
点击左侧的文件管理
删除除了启动脚本外的全部文件
上传服务端核心和重新打包过的PHP zip文件
于为什么这个压缩包叫php7.zip,因为官方的PHP8.1压缩包打开后里面居然是一个叫php7的文件夹
选中这个压缩包,点击解压
分析官方启动脚本即可得出启动方法,即./patch/to/php PocketMine-MP.phar
我们可以在刚刚解压出的文件中找到php的二进制文件
其相对路径为./runtime/bin/php(没用的扩展阅读:通过将启动命令改为pwd >> 1.log,并且开启实例后,等待实例异常退出即可在1.log中看到绝对路径为/workspace)
编辑启动脚本,在文件末追加./runtime/bin/php PocketMine-MP.phar
点击runtime文件夹的权限
按照下图设置后点击确定(一般来说点击权限按钮后,什么都不用做,直接点击确定即可)
点击回到控制台
启动实例
首次启动会提示选择语言,输入chs即可选择中文
之后会提示你是否同意协议,输入y,即同意
之后会询问是否跳过安装向导,我们不需要这玩意,输入y跳过
出现此IP提示后直接回车即可
遇到此警告/报错请直接无视
之后等待地图创建完成后输入list命令,如果有返回玩家在线数量即代表开服成功
接下来我们需要更改端口
回到文件管理,找到此文件,点击编辑
将其中的server-port=19132中的19132改为你之前创建的NAT端口映射的端口号,我的是27165
之后重启实例即可
将外网地址和端口分别填入游戏中
之后即可获取到服务器的信息
这里是官方插件库:
PocketMine Plugins | Poggit Release (pmmp.io)
下载好插件后,进入plugins目录
将插件文件上传至此目录后重启服务端即可
Installing/updating manually — PocketMine-MP Documentation (pmmp.io)