Skip to content

开发流程与 Apollo 框架 ​

准备工作做完,正式进入 Apollo 开发前,先建立两个全局认知:从入驻到上线的四个阶段,以及 Apollo 集群的六大服务。理解了这两点,后面的开发才不会迷路。

四个阶段 ​

从入驻到上线,分四个阶段:

准备阶段 ──▶ 开发阶段 ──▶ 审核阶段 ──▶ 上线阶段
成为开发者    开发机上开发   发放正式物理机   正式物理机运营
入驻+开发机   提审(10工作日)  搭建+提审通过    维护+申请推荐
阶段做什么机器
准备成为开发者、入驻申请、提供固定 IP + 公钥获取开发机—
开发在开发机上部署、开发游戏内容;完成后在平台发布游戏提审开发机
审核提审通过后官方发正式物理机,在其上搭建正式环境再提审正式物理机
上线用正式物理机保证性能,日常维护,可申请上新/推荐增加曝光正式物理机

两个审核周期

开发阶段提审后官方 10 个工作日内给结果。审核通过发正式物理机,正式环境搭好再提审、通过即上线。

Apollo 框架:六大服务 ​

Apollo 是多进程集群,六类服务各司其职。理解每类服务的职责,才知道自己的功能该写在哪:

服务全称职责开发者能开发吗
DB数据库全局存储,所有游戏服共享(Redis/MySQL/MongoDB)配置选型
proxy代理服加解密、压缩、登录认证、消息转发、维持连接❌ 不可开发
game游戏服承载具体玩法,一个玩家同时只在一个 game 或 lobby✅ 玩法开发
lobby大厅服大厅功能(选服 NPC、副本入口等)✅ 大厅开发
master控制服管理其他服,全服单点,对外提供 HTTP(GM 指令入口)✅ 运营指令
service功能服分布式单点服务(公会、全服 boss、全服匹配)✅ 全局功能

DB 怎么选 ​

  • Redis:缓存临时数据,如玩家在线状态、当日在线时长
  • MySQL / MongoDB:持久化存储游戏数据

按需求自选,可组合使用。

master 的 HTTP 与 GM 指令 ​

master 对外提供 HTTP 服务,是运营指令(GM 指令)入口。以禁言为例:

  1. 开发者用 HTTP 给 master 发禁言请求
  2. master 把禁言信息记录到 DB,再通知玩家所在服禁止发言
  3. 玩家下次登录时从 DB 读禁言信息,判断能否聊天

service 的分布式单点 ​

service 处理跨服的全局逻辑。以全服匹配为例:

  1. lobby1 / lobby2 的玩家申请匹配 → 向 service 提交
  2. service 维护匹配队列,定时按等级、战力匹配
  3. 匹配成功后把玩家分配到指定的 pvp game 服

一个完整需求示例 ​

需求:玩家在大厅签到领奖,可玩「起床战争」和「对战 PvP」(一场最多 2 人、等级差 ≤ 2),并提供禁言指令。开发者要写的 Mod 分工:

服开发内容
master mod禁言指令:记录到 MySQL,通知玩家所在服
service mod全服匹配:维护队列,按等级匹配,分配到 pvp 服
lobby mod签到(MySQL 记录)、两个选服 NPC(进起床战争 / 申请匹配)、禁言生效
game mod起床战争、对战 PvP 玩法;接收禁言消息;登录读数据判断禁言

引擎做什么、你做什么

玩家分配到哪个 lobby、HTTP 请求接收转发、切服底层——这些引擎(Apollo 框架)自动完成;签到逻辑、匹配算法、玩法、禁言处理——这些你的 Mod来实现。分清边界,只写业务逻辑。


理解了框架,下一篇服务器 Mod 结构——网络游戏 Mod 的目录到底长什么样。回到基岩版网络游戏首页。