Tiny MC Server
● v1.2.2 · 开源免费

在手机上跑 Minecraft Java 版
服务端

内置精简后的 OpenJDK 运行时,可让 Android 设备直接创建并运行 Vanilla、Paper、Purpur、Folia 服务端 —— 不需要 root,不依赖 Termux,也不涉及任何客户端渲染。

Android 8.0+ arm64-v8a Kotlin · Jetpack Compose AGPL-3.0

特性

把开服这件事,从敲命令变成点几下。

⚡

一键创建实例

选择服务端类型与游戏版本,自动匹配运行时、自动下载对应服务端 jar。

🖥️

控制台

实时日志、发送命令、就绪检查、崩溃诊断。

📁

文件管理

浏览服务端目录,编辑 server.properties(带中文标签)与文本文件,可识别二进制文件。

🧩

插件管理

从 Modrinth 搜索并安装插件,下载带完整性校验、进度显示与取消。

💾

备份与玩家管理

实例备份 / 还原,白名单 / OP / 封禁管理。

🎨

皮肤工坊

以「种子 + 风格」确定性生成 64×64 皮肤,可导出 PNG。

🔒

前台服务常驻

前台服务 + WakeLock + WifiLock + 电池优化白名单引导,服务端持续运行。

🌐

多语言

简体中文 / English / Français / Español / Русский,切换即时生效,无需重启。

🛡️

日志分享脱敏

复制日志时自动隐藏玩家 IP、UUID 中段与玩家名,公开求助更安心。

🔄

应用内更新检查

设置内查看最新版本与完整更新日志,并可直达下载,无需自己去仓库翻。

快速开始

四步,手机上就能开服。

新建实例

打开应用,点击右下角 + 新建实例。

填写配置

填写名称,选择服务端类型(Vanilla / Paper / Purpur / Folia)与游戏版本,设置内存,并同意 EULA。

创建并下载

点击「创建并下载服务端」:应用会自动解压运行时并下载服务端 jar(带进度提示),完成后进入控制台。

启动

在控制台点击「启动」即可运行。若下载中断,可在控制台的「就绪检查」中单独重试运行时或服务端。

安装:从 Releases 页面下载 TinyMCserver-<版本>.apk,在设备上允许安装来自未知来源的应用,然后安装。

支持的服务端

本应用不内置任何服务端程序,所有 jar 均在创建实例时按需下载。

类型来源
VanillaMojang launchermeta manifest
Paper / Foliafill.papermc.io v3
Purpurapi.purpurmc.org v2
可在「设置 → 高级」中配置镜像或代理前缀。

内置运行时(JRE)

内置三个版本的 OpenJDK 运行时(aarch64),来源为 Termux 官方仓库。

游戏版本运行时
26.x 及以后JRE 25
1.20.5 – 1.21.xJRE 21
1.17 – 1.20.4JRE 17

系统要求

项要求
系统版本Android 8.0(API 26)及以上
CPU 架构arm64-v8a
存储取决于服务端与 JRE,通常 200 MB 以上

🎨 皮肤工坊

内置的皮肤生成器,为 Minecraft Java 版生成 64×64 的双层皮肤。 入口:首页右上角(设置按钮左侧)。

输入种子

输入任意种子(或点击「换一个」随机生成)。

选择风格

选择风格,或选「自动」。

预览与导出

实时预览生成结果,并可导出为 PNG。

相同「种子 + 风格」始终生成同一张皮肤,便于分享与复现。

风格:

自动旅人兜帽铁卫 秘术游侠义体影刃街头

实现:约束式程序化生成 —— 以 xorshift32 作为随机源, 通过色相和谐关系、饱和度 / 明度护栏与明度对比检查来约束配色。纯 Kotlin 实现,不依赖第三方代码。

常见问题

先回答最常被问的几个。

需要 root 吗?需要 Termux 吗?

都不需要。应用内置精简后的 OpenJDK 运行时,直接通过 ProcessBuilder 启动 java -jar <server.jar> nogui(headless)运行服务端,不依赖任何外部终端环境。

APK 为什么有 100 多 MB?

因为内置了三个版本的 OpenJDK 运行时(JRE 17 / 21 / 25,aarch64),以 tar.xz 归档形式随 APK 分发。首次使用某个版本时才解压到应用私有目录(先解压到暂存目录,成功后再原子替换)。

数据存在哪里?需要存储权限吗?

所有数据都保存在应用私有目录,无需任何存储权限:
/data/data/dev.tinymcserver.app/ 下的 files/jre/jre{major}/(运行时)与 files/instances/<id>/(server.jar、eula.txt、server.properties、plugins/、world/、backups/)。

服务端能在后台持续运行吗?

运行时会启动前台服务(foregroundServiceType="dataSync|specialUse",stopWithTask=false)。通知栏显示服务端类型、版本、运行时、端口、玩家数与内存占用;运行期间持有 PARTIAL_WAKE_LOCK 与 WIFI_LOCK。建议在系统设置中把本应用加入电池优化白名单,以获得更稳定的运行。

内置 JRE 的版权与来源?

来自 Termux 官方仓库,以「聚合分发」方式随 APK 分发。本项目对其做了裁剪,并以自研实现替换了其中两个原生库:libandroid-shmem(SysV 共享内存,memfd_create + mmap 实现)与 libandroid-spawn(posix_spawn)。两个库源码位于 tools/jrelibs/,使用 Zig 交叉编译。完整版权与来源见仓库 NOTICE。

开源许可?

GNU AGPL v3.0,全文见仓库 LICENSE。第三方组件来源与版权见 NOTICE。

现在就在手机上开一局

下载 APK,四步建服,把世界装进口袋。