- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大宝(sodme) 2010.12.20
网游服务器架构设计
2
韩服网络拓扑图
国服网络拓扑图
3
韩版架构:一组七类进程,玩家三线连接
韩版优劣:架构复杂,难以查证、跟踪与调试,难以上手、维护与培训,不稳定,性能差,逻辑易混乱,最高仅1500人;优点是同内容下玩家数量可扩充单服
国服架构:一组两类进程,玩家单线连接
国服优劣:最高2900人,单线管理不易扩充单服
韩版与国服对比
4
何谓架构(作为动词) ?“架构”就是程序人员对需求的设计,对各个产品、各种功能、各部分模块及流程多种需求的设计
有哪些架构(作为名词) ?网络,逻辑,数据流,功能(策划案),配置表(数据结构)
架构从哪里来?从需求中来。哪些需求?玩法的、安全的、性能的、运营的,甚至是团队成长的
如何成长为架构师?学习,参考,实践,验证,改进
5
关于架构
设计原则:简单,可控,稳定,高性能
一些具体的设计目标(略举一二): 大二的学生都可以读得懂、能写、能控 因事没来上班时,有人能动你的代码 不怕有问题,随时可追查
设计框架:一组服务器仅含两个进程,DB负责数据缓存、账号认证、计费通信等第三方接口接入;GAME负责游戏逻辑、玩法、游戏内容构建
国服版本设计方法
6
7
DB架构设计图
数据缓存策略:账号列表管理,同账号下最多三角色数据缓存(读取规则,缓存上限,调度策略)
全局性数据存取策略:开机即读取,定时保存,全局快照
第三方接口通信策略:基于防御性的接口互访规则(日志审计,逻辑防御),基于验证重发的通信规则
DB架构设计
8
严重问题:DOWN机(内存,数据库访问,登录堵塞),数据错乱,数据不保存
解决方法: 尽可能简单的表结构 尽可能简单的SQL语句 定长的数组 可控的压力阀值(由GAME控制)
总目标:不要让单玩家掌控你的机器资源
DB设计经验
9
10
GAME架构设计图
帧轮询机制:对象管理体系;网络、逻辑、AOI分线程;主逻辑一秒三帧,网络发送一秒六帧
消息队列机制:网络消息,AI消息,位置同步消息,数据存取消息,定时器消息,脚本调用消息
引擎与脚本:开发速度、稳定性、热更新
GAME架构设计
11
逻辑的驱动来源:网络消息,AI消息,定时器消息三大驱动方式
逻辑的驱动方式:在主循环帧中分别处理来自于各消息队列的消息(便于统一管理、性能监控)
具体的内容组织:玩家,NPC、怪、宠物,家族、师徒、恋人,物品、装备,任务、活动等
GAME主逻辑架构
12
对象的层级:简单动态对象(无逻辑的活物、空艇等),复杂动态对象(NPC,怪物,玩家),对象集合(师徒,恋人,组队,家族,王国)
个体对象设计:定义属性,方法,常用接口,接口保护,设定数据刷新、存取规则
集合对象设计:定义管理方式,数据结构,数据同步方法,异常处理原则
GAME对象管理体系
13
基本模型:EPOLL
数据的memcpy:一次性接收,无memcpy;发数据时有一次memcpy。数据缓存事先建立。
数据收发:统一的收取消息队列,处理函数;单个玩家独立的发送队列,按帧发送,小包拼接。最多:位置,对象加载,状态。
性能:2900人在线,80M带宽
GAME网络架构
14
基本模式:状态+消息,主循环轮询
状态:空闲,狂燥,逃跑,返回
消息:初始化,处理,伤害,到达,结束
状态与消息的关系:由消息实现状态间跳转,改变AI策略,由状态的自轮询实现怪物智能的自我触发
GAME AI架构
15
基本模式:以时间尺作为排队方式,只执行当前时间刻度的逻辑(借鉴linux源代码)
主要功能:提供自维护逻辑的运行(技能、BUFF、安全监控、统计等)
基本实现:引擎层实现架构,向脚本层提供定时器访问接口,脚本层通过接口访问
相关功能:添加定时器(一次性、轮询、按条件控制),回调函数,定时器销毁
GAME定时器架构
16
基本模式:行走、战斗等玩家主要行为,皆通过状态机机制实现,“状态+消息”的基本触发方式
状态:坐下,近攻,远攻,站立,移动等
消息:设定状态,删除状态,开始,终止等
关系:维护一定时间,且与其他状态有互斥等交互行为的可以设定为一个状态
GAME状态机架构
17
基本内容:场景静、动态逻辑加载,区域自触发逻辑,对象可见、范围相关的逻辑(伤害范围,可见范围等)
基本方式:称之为LinkMap的数据结构,按“层+二维数组”的模式组织场景里的静、动态可管理资源。层与层之间可设定可见性、可计算性;二维数组内的各对象之间可以设定可见性
GAME场景管理架构
18
脚本化,热更新,多日志
单一系统的在线开关控制
单一系统的资源统计
版本的快速迭代、验证(30分钟解决问题)
单个技术人的全面素质培养,独当一面,灵活应对
预估风险,作好准备方案(既要考虑坏,也要考虑好)
基于互不信任的架构和逻辑思
您可能关注的文档
最近下载
- SYT 5547-2000螺杆钻具使用、维修和管理.pdf
- 第三方产品节能环保ccc证书---服务器.docx VIP
- 一种连续酶解制备蛋白肽的系统及工艺.pdf VIP
- (高清版)B-T 40815.2-2021 电气和电子设备机械结构 符合英制系列和公制系列机柜的热管理 第2部分:强迫风冷的确定方法.pdf VIP
- 2025幼儿园园级家委会ppt全新 .pdf VIP
- PEP人教版六年级下册英语全册导学案.pdf VIP
- 鲁科版六年级上生物思维导图.pptx
- 电商运营方案电商运营方案.pptx VIP
- 计数型MSA测量系统分析报告(模板).xls VIP
- 发展低空经济课件.pptx VIP
文档评论(0)