《游戏服务端编程实践》目录

1.1.1 为什么需要服务器 1.1.2 客户端与服务端的职责划分 * 1.1.3 状态保持与逻辑权威

《游戏服务端编程实践》——章节大纲文档

第一篇 基础与准备篇:从 0 到 1 认识游戏服务端

第 1 章 游戏服务器的本质

1.1 游戏服务器的定义与职责

  • 1.1.1 为什么需要服务器
  • 1.1.2 客户端与服务端的职责划分
  • 1.1.3 状态保持与逻辑权威

1.2 游戏类型与服务端架构

  • 1.2.1 单机、局域网与在线游戏对比
  • 1.2.2 MMO、SLG、FPS、休闲类服务端差异
  • 1.2.3 实时性与一致性需求分析

1.3 游戏服务器的生命周期

  • 1.3.1 启动、注册、服务发现
  • 1.3.2 运行期事件与资源管理
  • 1.3.3 停服与数据回收

1.4 典型架构演进

  • 1.4.1 单体架构
  • 1.4.2 分布式与微服务
  • 1.4.3 云原生架构演进

第 2 章 服务端的编程模型

2.1 I/O 模型基础

  • 2.1.1 阻塞与非阻塞 I/O
  • 2.1.2 Reactor 模式与事件循环
  • 2.1.3 多线程与协程的差异

2.2 并发模型与任务调度

  • 2.2.1 Actor 模型详解(Akka / Erlang)
  • 2.2.2 Channel 通信与消息投递
  • 2.2.3 线程池与任务分发策略

2.3 服务端框架对比

  • 2.3.1 Netty(Java)
  • 2.3.2 Go net/http + goroutine
  • 2.3.3 Skynet(Lua)
  • 2.3.4 Rust Tokio + Actix

2.4 实战与选型建议

  • 2.4.1 语言选择与性能对比
  • 2.4.2 单线程事件驱动 vs 多线程任务池
  • 2.4.3 实战:实现简易 Echo Server

第 3 章 通信协议与数据序列化

3.1 网络协议基础

  • 3.1.1 TCP / UDP / WebSocket 对比
  • 3.1.2 游戏中的连接保持与心跳机制
  • 3.1.3 延迟与丢包问题分析

3.2 数据序列化方案

  • 3.2.1 Protobuf 与 FlatBuffers
  • 3.2.2 JSON、MsgPack、Cap’n Proto
  • 3.2.3 序列化性能与内存占用对比

3.3 协议设计与消息封装

  • 3.3.1 消息头与命令号设计
  • 3.3.2 封包拆包、粘包与断线重连
  • 3.3.3 消息路由与分发策略

3.4 实战:构建简易通信协议栈

  • 3.4.1 客户端请求与响应模型
  • 3.4.2 通用消息封装结构
  • 3.4.3 调试与协议日志分析

第二篇 核心系统篇:构建可运行的游戏后端

第 4 章 账号与认证系统

4.1 玩家身份模型

  • 4.1.1 账号、角色、租户与设备
  • 4.1.2 多角色与跨区机制
  • 4.1.3 账号绑定与安全策略

4.2 登录认证机制

  • 4.2.1 Session 与 Token 模型
  • 4.2.2 JWT 认证流程
  • 4.2.3 Refresh Token 与黑名单机制

4.3 第三方登录与集成

  • 4.3.1 微信 / Steam / Google OAuth 登录
  • 4.3.2 SDK 集成与安全验证
  • 4.3.3 第三方账号绑定

4.4 实战:构建通用登录服

  • 4.4.1 API 设计
  • 4.4.2 JWT 生成与校验
  • 4.4.3 登录态存储与踢下线机制

第 5 章 网关与分发系统

5.1 网关架构角色

  • 5.1.1 网关的定义与作用
  • 5.1.2 连接管理与认证中转
  • 5.1.3 消息路由与负载均衡

5.2 消息转发策略

  • 5.2.1 玩家绑定与连接会话
  • 5.2.2 基于 PlayerID / RoomID 的路由
  • 5.2.3 动态转发与广播

5.3 性能优化与扩展

  • 5.3.1 长连接优化与 KeepAlive
  • 5.3.2 Gateway 横向扩展策略
  • 5.3.3 性能压测与 QPS 指标

5.4 实战:构建游戏网关服务

  • 5.4.1 消息转发核心代码示例
  • 5.4.2 Redis / gRPC / Akka 通信实现
  • 5.4.3 压测与连接池管理

第 6 章 玩家与角色系统

6.1 玩家数据模型

  • 6.1.1 Player 基础字段设计
  • 6.1.2 属性系统与动态扩展
  • 6.1.3 多角色与跨服机制

6.2 数据持久化方案

  • 6.2.1 ORM(GORM / Hibernate)使用
  • 6.2.2 缓存层(Redis + 本地缓存)
  • 6.2.3 数据同步与脏写防护

6.3 实战:角色系统实现

  • 6.3.1 创建角色流程
  • 6.3.2 数据加载与保存
  • 6.3.3 异步任务与保存队列

第 7 章 世界与地图系统

7.1 地图与世界模型

  • 7.1.1 世界分区与逻辑坐标
  • 7.1.2 地图加载与分片机制
  • 7.1.3 实时区域广播

7.2 寻路系统

  • 7.2.1 A*、Dijkstra 算法原理
  • 7.2.2 地图阻挡与通行数据
  • 7.2.3 客户端与服务端同步路径

7.3 实战:实现一个地图服

  • 7.3.1 地图数据结构设计
  • 7.3.2 区域广播算法实现
  • 7.3.3 实时位置信息同步

第 8 章 战斗系统设计

8.1 战斗模型类型

  • 8.1.1 回合制与实时制对比
  • 8.1.2 帧同步与状态同步机制
  • 8.1.3 战斗状态机

8.2 战斗逻辑实现

  • 8.2.1 指令投递与执行队列
  • 8.2.2 Buff / 技能系统建模
  • 8.2.3 战斗日志与回放

8.3 实战:帧同步战斗

  • 8.3.1 帧号与预测机制
  • 8.3.2 同步策略与丢帧补偿
  • 8.3.3 重连与状态恢复

第 9 章 任务、背包与经济系统

9.1 背包系统设计

  • 9.1.1 物品与堆叠模型
  • 9.1.2 装备系统与强化
  • 9.1.3 背包扩展与持久化

9.2 任务系统

  • 9.2.1 任务状态机
  • 9.2.2 触发条件与事件总线
  • 9.2.3 日常任务与成就系统

9.3 游戏经济系统

  • 9.3.1 货币模型与汇率
  • 9.3.2 产出与消耗平衡
  • 9.3.3 商城与交易系统

第 10 章 聊天与社交系统

10.1 聊天系统架构

  • 10.1.1 私聊 / 公聊 / 频道模型
  • 10.1.2 消息队列与转发
  • 10.1.3 过滤与审查机制

10.2 社交系统设计

  • 10.2.1 好友关系与黑名单
  • 10.2.2 公会 / 联盟模块
  • 10.2.3 社交互动与排行榜

10.3 实战:Redis Pub/Sub 聊天服

  • 10.3.1 消息通道与订阅模型
  • 10.3.2 实现群聊与频道广播
  • 10.3.3 负载均衡与消息分片

第三篇 架构与性能篇:从单服到分布式集群

第 11 章 分布式与微服务架构

  • 11.1 架构拆分与职责边界
  • 11.2 RPC 框架与消息总线
  • 11.3 服务注册与发现机制
  • 11.4 微服务间通信模式(同步/异步)
  • 11.5 实战:服务间事件调度系统

第 12 章 数据与状态管理

  • 12.1 实时状态与快照策略
  • 12.2 Redis + MySQL 混合持久化
  • 12.3 状态一致性与幂等性
  • 12.4 数据分片与多租户模型

第 13 章 并发与性能优化

  • 13.1 Goroutine/Actor 调度优化
  • 13.2 无锁结构与内存复用
  • 13.3 CPU/内存 Profiling
  • 13.4 Benchmark 案例分析

第 14 章 高可用与容错

  • 14.1 心跳与健康检查
  • 14.2 重试、断路器与回退机制
  • 14.3 状态恢复与副本同步
  • 14.4 实战:服务重启不中断设计

第四篇 运营与服务篇

第 15 章 数据分析与监控

  • 15.1 游戏指标体系设计
  • 15.2 埋点与日志系统
  • 15.3 ELK / Loki / Prometheus 集成
  • 15.4 实战:构建游戏监控看板

第 16 章 GM 与后台工具

  • 16.1 GM 权限与命令系统
  • 16.2 配置中心与动态参数
  • 16.3 实战:构建后台管理系统

第 17 章 版本更新与热更机制

  • 17.1 客户端资源热更流程
  • 17.2 服务端脚本热更(Lua/WASM)
  • 17.3 回滚与安全策略

第 18 章 安全与防作弊

  • 18.1 网络加密与签名
  • 18.2 封包验证与篡改检测
  • 18.3 行为分析与外挂防控

第五篇 实战项目篇

第 19 章 项目规划与模块划分

  • 19.1 服务划分与部署拓扑
  • 19.2 模块职责说明
  • 19.3 技术栈与工具链

第 20 章 实战:SLG 游戏服务端

  • 20.1 世界地图模块
  • 20.2 资源产出与建筑系统
  • 20.3 战斗与调度系统
  • 20.4 排行榜与社交模块
  • 20.5 部署与监控全流程

第 21 章 未来方向与生态

  • 21.1 云原生游戏后端趋势
  • 21.2 AIOps 与自动化部署
  • 21.3 Serverless 与 WASM 新范式
  • 21.4 AI 驱动的游戏逻辑与测试

附录

  • 附录 A:常用框架与工具清单(按语言分类)
  • 附录 B:性能调优 Checklist
  • 附录 C:示例项目目录结构
  • 附录 D:参考资料与社区索引

书籍具体路线(循序渐进)

阶段目标对应章节输出形式
入门篇理解服务端核心原理第 1–3 章理论 + 简易示例
核心篇搭建可运行服务第 4–10 章逐步实战
架构篇优化与分布式第 11–14 章架构图 + 性能分析
运营篇工具与安全第 15–18 章管理后台 + 监控
实战篇完整项目第 19–21 章可运行项目 + 部署

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页