你按教程下好了 Paper,启动也看到了 Done,把 192.168.1.23:25565 发给朋友,他回一句“搜不到”。问清楚才知道,他手机上装的是应用商店里的 Minecraft——那是基岩版,和你这台 Java 服说的不是同一种语言。
这不是谁操作错了。Minecraft 现在是两个并行的产品线:Java 版(电脑上的 Minecraft: Java Edition)和基岩版(手机、平板、主机、Windows 应用商店版)。它们共享同一套方块和世界观,但网络协议、账号体系、服务端软件、插件生态几乎完全独立。
所以选核心之前,先弄清朋友用哪一边。这一页把两边拆开对比,也说明 Minexa 的 18 个核心分别属于哪一边、为什么不能直接把两边接起来,以及换边时你要付哪三笔账。
一句话结论:Java 版客户端只能进 Java 服,基岩版只能进基岩服,没有“两边都能进”的通用服。
Java 系默认端口是 TCP 25565,基岩系是 UDP 19132,连端口和传输方式都不一样。
Minexa 的 18 个核心:13 个 Java 系、4 个基岩系、1 个「未知」,Allay 和 PowerNukkitX 是 jar 但属于基岩。
BDS 能跑,但靠 PRoot + box64 转译,要先初始化专用环境、性能约为原生一半,看到它别当成“官方所以更好”。
先记结论:客户端决定你开哪种服#
一句话:Java 版客户端只能进 Java 版服务端,基岩版客户端只能进基岩版服务端。 没有“两边都能进”的通用服,也没有一个开关能把它打开。
所以顺序是:先确认朋友们用什么客户端 → 再决定开哪一边 → 最后才在下载页挑核心。反过来做(先挑一个听说很强的核心,再要求所有人换客户端)通常会在第一天就劝退一半人。
判断朋友用哪一边,两个问题就够:他在电脑上玩还是手机上玩?他打开的那个图标,是从官网下的启动器,还是应用商店/主机商店装的?电脑 + 官网启动器是 Java 版,商店版多半是基岩版。唯一的例外是 Android 上的 PojavLauncher、FCL 这类 Java 版启动器,它们跑的是真正的 Java 版客户端,见后面的误解一。
让朋友在游戏标题画面看一眼:写着 Java Edition 的是 Java 版;只有版本号、没有这个字样的,多半是基岩版。截图比在群里猜十分钟快,也比开到一半才发现阵营错了省事。
七个地方完全不同#
把两边放在一起看,差异是成片的,不是一两处:
| 对比项 | Java 版 | 基岩版 |
|---|---|---|
| 客户端 | 电脑上的 Minecraft: Java Edition(Windows / macOS / Linux) | 手机、平板、主机、Windows 应用商店版 |
| 账号 | Microsoft 账号,服务端用正版验证核对 | Xbox Live 账号 |
| 网络协议 | Java 版自有协议,走 TCP | 基岩版协议(RakNet),走 UDP |
| 默认端口 | 25565(TCP) | 19132(UDP) |
| 服务端软件 | Paper、Fabric、Forge、Vanilla 等 | PowerNukkitX、PocketMine-MP、Allay 等 |
| 插件/模组 | Bukkit 插件 / Fabric·Forge 模组 | 各自体系,Bukkit 插件不能直接用 |
| 世界存档 | Anvil 格式:level.dat + region 下的 .mca | LevelDB 数据库目录(db/) |
两个词先解释清楚,后面会一直用到:
协议:两端约定的“说话方式”。第一句话的格式对不上,服务端就直接断开,不会给你“尝试兼容”的机会。
端口:同一台手机不同程序的门牌号。Java 服默认敲 25565 这扇门,基岩服敲 19132 这扇门,而且一个走 TCP、一个走 UDP。
「正版验证」也顺带说一下:它是 Java 服务端的一个开关(server.properties 里的 online-mode),开启时会拿玩家的会话去官方核对。基岩版走 Xbox Live 那一套,两边的账号体系不通用,别拿 Java 服的正版验证思路去理解基岩服。
为什么两边不能直接进#
因为差异在最底层:登录握手、数据包结构、加密方式全都不同。基岩版客户端连上 Java 服,发的第一个包在 Java 服务端看来就是乱码,连接立刻结束——日志里通常只有一行看不懂的协议错误,端口、防火墙、白名单都查不出问题。
社区里确实有跨平台方案,最常见的是 Geyser:它本身是一个网关程序,夹在基岩客户端和 Java 服务端之间,把基岩协议翻译成 Java 协议。要它工作,你得单独部署它、配端口、处理账号映射,等于再维护一个程序。
Minexa 没有内置 Geyser,也没有 Java/基岩互通的开关或页面。看到“装个插件就互通”的教程,那说的是在 Java 服上另外装 Geyser 一类的第三方方案,不是应用自带功能。想在 Minexa 里做跨平台,只能在应用之外自己搭一套,这份说明书不提供那条路径。
存档也不通用。Java 版的世界是 level.dat 加一堆 .mca 区域文件,基岩版是一个 LevelDB 数据库目录。网上有转换工具,但都是非官方的,转换后红石、实体、区块边界出问题是常态。不要把转换当成备份方案——备份要做的是复制,不是翻译。
Minexa 的 18 个核心分别站哪一边#
下载页的「选择核心类型」一共 18 个选项:前 16 个是常用核心,第 17 个是 BDS,第 18 个是「未知」(用于识别不出来的导入或还原)。它们的阵营是这样分的:
| 阵营 | 核心 | 数量 |
|---|---|---|
| Java 版 | Paper、Purpur、Leaves、Leaf、Spigot、CraftBukkit、Fabric、Forge、NeoForge、Quilt、Vanilla、Velocity、BungeeCord | 13 |
| 基岩版 | PowerNukkitX、PocketMine-MP、Allay、BDS | 4 |
| 未知 | 未知(导入时无法识别核心类型) | 1 |
这张表里有三个容易踩的点:
第一,Allay 和 PowerNukkitX 是 .jar,但它们是基岩服。 它们跑在 JVM 上(Allay 还强制要求 Java 21 以上),可对外说的是基岩协议、端口是 19132 UDP。别看到 jar 就以为能接 Java 客户端。
第二,PocketMine-MP 根本不用 Java。 它是 PHP 写的,用应用里那个约 10 MB 的 PHP 运行时,跟 Java 版本完全无关。所以它不会出现在任何“Java 版本怎么选”的讨论里。
第三,BDS 不跑在 JVM 上,要靠转译。 官方只发布 Linux x86_64 + glibc 的构建,而手机是 arm64 + bionic,所以应用用 PRoot Ubuntu 容器 + box64 把指令逐条翻译过来。它能跑,但必须先到「依赖与环境管理 → BDS」初始化专用环境,且性能约为原生一半。
「未知」只在一种情况下出现:导入一个服务端目录或压缩包,应用认不出里面是哪个核心。它不是可以主动选择的服务端类型,选了也没有下载源。遇到它,先确认导入的包里到底有没有核心文件,见 导入服务器与整合包。
怎么根据朋友的设备选#
按这五步走,不用纠结:
先问一句:你是在电脑上玩,还是手机上玩?电脑上还要再问一句:是从官网下的 Java 版,还是应用商店下的?
电脑 + Java 版:开 Java 服,核心在 Paper、Purpur、Fabric、Forge 里选。纯生存、想装插件用 Paper,见 18 个核心选项总览。
手机、平板、主机、应用商店版:开基岩服,核心在 PowerNukkitX、Allay、PocketMine-MP 里选,见 基岩版核心。
两边都有人:看哪边人多,让少数派换客户端;或者你自己在 Java 服旁边另外部署 Geyser(Minexa 内没有)。
选完再下载:在下载页选对应的核心和版本。基岩核心的胶囊会额外标红字「基岩版 · UDP」,这是提醒你端口和协议都不一样。
选核心时还要注意运行环境:Java 服要装 Java 运行环境,基岩服里 PowerNukkitX 和 Allay 也要 Java,PocketMine 要 PHP。别把 Java 版本要求当成“所有核心都一样”,对应关系见 游戏版本与 Java 版本。
三个最常见的误解#
误解一:手机版就是基岩版。 手机应用商店下的那个确实是基岩版。但 Android 上也能用 PojavLauncher、FCL 这类 Java 版启动器,跑的是真正的 Java 版客户端,照样能进 Java 服。所以“他用手机”不等于“他要基岩服”,得问清他打开的是哪个图标。
误解二:Java 服手机一律进不去。 同上,取决于客户端而不是设备。反过来的说法才永远成立:基岩版客户端进不了 Java 服,无论装在什么设备上。
误解三:基岩服也能装 Bukkit 插件。 不能。Bukkit 那套接口是 Java 服务端(CraftBukkit、Spigot、Paper 一系)提供的,基岩服没有这套接口。在基岩服上找“传送插件”“地皮插件”,找到的 Java 插件一个都装不上,最好的结果是没反应。
下载页选中任何一个核心,胶囊上会写类型;启动后概览的「服务器地址」卡显示的端口也会跟着变——Java 系是 25565 起,基岩系是 19132 起。端口对不上,先怀疑自己开错了阵营。端口怎么改见 服务器配置页。
换边时的三笔账:端口、配置、存档#
如果你后来发现阵营选错了,换边的成本比“重下个核心”高。先看清这三笔账再动手:
| 要换的东西 | Java → 基岩 | 基岩 → Java |
|---|---|---|
| 端口 | 从 TCP 25565 换成 UDP 19132,路由器/防火墙规则要重配 | 反过来,UDP 规则作废 |
| 配置文件 | server.properties 换成 pnx.yml / server-settings.yml,键名不通用 | 反过来,基岩配置项在 properties 里没有对应 |
| 世界存档 | Anvil 存档基岩核心读不了 | LevelDB 存档 Java 核心读不了 |
| 插件/模组 | Bukkit 插件全部作废 | 基岩插件/.phar 全部作废 |
所以换阵营等于重开一个服:旧服留着当参考,新服从头配。唯一能带过去的只有玩法设想和玩家名单,端口、配置、存档、插件都得重做。
换核心、换阵营、换端口,都必须先停服。运行中替换核心文件,进程会读到半截文件;运行中改端口,服务端还占着旧端口,新端口也不会开始监听。先「停止」,等状态真的变成“未运行”,再动手。
你能说出朋友们用的是 Java 版还是基岩版客户端,而不是“手机/电脑”。
下载页里选中的核心类型,和朋友的客户端阵营一致(Java 系看得到 25565,基岩系看得到 19132)。
概览「服务器地址」卡上的端口,与你选的阵营对得上。
知道 BDS 需要先初始化专用环境,没有把它当成“官方推荐”。
改过端口或换过核心后,是停服再启动的,不是热改。
下一步#
决定开 Java 服:18 个核心选项总览
还不知道手机带不带得动:开服前置准备清单