Skip to content

Releases: lovehutaocute/Minexa

MineServe Mobile 1.2.8

Choose a tag to compare

@github-actions github-actions released this 02 Oct 12:11

MineServe Mobile 1.2.8

新增:PRoot Linux 容器

新增第三种 Java 运行环境「PRoot 容器」,可以在 App 内跑一个标准 glibc Linux 环境。

  • 支持 Ubuntu 20.04 (focal) 与 Ubuntu 22.04 (jammy) 两个发行版,rootfs 由 App 内直接下载。

  • 在「依赖与环境管理 → Java」里新增「PRoot 容器」分类,可安装:

    发行版 可安装的 Java 版本
    Ubuntu 20.04 (focal) Java 8 / 11 / 17
    Ubuntu 22.04 (jammy) Java 11 / 17 / 21
  • 启动设置里的「运行环境」下拉框新增「PRoot Linux 容器」选项,选中后可直接选择发行版与容器内的 Java 版本。

  • Java 8 现在只出现在「PRoot 容器」分类下。它本来就运行在容器里,此前列在「Termux JDK」下会让人以为有两份,也可能被重复安装。分组位置变了,但运行时用的还是同一个容器,已安装的 Java 8 不受影响。

  • Java 8 只有 Ubuntu 20.04 提供;把发行版切到 22.04 后它会从列表中消失(其他已安装版本不受影响)。

  • 服务端目录以 bind 方式进入容器(/srv/mineserve),因此世界、插件、备份、文件管理全部保持在原来的位置,使用方式与之前完全一致。

  • 不提供 Root 权限:PRoot 是纯用户态兼容层,不是真正的 root。

改进:卸载 Java 不再牵连其他版本

此前在一个容器里卸载某一个 Java 版本,会把整个容器连同里面所有 Java 版本一起删掉。
现在改为只卸载你选中的那一版:

  • 卸载 Java 17 之后,同一个容器里的 Java 8、11 仍然可用。
  • 需要回收整个容器的磁盘空间时,使用独立的「删除容器」按钮(会显示可回收的容量)。
  • 卸载前的确认弹窗会如实说明影响范围。

修复

  • 运行环境不会再被自动改掉:此前在「运行环境」里选了 PRoot 容器后,启动需要 Java 25 的核心(如 Paper 26.1)会被静默改成 Termux + Java 25,而且改动会落盘 —— 你的选择被永久覆盖,下次启动直接换了链路。现在自动匹配 Java 时只在你选的来源内换版本,来源全程不变;该来源确实提供不了时会明确报错,并告诉你可行做法(例如「把 Ubuntu 20.04 切到 22.04 即可使用 Java 21」),把「换来源还是换版本」的决定权交还给你。
  • 修复 PRoot 容器下 "already locked" 报错:反复启动/停止服务端时,可能残留旧进程占用世界文件。现在启动前会识别并清理孤儿进程,同时避免误杀正常运行的实例。
  • 修复强制停止后立即重启可能失败:进程族(proot 追踪器及其子进程)现在会被完整结束,不再出现「已停止但目录仍被占用」。
  • 修复 Termux + Java 8 的 IPv6 判断错误:该组合实际运行在容器内,而 IPv6 兼容层无法在容器中加载。此前会误判为「支持 IPv6」,导致 Allay 核心被写成 enablev6: true 后启动失败。现在会如实判定为不支持。
  • 修复诊断页对 PRoot 容器误报「无需 proot」:选中 PRoot 来源时,运行诊断会显示「无需 proot」并标为不适用 —— 而 proot 正是这条链路赖以启动的东西,容器起不来时这条诊断会把人引向完全错误的方向。
  • 修复 PRoot 容器下的字体检查查错了地方:此前会检查宿主环境的字体配置,而容器用的是容器内那一套。结果是容器缺字体时报「已就绪」,或往宿主装一堆容器根本用不到的东西。现已统一改为在容器内检查。
  • 修复「请先停止服务端再重装 Java」提示文案:卸载与删除容器时也显示同一句提示,现已改为中性的「请先停止服务端,再改动 Java 运行环境」。

诊断与进度

  • 运行诊断新增容器分层状态:把容器拆成「rootfs 是否已下载 / 是否完整可用 / 已安装哪些 Java 版本」分别报告。此前只有一句「未安装」,无法区分是要重新下载几百兆的 rootfs,还是只是没装 Java(后者只需一次 apt 安装,代价差很多)。
  • PRoot 容器安装现在会显示阶段进度:下载并解压 rootfs 占 0–60%,容器内安装 JDK 占 60–100%。此前容器安装全程进度指示不动,数分钟的等待容易被误认为卡死。

界面:依赖管理页

  • 「依赖管理」页的 Termux JDK / Pojav JRE / PRoot 容器 三个分组现在可以折叠展开,默认全部折叠。三个来源共 11 条版本行,全展开会把「卸载 / 重装 / 安装」三键顶出屏幕,而这三个按钮才是这个板块的主要操作。
  • 折叠时分组标题会标出「已选 Java 17」,让你一眼知道下面那三个按钮作用于哪一份 Java。
  • 「PRoot 容器」分组内新增 Ubuntu 版本切换胶囊:左「Ubuntu 20.04」、右「Ubuntu 22.04」,当前选中项为蓝色胶囊背景,切换时蓝色背景平滑滑动到另一侧。
  • 外观沿用原有风格:同样的字体、圆角、间距与配色,只多了一个折叠箭头和这一个切换控件。

文案与提示订正

逐条核对了三种 Java 来源(Termux / Pojav FCL / PRoot)在界面上展示的能力说明,确保与实际行为一致:

  • Termux 分组说明不再笼统地称「由 apt 安装、IPv6 由兼容层接管」——Java 8 是例外,它跑在容器里,兼容层不生效。
  • Termux 的 Java 8 现在明确标注「与 PRoot 容器分类下的 Ubuntu 20.04 是同一个容器」,避免用户在两处重复安装或误解磁盘占用。
  • 版本不可用时的提示为「该容器不提供」,是事实描述。

升级提示

  • 已安装 1.2.6 及更早版本可直接覆盖安装(签名一致)。
  • 安装前建议先备份服务器核心与世界。
  • 如果你此前使用过 Java 8(Termux 或 PRoot):本次调整了容器目录的命名方式,旧的 Java 8 运行环境会被识别为「未安装」,需要重新安装一次。服务端存档不受影响。
    旧的 var/lib/mineserve/java8-ubuntu-rootfs 目录不会再被使用,也不会被自动删除;如需回收空间可手动删除。
  • Java 25 在 PRoot 容器中不可用:Ubuntu 的 arm64 软件源不提供该版本。

完整更新日志见仓库根目录 CHANGELOG.md。

MineServe Mobile 1.2.7

Choose a tag to compare

@github-actions github-actions released this 24 Sep 05:17

修复了一些已知 bug。

【升级提示】

  • 已安装 1.2.6 及更早版本可直接覆盖安装(签名一致)
  • 安装前建议先备份服务器核心与世界

完整更新日志见仓库 CHANGELOG.md。

MineServe Mobile 1.2.6

Choose a tag to compare

@github-actions github-actions released this 19 Sep 09:31

本次更新以修复为主,建议 1.2.5 及更早版本升级。

【重要修复】

  • 检测更新:修复发布说明为空时解析失败、导致「检测更新」完全不可用的问题
  • 一键安装依赖库:补齐 libandroid-glob.so 等 19 个 Termux 依赖库(此前 APK 内一个都没打包),修复部分机型(如荣耀 Magic 6)执行 apt-get 立即崩溃、无日志、无网络的问题
  • 核心版本检测:Fabric / Forge / NeoForge / Quilt 改为官方接口实时获取,此前只能看到 10 个旧版本,新版本无法显示

【新增与改进】

  • 运行环境:Java / PHP 严格按用户选择生效,概览页新增「运行环境」入口
  • 崩溃报告:按关键词成块提取 Watchdog、异常栈、内存错误等关键片段,不再只截取日志末尾 200 行
  • 服务器配置:PowerNukkitX 按 pnx.yml 判定,配置未生成时显示引导卡片
  • 界面:移除「运行诊断」卡片,诊断入口改为「服务端资源」卡片右上角的警示图标
  • 发布包:固定使用发布密钥签名,老版本可直接覆盖安装

【升级提示】

  • 已安装 1.2.5 及更早版本可直接覆盖安装(签名一致)
  • 安装前请先备份服务器核心与世界,更新可能影响现有数据

完整更新日志见仓库 CHANGELOG.md。

v1.2.5

Choose a tag to compare

@lovehutaocute lovehutaocute released this 05 Sep 15:15

Release Notes v1.2.5

MCP 服务(Model Context Protocol)

  • 内嵌 MCP 服务器(Streamable HTTP,默认关闭,Bearer 令牌鉴权):局域网内 AI 助手(Claude、ZCode 等 MCP 客户端)可连接手机远程管理服务器。
  • 20 个工具:服务器管理(状态/列表/切换/启停)、MC 控制台(命令、最多 2000 行日志)、Termux 命令执行、服务器文件管理(列/读/写/删/改名/建目录/上传/解压/导入新服务器)、模组(Modrinth 搜索/安装/列表)。
  • 「更多」页新增「MCP 服务」入口:开关、端口、令牌管理、端点与客户端配置一键复制。

FTP 文件管理

  • 新增 FTP 服务(更多页入口):电脑文件管理器直接访问手机服务器目录,支持匿名访问、账号密码、只读/可写开关、自定义端口;运行中修改设置自动重启生效。

内网穿透

  • 新增 SakuraFrp:填入 Token 拉取隧道与节点列表、创建新隧道,选中后自动拉取官方配置启动 frpc。

基岩版新核心

  • 新增 PocketMine-MP 与 Allay 核心(按钮样式与 PowerNukkitX 一致):
    • PocketMine-MP:pmmp 官方通道版本(自动过滤与内置 PHP 运行时不兼容的版本),首次启动自动下载 Android 原生 PHP 运行环境;
    • Allay:GitHub Release 版本,需要 Java 21+(自动切换),首次启动自动生成配置并禁用 IPv6 绑定。

界面改版

  • 底部导航栏与顶部状态栏区域全透明;标题栏高度增加。
  • 新增「依赖与环境管理」页面(Java / 依赖 / Termux 三模块,卸载/重装/安装),概览页标题栏右侧直达入口;崩溃日志中 Java 问题可直接「前往安装」。
  • 概览页移除「删除依赖」「重新安装依赖」「Java 版本管理」入口(能力收拢到管理页),保留仅在未安装时显示的「安装 Java」「安装 Termux」入口。
  • 服务器管理页支持修改服务器显示名称、版本号与核心类型。

修复与优化

  • 修复切换页面后导航状态异常重置的问题(导航状态持久化)。
  • 修复 MT 管理器等外部方式复制文件夹到服务器目录后不显示的问题(自动扫描登记,降低识别门槛)。
  • 文件页教程区域支持收起/展开并记住状态。
  • 保活服务默认开启,应用启动 3 秒内自动激活。
  • Allay/PocketMine 启动阶段识别优化,状态显示更准确。

其他

  • 启用 R8 代码混淆与资源压缩(正式包)。

MineServe Mobile 1.2.4

Choose a tag to compare

@lovehutaocute lovehutaocute released this 28 Aug 04:49

MineServe Mobile 1.2.4

本次更新

  • 服务端内存占用进一步降低:移除强制的 -Xms 预分配,启动即不再多占 200~500MB 无用的预留堆内存(行为对齐 EdgeCube)。
  • 概览页改为 LazyColumn 滚动,全部一级卡片拆分为独立列表项,服务运行前页面掉帧明显改善。
  • 日志页汉化、颜色解析和文件列表扫描移到后台线程,界面滚动更流畅。
  • 打开终端页时快速加载 latest.log 历史日志,无需等待服务器重新输出。
  • 服务器报错弹窗新增“完整日志”视图,记录服务端本次启动到停止的全部日志(含复制和分享)。
  • 崩溃不再静默:运行中异常退出(含被系统终止的 exit=137)、启动后立即退出(即使退出码为 0)都会弹出错误报告。
  • 崩溃信息更可靠:进程死亡时界面状态不再被错误覆盖为“运行中”;App 重新打开后 5 分钟内自动补弹最近一次崩溃报告。

发布信息

  • Android 8.0+
  • arm64-v8a
  • Release 包已开启 R8 代码混淆和资源压缩。
  • 使用原有签名文件,可覆盖安装之前使用同一签名的版本。

MineServe Mobile 1.2.3

Choose a tag to compare

@lovehutaocute lovehutaocute released this 25 Aug 12:06

MineServe Mobile 1.2.3

本次更新

  • 修复服务器图标和插件图标页面可能因图片已被提前回收而闪退的问题。
  • 插件图标会按显示尺寸缩小解码,减少内存占用和列表加载卡顿。

发布信息

  • Android 8.0+
  • arm64-v8a
  • Release 包已开启 R8 代码混淆和资源压缩。
  • 使用原有签名文件,可覆盖安装之前使用同一签名的版本。

MineServe Mobile 1.2.2

Choose a tag to compare

@lovehutaocute lovehutaocute released this 24 Aug 10:26

MineServe Mobile 1.2.2

本次更新

  • 修复应用内 CPU 占用率无法正常读取的问题,兼容 shell、PRoot 等多层启动方式。
  • 服务器停止后清除旧的 CPU 采样数据,避免下次启动显示错误数值。
  • 服务器正版验证开启时,概览页状态卡片显示红色提示:正版验证未关闭,离线玩家无法进入。
  • 优化服务器状态、终端日志和文件列表的滚动性能,减少快速滑动时的卡顿。

发布信息

  • Android 8.0+
  • arm64-v8a
  • Release 包已开启 R8 代码混淆和资源压缩。
  • 使用原有签名文件,可覆盖安装之前使用同一签名的版本。

MineServe Mobile 1.2.0

Choose a tag to compare

@lovehutaocute lovehutaocute released this 19 Aug 07:20

MineServe Mobile 1.2.0

服务器导入与识别

  • 新增文件夹、压缩包、单个 JAR 与 Modrinth .mrpack 的独立导入入口。
  • 支持 ZIP、TAR、TAR.GZ/TGZ、TAR.XZ/TXZ、TAR.BZ2/TBZ2、TAR.ZST/TZST、TAR.LZ4 与 7z。
  • 自动识别 10 类核心与版本:包括 PowerNukkitX、BungeeCord 及常见 Java 服务端。
  • .mrpack 自动下载服务端文件、校验 SHA-1 并应用服务端 overrides;CurseForge 整合包暂不支持直接导入。

下载、日志与保活

  • 下载页采用紧凑核心选项;切换核心会刷新版本列表,阻止旧请求覆盖新结果。
  • 崩溃报告汇总全部已安装服务端的原生 crash-reports/,保留本地离线分析。
  • 增加可选、可拖动的运行状态悬浮条,显示尽力采样的 CPU 与内存。
  • 改善 Java 运行时、终端日志和后台保活路径的兼容性。

发布信息

  • Android 8.0+、arm64-v8a。
  • Release 包已启用 R8 代码混淆和资源压缩。
  • APK:MineServeMobile-arm64-v8a-release.apk
  • SHA-256:C344F35B262A6FD97446B057D22EE51FCC3D399087065F1AD93DBD4D791FE8A6

验证

  • :app:testDebugUnitTest:31 个测试全部通过。
  • :app:assembleRelease:通过,已生成 R8 mapping。

MineServe Mobile 1.1.7

Choose a tag to compare

@lovehutaocute lovehutaocute released this 17 Aug 09:48

1.1.7 更新日志

稳定版重发布

  • 基于 1.1.6 已验证代码重新构建,仅递增应用版本号,不改变应用功能。
  • 独立发布 1.1.7,不合并或覆盖历史发行版。
  • Release 继续启用 R8 代码混淆与资源压缩。

注意:更新应用前请先备份服务器核心、世界和配置文件。

MineServe Mobile 1.1.6

Choose a tag to compare

@lovehutaocute lovehutaocute released this 17 Aug 09:39

1.1.6 更新日志

终端修复

  • 修复终端命令输入框和发送按钮被底部导航栏或软键盘遮挡、可点击但不可见的问题。
  • 输入区改为终端页面独立底部栏,避免与应用底部导航发生布局冲突。
  • 固定发送按钮触控区域,并明确设置输入文字、边框、光标和按钮颜色,确保输入内容与发送操作可见。
  • 保留多会话、MC 控制台、日志复制、关键日志汉化和日志自动滚动功能。

构建

  • 正式 Release 开启 R8 代码混淆。
  • 正式 Release 开启资源压缩。
  • 附带 R8 mapping 文件,便于后续崩溃堆栈还原。

注意:更新应用前请先备份服务器核心、世界和配置文件。