posts

游戏服务器端专题导航:从 300 篇架构笔记到 Skynet、Pitaya 与工程实战

这是 content/posts/game/server 这棵树的入口导航。它本身不放文章,而是把 300 篇后代内容按三条主线重新编排:170 篇实战工程笔记、20 篇 Skynet 与 Pitaya 框架笔记,以及 2021 年 2 月到 12 月共 110 篇月度架构笔记。每一节都给出子专题 section 入口、覆盖主题与适用场景,帮助后端同学按「框架选型、工程落地、单点问题」三种路径快速定位,而不是在时间线里逐篇翻。

这个目录是「在线游戏服务端」这一主题的总入口。它自己不存放文章,而是作为容器,把 300 篇后代内容按三条主线归拢:一是 170 篇实战工程笔记,覆盖从登录鉴权、房间调度、战斗结算到运维排障的完整链路;二是 20 篇框架笔记,聚焦 Skynet 与 Pitaya 两个 Lua 系服务端框架;三是 2021 年 2 月到 12 月共 110 篇月度架构笔记,每篇都从「一个看似边缘的功能为什么会触到核心状态」讲起。它适合正在做游戏后端的技术负责人、准备从单体服走向分布式的中级工程师,以及需要给团队定架构规范的主程。

使用方式:先看下面的速览确定自己处在哪个阶段,再按「工程实践、框架、月度笔记」三条入口跳转。工程实践适合边做边查,框架适合选型期通读,月度笔记适合按时间顺序补齐对某一类系统(奖励、匹配、背包、活动、同步)的完整认知。所有子专题都在同一棵树内,不涉及跨站跳转。

专题速览

项目内容
本目录直接文章0 篇,纯容器目录
后代文章合计300 篇
子专题数14 个(3 个工程与框架专题 + 11 个月度专题)
时间跨度2021-02 至 2021-12,覆盖长线手游服务端从立项到稳定运营的完整周期
内容形态问题驱动型架构笔记,先讲清一个真实事故或边界,再给数据模型、状态机与取舍
覆盖方向登录与网关、匹配与排队、房间与副本、战斗结算、背包与交易、活动与运营、跨服与合区、观测与排障
适用读者游戏后端工程师、服务端主程、技术负责人,以及从 Web 后端转入游戏行业的同学
阅读方式工程实践按需查,框架专题选型期通读,月度笔记按主题串读
关联技术栈Lua 系框架(Skynet、Pitaya)为主,工程实践部分也覆盖通用分布式与数据层议题
维护方式新增文章只补对应子专题,本页仅维护子专题入口与月度关键词,不逐篇罗列
与其他专题的关系上游是游戏专题总览,下游是 14 个子专题;跨领域的客户端与设计问题请走各自专题
使用提示本页不收录文章正文,若发现链接失效,应回到对应子专题核对 slug 是否变更

工程实践与框架

这一组是「怎么把服务端做出来」的三块地基。实战工程专题体量最大,回答的是真实项目里反复出现的工程问题;Skynet 与 Pitaya 两个专题则分别对应「轻量 Actor 框架」和「面向全球服的分布式框架」两条技术路线,适合在选型或迁移时对照阅读。

子专题规模一句话核心内容
游戏服务器实战工程170 篇从登录、网关、匹配、房间到背包、活动、运维的全链路工程笔记,是这棵树里最厚的一层
Skynet 服务端框架17 篇围绕 Actor 模型、消息调度、服务编排与热更,讲清 Skynet 在长线项目里的用法与边界
Pitaya 分布式框架3 篇面向多区服与全球同服的分布式框架笔记,覆盖路由、会话与集群扩展的基本形态

2021 年月度架构笔记

这 11 个月度专题是同一写作计划的连续产物,每月 10 篇,合计 110 篇。它们不按系统分类,而是按时间推进,读起来像一份「服务端架构问题年表」:从 2 月的奖励与匹配,到 12 月的货币托管与 RPC 预算,几乎每个月都对应一类线上争议的收敛过程。想补齐某个系统的完整视角,可以按月读;想快速定位,用下面的关键词列。

月份专题篇数主题关键词
2021 年 2 月10 篇首胜奖励、伤害统计、表情广播、宠物成长、家园拜访、PVP 隐藏分、职业配额匹配、传送门、UGC 地图、分线切换
2021 年 3 月10 篇拍卖冻结、战斗观测快照、命令回执、跨服排队令牌、活动脚本预算、道具堆叠、改名索引、剧情触发、组队重连、资源刷新调度
2021 年 4 月10 篇防沉迷时长、外观组合、结算校验流水线、人机隔离、跨场景聊天、公会权限、掉落表版本、地图标记订阅、体力时钟、新手检查点
2021 年 5 月10 篇战斗观测采样、跨服报名、坐骑同步、NPC 对话状态、语音令牌、玩家设置同步、奖励预览契约、场景门禁、赛季补发、临时属性快照
2021 年 6 月10 篇权威随机抽取、玩法日历、公会贡献账本、实例暖池、道具绑定、匹配准备共识、在线状态对账、称号读模型、任务事件背压、投降投票
2021 年 7 月10 篇战斗旁路计算、补丁门控、GM 双人审批、库存预占、活动状态审计、队伍跨场景跟随、命令日志压缩、热对象拆分、会话票据续期、对象租约
2021 年 8 月10 篇技能效果流水线、批量领奖、副本进度恢复、好友邀请一致性、通知优先级、排行榜写缓冲、实时指令整形、分片缓存协同、空间事件索引、分区交接
2021 年 9 月10 篇账号变更串行化、回放确定性、输入仲裁、配置灰度护栏、实例调度约束、维护排水、消息乱序缓冲、运营熔断、房间快照归档、状态校验和对账
2021 年 10 月10 篇成就触发聚合、Boss 仇恨表、协作解谜状态机、外观装配校验、网关连接排空、战争迷雾可见性、匹配处罚、制作流水线、配装锁定、世界天气控制面
2021 年 11 月10 篇战场目标计分、客户端能力协商、伙伴指令归属、跨模式成长归一、调试命令沙箱、转服预检、私密房邀请令牌、PVE AI 导演、场景物件持久化、社交隐私
2021 年 12 月10 篇跨分片邮件路由、货币预占托管、实体兴趣订阅、公会战报名锁定、NPC 刷新租约、举报证据流水线、副本锁定存档、RPC 超时预算、赛季商店库存、技能打断

如何选择入口

推荐阅读路径

路径一 技术负责人:先定架构分层与选型

先读工程实践专题里的网关、会话与分布式调度相关篇目,明确长连接、房间进程与数据层各自的责任边界;再对照 Skynet 与 Pitaya 两个框架专题,判断团队应该自研轻量 Actor 框架还是直接采用分布式框架;最后用 2021 年 9 月的实例调度约束、维护排水与运营熔断三篇,把「上线之后怎么安全变更」这件事在设计期就留出接口。

路径二 业务后端:按系统补齐完整视角

如果你正在做奖励、背包或交易,先读 2 月首胜奖励、3 月拍卖冻结、6 月道具绑定与 7 月库存预占,再补 12 月货币预占托管,可以拿到一条从「单次发奖」到「跨系统资产一致」的完整链路;如果你在做匹配与对局,从 2 月职业配额匹配、6 月准备确认、10 月匹配处罚读到 12 月公会战报名锁定,基本覆盖竞技系统的全部争议点。

路径三 排障与运维:从观测到止血

先读 3 月战斗观测快照、9 月房间快照归档与状态校验和对账,理解「事后能不能解释一局」需要哪些事实层;再读 9 月运营熔断开关与 10 月网关连接排空,掌握出事时的止血顺序;最后用 12 月的 RPC 超时预算把跨服务调用的治理口径固定下来。

相关专题

全部文章 Game Golang Saas Rust 游戏开发 客户端开发 GameDev Products Lua 写作

游戏服务器体力服务架构设计

体力系统看起来很小,却是很多手游的核心节奏控制器。玩家自然恢复、购买、领取活动赠送、看广告补体力、进入副本扣体力、失败返还,都会经过它。实现粗糙时,会出现离线恢复不准、扣减重复、活动补偿覆盖上限、客户端显示和服务端不一致。体力服务架构要让体力成为可计算、可审计、可补偿的资源,而不是一个随手改的字段。

8 分钟阅读

游戏组队与小队服务架构设计

问题背景 组队服务看起来像社交功能,实际却是很多玩法的入口控制器。副本、排位、世界 Boss、语音房、跨服活动都要问它:这个玩家能不能进,队伍是否满员,队长是谁,成员是否在线,是否已经锁定匹配。若组队状态散落在客户端、聊天服、匹配服和副本服之间,常见事故就是玩家被踢后仍进入副本,队长掉线后无人能开始,邀请过期但仍...

12 分钟阅读

游戏服务器战斗命令管线架构设计

问题背景 项目里的战斗服一开始只是一个循环:网关收到玩家操作,转给房间进程,房间进程立刻改状态并广播。内测前两周,这套逻辑看起来很顺,直到策划加了位移技能、霸体、连击修正和观战。某天晚上,玩家反馈“我明明闪避了却被打中”,客服只能看到最终血量,研发只能翻几万行日志,最后发现同一帧里有三类命令被不同协程交错处理。

13 分钟阅读