这个目录是 2021 年 7 月的游戏服务端架构笔记合集,10 篇,本月的统一开场是「问题通常藏在正常路径之外」。作者用这一批笔记说明:真正让线上出事的,往往不是主流程写错了,而是主流程之外的那些旁路——统计、日志、后台工具、补偿脚本、热对象,它们在高峰期会反过来挤占核心资源。
具体到本月,几条主线分别是:战斗主循环、房间日志与热对象处理「别让非权威计算挤占 tick 预算」,会话票据与补丁门控处理「长连接与客户端版本的安全边界」,库存预占、活动审计与 GM 审批处理「资产与高风险操作的可控」,队伍跟随与世界对象租约则处理「跨场景与动态对象的归属」。
它适合正在做战斗服、网关、运维工具与资产系统的服务端工程师,也适合需要给团队定「主循环只做权威裁决」「高风险操作必须双人」规范的主程。使用方式:先看速览确定系统归属,再按四个主题小节跳转;每篇都从一个真实事故或性能瓶颈讲起,落到拆分方案、租约模型与审批流程。
需要说明的是,本页只做导航,不重复文章内容。所有链接都指向文章的真实根级 slug,四个分组按「读者要解决的系统问题」划分,同一篇只归入最贴近的一组,以免导航膨胀成重复列表。
专题速览
| 项目 | 内容 |
|---|---|
| 本目录直接文章 | 10 篇 |
| 时间跨度 | 2021-07-02 至 2021-07-29 |
| 主题分组 | 4 个(战斗主循环与房间日志、会话与客户端门控、资产预占与运营审计、队伍跟随与世界对象租约) |
| 内容形态 | 问题驱动型架构笔记,先给瓶颈或事故,再给拆分方案与租约模型 |
| 覆盖方向 | 旁路计算、日志压缩、热对象拆分、会话续期、版本门控、资产预占 |
| 适用读者 | 游戏后端工程师、服务端主程、负责战斗服与运维工具的技术负责人 |
| 前置知识 | 了解基本的进程隔离、日志压缩与租约/所有权概念即可 |
| 阅读建议 | 按主题跳转,四组相互独立;主循环与租约两组建议优先阅读 |
| 单篇篇幅 | 每篇约 3000 至 5000 字,含拆分方案、租约状态与审批流程 |
| 复用价值 | 旁路拆分、租约与双人审批三类模式可迁移到任何高负载与高风险系统 |
| 相关月份 | 前接 2021 年 6 月的随机与日历主题,后续为 8 月的技能流水线与分区交接主题 |
| 维护方式 | 新增文章时只补主题小节与速查表,不移动既有文件,保证公开 URL 稳定 |
战斗主循环与房间日志
这一组处理「别让非权威计算挤占 tick 预算」。战斗主循环应该只做权威裁决,统计、报表、风险特征、观战摘要与 AI 建议都应该走旁路;房间命令日志是排障基础,但全量永久保存会让存储失控,需要在保留可回放能力的同时压掉低价值冗余;世界 Boss 与热门商人这类热对象如果和普通实体共用主线程,会拖慢整张地图。
三篇的共同结论是:把非核心的东西从关键路径上拆出去,而不是想办法把它做得更快。
| 文章 | 一句话核心内容 |
|---|---|
| 战斗服旁路计算架构:统计、AI 辅助和反作弊别挤占主循环 | 把非权威计算从战斗主循环拆出,保证高峰时主循环仍然稳定 |
| 房间命令日志压缩架构:保留可回放能力又不让存储爆炸 | 对命令日志做压缩与分级留存,保留关键可重放能力并压掉冗余 |
| 场景热对象拆分架构:一个世界 Boss 为什么会拖慢整张地图 | 把局部热点从场景大循环隔离,同时保持状态对周围玩家可见 |
会话与客户端门控
这一组处理「长连接与客户端版本的安全边界」。游戏会话会持续很久,中途经历弱网、切后台、网关迁移、顶号与版本更新,如果票据只在登录时校验一次,长连接就成了安全盲区;客户端补丁与服务端能力不对齐时,问题会非常隐蔽,因此需要在进入核心玩法前确认版本、资源、脚本与服务端能力都在兼容范围内。
两篇合起来说明:长连接与客户端版本都需要持续校验,而不是一次性准入。
| 文章 | 一句话核心内容 |
|---|---|
| 游戏会话票据续期架构:断线重连、顶号和长连接安全怎么一起处理 | 设计可续期的会话票据,兼顾断线重连、顶号与长连接安全 |
| 客户端补丁门控架构:版本、资源和服务器能力如何对齐 | 在进入核心玩法前校验版本、资源、脚本与服务端能力的一致性 |
资产预占与运营审计
这一组处理「资产与高风险操作的可控」。背包里的同一件物品可能同时被交易、强化与任务盯上,只靠最终扣除时检查一次会在并发与重试下出现重复使用,因此需要在进入高风险流程前先锁定;运营活动有草稿、审批、预热、开启、暂停、恢复、结算与归档多个阶段,每一步都要可查可回滚;GM 后台的封禁、补偿、改数与回滚能力则必须走双人审批。
三篇的共同点是:把「不可逆或高风险的动作」变成有预览、有确认、有审计、有回滚的受控流程。
| 文章 | 一句话核心内容 |
|---|---|
| 库存预占架构:交易、合成和消耗如何避免同一件物品被用两次 | 用预占锁定物品,流程结束后确认消耗或释放,避免并发重复使用 |
| 运营活动状态机审计架构:活动从预热到结算每一步都要可查 | 把活动生命周期做成可审计状态机,记录谁在何时切到哪个状态 |
| GM 操作双人审批架构:高风险后台工具不能只靠信任 | 为高风险 GM 操作引入预览、双人确认、审计与回滚 |
队伍跟随与世界对象租约
这一组处理「跨场景与动态对象的归属」。组队进入副本跨越队伍服务、场景服务、副本调度与客户端迁移,队长进去了队友没进去、席位预留了成员断线,都是常见边界;开放世界里的宝箱、机关与临时 Boss 并非永久存在,多个场景进程与事件控制器都可能想操作它,因此需要租约来明确「谁负责」。
两篇合起来说明:跨服务协作必须先确定唯一负责人,再谈协作细节。
| 文章 | 一句话核心内容 |
|---|---|
| 队伍跨场景跟随架构:队长进副本时队友为什么不能丢 | 协调队伍、场景与副本调度,处理席位预留、断线与版本不兼容 |
| 世界对象租约架构:宝箱、机关和临时 Boss 谁来负责 | 用租约明确动态对象的负责人,处理迁移、续约与接管 |
本月主题脉络
7 月的十篇笔记有一条共同主线:把非核心成本从关键路径上移走。旁路计算移走统计与风控,日志压缩移走存储压力,热对象拆分移走局部热点,库存预占把并发冲突提前暴露,活动审计与 GM 审批把风险操作移出即时执行路径。凡是「先做完再说」的设计,最终都会在高峰期暴露。
第二条主线是「所有权必须唯一」。世界对象租约、队伍跨场景跟随、库存预占,本质都是同一个问题的不同形态:一件东西在同一时间只能由一个角色负责,否则就会出现重复刷新、重复进入与重复消耗。
第三条主线是「高风险操作要有流程」。双人审批与活动状态机审计说明,后台能力越强,越需要把执行拆成预览、确认、执行与回滚几个可审计的阶段。
本月文章速查
按发布时间排列,便于对照当月写作节奏与主题推进顺序。表格里的分组与本页上面的四个主题小节一一对应。
| 日期 | 文章 | 所属分组 |
|---|---|---|
| 2021-07-02 | 游戏会话票据续期架构 | 会话与客户端门控 |
| 2021-07-05 | 运营活动状态机审计架构 | 资产预占与运营审计 |
| 2021-07-08 | 世界对象租约架构 | 队伍跟随与世界对象租约 |
| 2021-07-10 | 客户端补丁门控架构 | 会话与客户端门控 |
| 2021-07-13 | 房间命令日志压缩架构 | 战斗主循环与房间日志 |
| 2021-07-16 | 战斗服旁路计算架构 | 战斗主循环与房间日志 |
| 2021-07-19 | 库存预占架构 | 资产预占与运营审计 |
| 2021-07-22 | 队伍跨场景跟随架构 | 队伍跟随与世界对象租约 |
| 2021-07-25 | GM 操作双人审批架构 | 资产预占与运营审计 |
| 2021-07-29 | 场景热对象拆分架构 | 战斗主循环与房间日志 |
推荐阅读路径
路径一 做战斗服与性能优化的同学
先读战斗服旁路计算与场景热对象拆分,建立「主循环只做权威裁决」的认知。再读房间命令日志压缩,理解排障能力与存储成本如何平衡;最后读 2021 年 8 月的技能效果结算流水线与 2021 年 8 月的排行榜写缓冲,把主循环压力来源逐个拆掉。
路径二 做网关与客户端兼容的同学
从会话票据续期进入,掌握长连接安全与顶号处理;再读客户端补丁门控,理解版本与能力对齐的必要性。最后读 2021 年 11 月的客户端能力协商,把版本判断从单一版本号升级为能力协商。
路径三 做资产与运维工具的同学
先读库存预占与 GM 双人审批,建立「高风险动作要有流程」的认知。再读 2021 年 9 月的运营熔断开关与 2021 年 12 月的货币预占托管,把止血能力与资产托管补齐。
交叉阅读提示
- 库存预占与 2021 年 3 月的拍卖冻结是同一模式的两个场景,建议对照阅读。
- 世界对象租约与 2021 年 12 月的 NPC 刷新租约主题一致,建议连续阅读以覆盖动态对象的完整生命周期。
- 运营活动状态机审计与 2021 年 9 月的配置灰度护栏都属于变更治理,建议一起看。
相关专题
- 游戏服务器专题总览,本目录所在的上层专题,可按框架、工程与月度三条主线查找
- 2021 年 6 月服务器笔记,本月的上一期,聚焦权威随机与准备共识
- 2021 年 8 月服务器笔记,本月的下一期,转向技能流水线与世界分区交接
- 游戏服务器实战工程,更偏工程落地的同主题笔记合集
- Skynet 服务端框架,从 Actor 模型角度理解旁路计算与进程隔离的实现方式
- 游戏设计专题,从玩法与数值侧理解这些服务端约束的来由