一台安卓手机
就是一台 MC 服务器
Minexa 是一个原生 Android 应用:把完整的 Minecraft Java 版服务端跑在手机里。 不需要 root,也不需要一台常开的电脑。Java 8 到 25,16 种服务端, 插件、模组、内网穿透、备份、崩溃报告、MCP 远程控制,全部在这台设备上完成。
首次使用需要联网安装运行时与下载服务端核心;之后局域网联机不依赖外网。
功能
FEATURES从开服到联机到运维,一台手机全流程覆盖。下面是主要能力,细节以仓库文档为准。
多服务器管理MULTI-SERVER
每个服务端独立的核心、世界、配置、插件与模组目录,一键切换,互不污染。服务器目录按名称隔离在 servers/ 下。
服务器导入IMPORT
文件夹、JAR、压缩包(ZIP / 7z / tar.xz 等十余种)直接导入,自动识别核心与版本;Modrinth .mrpack 会校验 SHA-1、跳过纯客户端文件并应用 overrides。
插件与模组PLUGINS / MODS
扫描、启停、删除、SAF 上传、URL 安装;内置 Modrinth 搜索,按 MC 版本与加载器匹配下载。
内网穿透TUNNEL
自带 frp 与 bore,也支持 SakuraFrp、ME Frp 托管平台;局域网与公网地址一键复制,界面直接显示。
备份与崩溃报告BACKUP / CRASH
主世界 / 下界 / 末地与世界整包备份,SAF 导出。异常退出时保留 Watchdog 与线程转储关键片段和最近 800 行日志,本地聚合分析 native 报告,阻塞点不会被截断。
保活KEEP-ALIVE
前台服务 + 常驻通知、CPU / Wi-Fi 唤醒锁、开机自启、WorkManager 定时检查;可选悬浮窗实时显示状态、CPU 与内存。
桌面组件WIDGETS
概览、控制台、事件日志、模组插件四类小组件,带操作按钮,由后台 Worker 周期性刷新。
MCP 远程控制MCP SERVER
内置 Model Context Protocol 服务端(Streamable HTTP):局域网内的 AI 助手可以查状态、开关服、下发控制台命令、读取日志,Bearer Token 保护。
Material 3 界面UI
Jetpack Compose 编写,动态色与深色主题;核心与版本选择做了紧凑化,下载列表默认展示最新 8 个版本。
支持的服务端
CORES
16 种核心覆盖 Java 插件服、模组服、原版、代理服,以及基岩版(PowerNukkitX / PocketMine-MP / Allay)。
版本列表取自各核心官方 API,上游一发版这里就能看到;版本号按数值段排序,26.2 会正确排在 1.21.11 前面。
| 核心 | 插件 | 模组 | 备注 |
|---|---|---|---|
| Paper | ✓ | ✕ | 高性能 Java 插件服务端 |
| Purpur | ✓ | ✕ | Paper 分支,可配置项更多 |
| Leaves | ✓ | ✕ | Paper 分支,面向高版本生存服优化 |
| Leaf | ✓ | ✕ | Paper 分支,兼容 Bukkit 插件并做性能改动 |
| Spigot | ✓ | ✕ | 经典 Bukkit 兼容插件服 |
| CraftBukkit | ✓ | ✕ | 官方 Bukkit 实现 |
| Fabric | ✕ | ✓ | 轻量模组加载器 |
| Forge | ✕ | ✓ | 传统模组加载器 |
| NeoForge | ✕ | ✓ | Forge 后继者,下载后自动执行 installer |
| Quilt | ✕ | ✓ | Fabric 分支,下载后自动执行 installer |
| Vanilla | ✕ | ✕ | 官方原版服务端 |
| Velocity | ✕ | ✕ | Java 版代理服 |
| BungeeCord | ✕ | ✕ | Java 版代理服 |
| PowerNukkitX | ✓ | ✕ | 基岩版 Nukkit 核心,UDP 协议 |
| PocketMine-MP | ✕ | ✕ | 基岩版 PHP 服务端,按需下载原生 PHP 运行时 |
| Allay | ✕ | ✕ | 下一代基岩版服务端,需要 Java 21+ |
运行环境
RUNTIMEJava 与 PHP 运行时共存,在界面上选哪个,启动时就按哪个来。应用不会偷偷替你改选择——不匹配时只会报错,并给出具体修复建议。
Termux JDKTERMUX
Termux 环境内的 openjdk,通过 apt 安装,由 Android shell 直接拉起进程。
Pojav JREPOJAV
PojavLauncher 构建的 Android 原生 JRE,支持 IPv6,无需 Linux 容器。
PRoot 容器PROOT
标准 glibc Linux 容器,rootfs 应用内下载,JDK 用 apt 装。服务端目录映射为 /srv/mineserve,路径与行为不变。
PRoot 是纯用户态兼容层,不授予 root。Ubuntu 20.04 提供 Java 8/11/17,22.04 提供 11/17/21;arm64 仓库没有 Java 25。
PHP 运行时:PocketMine-MP 不走 JVM,用的是捆绑的 Android aarch64 原生 PHP 构建,按需下载(约 10 MB),多个 PocketMine 服务器共用。
选择即权威:启动时若 MC 版本需要不同的 Java,应用只在你选定的来源内切换版本(例如 Termux JDK 17 → 21)。当该来源确实提供不了(比如容器里没有 Java 25),它会报错并告诉你怎么办,而不是默默把 PRoot 换成 Termux。
手机怎么跑服务端?
HOW IT WORKS初始化运行时
首次设置把 Termux 兼容运行时和 Java 装进应用私有目录,不碰系统分区,不需要 root。
以普通子进程启动
Java 11/17/21/25 由 Android shell 拉起;需要标准 glibc 的(含 Java 8)跑进 PRoot 容器;PocketMine-MP 用原生 PHP。全是 app 管理的普通子进程。
监听正常网络端口
控制台命令走进程 stdin,输出实时显示并存到 logs/latest.log。局域网用手机 IP + 端口加入;公网靠 frp / bore 隧道或路由器端口映射。
$ minexa --init [ok] termux bootstrap -> app-private storage [ok] java 17 (termux jdk) installed [ok] core: paper 1.21.4 -> servers/paper/server.jar [ok] eula.txt accepted $ minexa start paper [java] booting 1.21.4 with -Xmx1024M [mc] Done (3.21s)! For help, type "help" [mc] listening on 192.168.1.101:25565
说实话:Minexa 不能帮你绕过 NAT、运营商 CGNAT 和防火墙。该用隧道的地方,还是得用隧道;手机性能也决定了它更适合小型生存服和好友联机,不是大型公众服。
界面截图
SCREENSHOTSMaterial 3 深色主题实拍。点击任意截图查看大图。
CLICK TO ENLARGE
快速开始
QUICK START初始化
完成运行时安装,装好所需 Java 版本(Termux / Pojav / PRoot 三选一)。
下载或导入
在「下载」页选核心与版本,或用「导入服务器」装入已有服务器和 .mrpack。
接受 EULA
阅读并同意生成的 eula.txt,这是 Mojang 的要求,不是应用的。
启动联机
仪表盘点启动,局域网好友用显示的手机 IP 和端口加入;公网用隧道。
# 克隆并构建 debug 包(Windows 用 .\gradlew.bat) $ git clone https://github.com/lovehutaocute/Minexa.git $ cd Minexa $ ./gradlew :app:assembleDebug # APK 输出在 app/build/outputs/apk/debug/ # 不想编译就直接去 Releases 下 Minexa-arm64-v8a-release.apk
要求与已知限制
REQUIREMENTS & LIMITS- Android 8.0(API 26)或更高版本。
- arm64-v8a 设备;暂不支持 x86_64。
- 建议 4 GB 以上内存,并为运行时、世界和备份留足存储。
- 首次设置、下载核心、导入整合包需要联网。
- CurseForge 整合包暂不能直接导入,需要外部元数据 / API 处理;Modrinth .mrpack 可以。
- 厂商电池策略仍可能结束后台进程——建议关闭电池优化并保持供电。
- PRoot 容器内没有 Java 25(Ubuntu arm64 仓库未提供)。
- CPU 数值受 Android / PRoot 对
/proc的限制,尽力而为。
常见问题
FAQ真的不需要 root?
好友不在同一个局域网,能联机吗?
整合包能导入吗?
Java 版本怎么选?会不会被应用自动改掉?
后台会被系统杀掉吗?
我的世界存档和配置在哪?
servers/ 下,每个服务器一个文件夹。应用内置的 DocumentsProvider 让兼容的文件管理器无需 root 就能访问;进入 PRoot 容器后,同一目录映射为 /srv/mineserve,路径行为保持一致。