Minexa说明书
基础服务端基础

Java 版与基岩版服务端有什么区别

Java 版和基岩版不是“同一个游戏的两个画质档”;协议、账号、端口、插件都不同,选错核心朋友就进不来。

你按教程下好了 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 下的 .mcaLevelDB 数据库目录(db/)

两个词先解释清楚,后面会一直用到:

  • 协议:两端约定的“说话方式”。第一句话的格式对不上,服务端就直接断开,不会给你“尝试兼容”的机会。

  • 端口:同一台手机不同程序的门牌号。Java 服默认敲 25565 这扇门,基岩服敲 19132 这扇门,而且一个走 TCP、一个走 UDP。

「正版验证」也顺带说一下:它是 Java 服务端的一个开关(server.properties 里的 online-mode),开启时会拿玩家的会话去官方核对。基岩版走 Xbox Live 那一套,两边的账号体系不通用,别拿 Java 服的正版验证思路去理解基岩服。

为什么两边不能直接进#

因为差异在最底层:登录握手、数据包结构、加密方式全都不同。基岩版客户端连上 Java 服,发的第一个包在 Java 服务端看来就是乱码,连接立刻结束——日志里通常只有一行看不懂的协议错误,端口、防火墙、白名单都查不出问题。

社区里确实有跨平台方案,最常见的是 Geyser:它本身是一个网关程序,夹在基岩客户端和 Java 服务端之间,把基岩协议翻译成 Java 协议。要它工作,你得单独部署它、配端口、处理账号映射,等于再维护一个程序。

别在 Minexa 里找“互通开关”

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、BungeeCord13
基岩版PowerNukkitX、PocketMine-MP、Allay、BDS4
未知未知(导入时无法识别核心类型)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」初始化专用环境,且性能约为原生一半。

「未知」不是一种核心

「未知」只在一种情况下出现:导入一个服务端目录或压缩包,应用认不出里面是哪个核心。它不是可以主动选择的服务端类型,选了也没有下载源。遇到它,先确认导入的包里到底有没有核心文件,见 导入服务器与整合包。

怎么根据朋友的设备选#

按这五步走,不用纠结:

  1. 先问一句:你是在电脑上玩,还是手机上玩?电脑上还要再问一句:是从官网下的 Java 版,还是应用商店下的?

  2. 电脑 + Java 版:开 Java 服,核心在 Paper、Purpur、Fabric、Forge 里选。纯生存、想装插件用 Paper,见 18 个核心选项总览。

  3. 手机、平板、主机、应用商店版:开基岩服,核心在 PowerNukkitX、Allay、PocketMine-MP 里选,见 基岩版核心。

  4. 两边都有人:看哪边人多,让少数派换客户端;或者你自己在 Java 服旁边另外部署 Geyser(Minexa 内没有)。

  5. 选完再下载:在下载页选对应的核心和版本。基岩核心的胶囊会额外标红字「基岩版 · 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 插件一个都装不上,最好的结果是没反应。

在 Minexa 里怎么快速确认

下载页选中任何一个核心,胶囊上会写类型;启动后概览的「服务器地址」卡显示的端口也会跟着变——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 需要先初始化专用环境,没有把它当成“官方推荐”。

  • 改过端口或换过核心后,是停服再启动的,不是热改。

下一步#

读到这儿了,给你点个赞。如果这页内容帮你解决了问题,说明说明书的方向是对的;如果发现错误、过时信息或看不懂的地方,欢迎到 GitHub Issues 告诉我们。

⚡ 回到极速开服 📖 查术语表