本帖最后由 CodeHz 于 2018-9-11 17:12 编辑
考虑到上一个帖子好像有些问题(而且docker实在是不够方便),再加上近期我写了一个简单的脚本,因此我决定新开一帖,重新介绍一下这个开服的方法。先说特性:
另外仅能保证对于当前最新正式版也就是1.6的兼容性,其他版本不做任何保证再说部署:
首先要有一个准备步骤,也就是下载minecraft x86的apk
然后就可以用这个apk的路径来取代下面方案中的xxx.apk了
具体来说我提供了一套部署方案
截图:

源代码在这里,https://github.com/codehz/mcpeserver 安装方法:Archlinux
0. 开启multilib支持
使用这个脚本: https://gist.github.com/codehz/610bdeba96fcec16e6339abae7208e7d
配置文件说明:案例如下
复制代码
上述选项只有带*号的可以在世界生成完毕后使修改生效(否则会使用存档自己的属性)
其实难度,游戏模式这些,可以在客户端连接后,使用设置菜单去修改,注意,只有OP才可以修改设置
另外服务端有个硬性限制:op等需要用户参与的指令必须等待用户联机后才可以在控制台中使用,否则将无法找到目标

还有一个需要特别注意的地方,就是千万不要弄错apk,必须是x86版本的apk才可以使用!
考虑到上一个帖子好像有些问题(而且docker实在是不够方便),再加上近期我写了一个简单的脚本,因此我决定新开一帖,重新介绍一下这个开服的方法。先说特性:
- 生物/红石特性完全(支持所有实体)
- 原版的世界生成机制(种子是通用的,但是对于一些特殊的种子需要做一定的处理,转换为可以接受的格式)
- 支持实验性选项(也就是开启实验性功能,不过要求必须使用客户端现有的存档)
- 支持行为包(无配置选项,同样也需要客户端上传存档)
- 独占的模组支持(PHP的那些肯定是用不了的。。。目前缺API,做功能基本全靠逆向,但是已经有几个成功的例子了。。。)
- 兼容客户端存档(但是不保证反向兼容)
另外仅能保证对于当前最新正式版也就是1.6的兼容性,其他版本不做任何保证再说部署:
首先要有一个准备步骤,也就是下载minecraft x86的apk
然后就可以用这个apk的路径来取代下面方案中的xxx.apk了
具体来说我提供了一套部署方案
截图:

源代码在这里,https://github.com/codehz/mcpeserver 安装方法:Archlinux
0. 开启multilib支持
- 添加内容到 /etc/pacman.conf
复制代码
- [mcpeserver]
- SigLevel = Never
- Server = https://cdn.codehz.one/repo/archlinux/
- 执行 pacman -Syu mcpeserver mcpeserver-core
- 执行 systemctl reload dbus
- 执行 install -dm 0755 -o mcpeserver /srv/mcpeserver
- 把APK丢到 /srv/mcpeserver, 然后运行 cd /srv/mcpeserver && sudo mcpeserver unpack --apk (the apk filename)
- 启动服务器: systemctl start [email protected], 停止服务器: systemctl stop [email protected]
- 链接服务器控制: mcpeserver attach -profile default
使用这个脚本: https://gist.github.com/codehz/610bdeba96fcec16e6339abae7208e7d
配置文件说明:案例如下
- level-dir=world
- level-name=world
- level-generator=1
- level-seed=0
- difficulty=0
- gamemode=0
- force-gamemode=false
- motd=A Minecraft server
- server-port=19132
- server-port-v6=19133
- max-players=20
- online-mode=true
- view-distance=22
- player-idle-timeout=0
- (*)level-dir是地图的路径,但是注意是相对路径,必填项目,实际路径将在games/com.mojang/minecraftWorlds/<custom>下
- level-name是地图的名字,建议不要出现中文,反正用户也看不到(
- level-generator是地图的生成器,0 有限世界 1 标准世界 2 超平坦世界
- level-seed是地图的种子,只支持数字,而且有一定的范围 0-2^32-1
- difficulty是难度 0 和平 1 简单 2 正常 3 困难
- gamemode是游戏模式 0 生存 1 创造,没有别的了
- force-gamemode是强制难度模式 true和false
- (*)motd是服务器列表中显示的欢迎信息
- (*)server-port是服务器监听的IPv4端口号
- (*)server-port-v6是服务器监听的IPv6端口号
- (*)max-players是服务器最大人数
- (*)online-mode是服务器是否允许未xbox live登录的用户连接,目前只有Hack客户端有这种操作,正常客户端是学不来的(不登录完全没法连接服务器)
- (*)view-distance服务器视距
- (*)player-idle-timeout是AFK计时器,单位为分钟
上述选项只有带*号的可以在世界生成完毕后使修改生效(否则会使用存档自己的属性)
其实难度,游戏模式这些,可以在客户端连接后,使用设置菜单去修改,注意,只有OP才可以修改设置
另外服务端有个硬性限制:op等需要用户参与的指令必须等待用户联机后才可以在控制台中使用,否则将无法找到目标

还有一个需要特别注意的地方,就是千万不要弄错apk,必须是x86版本的apk才可以使用!