Skip to content

Spigot 开服(Apollo2) ​

用 Spigot 框架搭建 Java 版网络游戏,让玩家通过基岩版手机客户端进入 Java 版服务器游玩。客户端玩法仍用基岩版 ModSDK 和附加包 Json 做,与中国版组件开发一致(部分功能可能不生效)。

术语区分:Apollo2 ≠ 第三方 Spigot+Geyser

本篇讲的「Spigot 开服」是官方框架 Apollo2:走 MC Studio 部署,Master/Proxy 由官方集群托管,Geyser 内置于 proxy,只需在 Studio 里配置。它和官方 Apollo(Python)同属官方托管方案,区别只是 Java 服部分用 Spigot。

而本章总览里说的「Spigot + Geyser」作为第三方开服工具,指开发者自行部署整套 Geyser+BungeeCord+Spigot(不走 MC Studio 托管),与 Nukkit-MOT、Allay 同属第三方自建路线。二者别混淆——本篇内容属于 Apollo2(官方)。

框架结构 ​

整体分两部分,用 BungeeMaster 插件把上下打通:

负载/协议转换部分
├── Master 服   # 同 Apollo,全局控制
├── Proxy 服    # 每个 proxy 内置一个 Geyser
└── Geyser      # 基岩版协议 ⇄ Java 版协议转换
        ↕ (BungeeMaster 插件桥接)
Java 服部分(相当于 Apollo 的 lobby+game)
├── BC 服(BungeeCord)  # 切服、转发;装 BungeeMaster、SpigotMaster
├── Spigot 服            # 实际游玩/世界数据;装 ViaVersion
└── DB / 其他第三方应用(可选)
  • Geyser:把基岩版协议转成 Java 版协议,是基岩版客户端能进 Java 服的关键。
  • BungeeMaster:装在 BC 服,建立 BC 服 ↔ Master 服通信。Java 服对上层是"黑盒",靠它可扩展地连起来。

版本要求 ​

组件版本说明
Spigot1.12.2其他版本不保证运行、官方不支持
基岩版客户端中国版基岩版(约 1.18)不支持 forge,用 ModSDK 替代
Javajava8 跑 Spigot机器同时提供 java8/java18

部署流程 ​

前置:先完成入驻、申请开发机、连上开发机、访问白名单。

Java 服部分 ​

  1. 用你自己的 Java 服框架部署(必须有 BC 服)
  2. Spigot 服 plugins/ 放 ViaVersion(兼容 1.18 客户端)

    ViaVersion 需特调版本

    官网版 ViaVersion 转 1.20.5 头颅会过滤非法昵称信息,导致自定义方块和中文昵称头颅出错。用 MCS 内容库的 ViaVersion-4.10.2 或自行修改,别直接用官网版。

  3. Spigot 服 plugins/ 放 SpigotMaster;BC 服 plugins/ 放 BungeeMaster
  4. BC 服 plugins/BungeeMaster/config.yml 配置:
    • server_id:取值 [12000, 14000),单次部署唯一
    • master_port:[29000, 31000),BC 监听 Master 连接用(别和 query_port 冲突)
  5. BC 服 config.yml 配 query_port([29000,31000),监听 Geyser 连接),host 冒号后端口与 query_port 保持一致

负载/协议转换部分(MC Studio) ​

  1. MC Studio【基岩版服务器 → 新建 → 空白 Spigot 服】→【更多 → 服务器配置】
  2. 代理服与协议服是同一进程:只调 proxy 数量(geyser 数=proxy 数)
    • geyser 单服最大人数:建议 200~300,正式服务必设上限避免整服卡死
    • geyser 单进程内存:0=默认(开发/审核 1G,正式 6G,6G 约承载 500 人)
  3. BC 服配置按 Java 服的 BC 数量填:BC 端口=query_port,控制服端口=master_port
  4. 部署 → 看日志 → 工具箱开 ModPC 开发包测试

多代理/多 BC ​

  • 代理服配置填数量即部署多个(proxy 与 geyser 一对一),可跨机器
  • 多 BC:各机器部署 BC,分别配唯一的 server_id/master_port/query_port;Studio【增加 BC 服】填各 BC 的 ip 和三端口;重新部署,Master 平均分配玩家

性能参考 ​

一个 proxy 支撑约 300 玩家跑图+连续登录流畅运行,此时 geyser 建议 4G 内存上限,整进程最多占 5G 内存、5 核 CPU。

商城与自定义内容 ​

Spigot 服的商城插件、自定义物品/方块/实体、Python 通信原理,都有专门 Demo(自定义物品/实体/方块、Python 通信、ServerForm、商城)。核心 API 见 SpigotMasterAPI / SpigotMasterEvent 文档。


下一条路线Nukkit-MOT 开服。回到基岩版网络游戏首页。