deepcold游戏引擎架构大世界网络游戏服务器的架构PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 玩家的交互受游戏设计的限制
– 限制是为了更丰富的可能性 – 虚拟世界的战争、贸易以及资源分配
服 务 器 组 的 内 部 结 构
外部连接处理
• 多个外部接入点
– 国情问题:电信网通问题 – 特别通道:用于管理人员进入
• 组播
– 分组管理的问题
• 心跳控制
– 流水线作业 – 时间控制 – 录象回放调试(监督数据合法性)
引擎三大部分
• 基于 freebsd 的服务器 • 跨平台的客户端
– 二进制跨平台 – 支持 Win32 MacOs Linux Freebsd – 3d 部分基于 openGL – C 语言编写底层、逻辑部分动态脚本语言
• 开发用相关工具
– 跨平台命令行工具 – Windows 下的视觉编辑工具
Learning Is To Achieve A Certain Goal And Work Hard, Is A Process To Overcome Various Difficulties For A Goal
• 唯一的数据储存点
– 使用本地文件系统 – 使用简单文本结构 – 使用简单的交互协议
• 物品发放服务
– 虚拟物品的控制
• 数据监控和备份
系统登陆与灾难处理
• 门卫
– 用户登陆排队 – 登出登记
• 黑洞
– 从灾难中恢复 – 保持跟玩家的有限交互
谢谢聆听
·学习就是为了达到一定目的而努力去干, 是为一个目标去 战胜各种困难的过程,这个过程会充满压力、痛苦和挫折
• 聊天信息分离
– 利用广播服务器减低负载 – 广义聊天信息
时间校对
• 校对玩家机器和服务器组的时间
– 防止时间作弊 – 估算消息发生时刻,更流畅的完成交互动作
• 精确保证时间的一致性
– NTP 协议的问题 – Client 的不合作(区分恶意和无意)
• 服务器组间的时间校对 • 心跳控制
数据服务
– 物理上玩家分属不同服务器组管理 – 用户数据库各自独立,无须实时交互 – 虚拟世界中的距离即物理世界上的距离
登陆过程
服务器组间的消息传递
服务器组间消息传递
• 避免交互性协议
– 游戏设计上考虑远程通讯的时间差 – 允许数据复制,并考虑多个副本相遇时的处理
• 每组服务器有唯一的数据输入输出点
– 海关服务
服务器的设计
• 底层全部由 C 语言编写 • 逻辑层语言无关
– 类 COM 的模块化设计 – 多语言混合编程
• 多进程单线程结构 • 服务器组内各进程功能有明显的层次划分 • 数据和逻辑分离
具体设计
服务器群
• 单一登陆点做进入系统的认证
– 全局数据库仅保存用户身份信息 – 不保持常连接
• 玩家可以百度文库整个大世界中发生联系
相关文档
最新文档