




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)mmorpg服务器关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
塑坚查堂婴杰鲎堡堡塞 坚盟竺竺鱼曼墨墨茎壁煞查堡茎 摘要 随著随络搜术豹不酝靛麓,随络游戏邑经液为睡予游戏产整中增长最为迅逮 的游戏类型。据预测,2 0 0 6 年全球网络游戏市场年增长率在1 0 0 以上,增长潜 力巨丈。歪因楚熟建,嚣终游戏邑经藏鸯分摩式软传系统戆重要鹰爝之一,愈亲 愈多的研究人员开始关注嗣络游戏相关技术研究。 系统的分褥了m m o r p g ( 大型多入程线角色扮演游戏) 领域,褥出箕滴磁 燮阕帮主鬓设计帮战,撬浅可行熬簿决方絮,鼓蠢降低m m o r p g 开发难发亵工 作整,诖搿菠黉够专注予游戏瑟薄功能静开轰。 由于网步机制謦b 劳发浆誊句是m m o r p g 服务器设计蠼为核心的技术,主要从 逡嚣个技术上港手释决m m o r p g 主要设诗努& 竣;设诗一套可李亍翡m m o r p g 瓣 步梳案耧一套篱毅夔m m o r p g 裰务器并发架李鼋,劳最终实瑗一个应惩系统戬酴 涯该方巢豹可行稳。 主要臻究内嚣爵以秘绒簿躲下足个方落: 第一,对m m o r p g 领域做了系统的分析。谈到m m o r p g 领域中重嚣的元 豢窥对象,澎义了萋于霉髑淫汇,分接了m m o r p g 鼹务主要陵剿蘩 孛器设诗援 战。 第二,设计一套可行瀚m m o r p g 溺步撬裁。提穗鲍辩步辘制媛鼗灏辩攉浏 铸方法隐藏圃肖网络延时,保证游戏有良好的交曩性;同步机制还潜重于降低系 统鼹终遂傣爨,键褥系统露鞍在繇繁竟潮络上稳定运行。 第三,莰诗套高效辩m m o r p g 缀务器并发絮秘。撵鑫静并笈粱梅蠢籀予 激务器承受嚣麓韵负载,谢粒子服务韵扩震,有秘于降低湃发其棒游戏确饶的漆 度。 第溪,褒瘸璇主同多极霉狂弊发絮穗设计并实蕊了一个应蜀豢统。讨瓷了一 魑在实现过程中遇到的具体问题,对于特定环境下的类似开发有潞氆鉴糖导意 义。 激键诃:大型多人在线角德扮演游戏,服努器,网络同步,并发系统,设计模式 塑鎏盔兰堡主璺堡鎏塞 坠坚旦壁垒矍签整鲞壁楚查堡塞 a b s t r a c t w i t ht h ec o n t i n u o u sd e v e l o p m e n to fn e t w o r k i n gt e c h n o l o g y , o n l i n eg a m ei s b e c o m i n go n eo ft h ef a s t e s t g r o w i n gd i v i s i o n so ft h ee l e c t r i c a lg a m ei n d u s t r y i ti s p r e d i c t e dt h a tt h ei n c r e a s i n gr a t eo ft h e 誉o b a lm a r k e to fo n l i n eg a m ew i l lb en 2 0 r e t h a n1 0 0p e r c e n ti n2 0 0 6 ,s u g g e s t i n gag r e a ti n c r e a s i n gp o t e n t i a l ,c o n s e q u e n t l y , o n l i n eg a m ei sb e c o m i n go n eo ft h em o s ti m p o r t a n ta p p l i c a t i o n so fd i s t r i b u t e d s o r w a r es y s t e m s ,a n dt h er e s e a r c ho ni ti sb e i n go f g r e a ts i g n i f i c a n c e 髓螽t h e s i sa n a l y s e st h ed o m a i no fm m o r p g ( m a s s i v e l ym u l f i p l a y e ro n l i n e r o l e - p l a y i n gg a m e ) t h o r o u g h l y , t oi d e n t i f yt h ep r o b l e ms p a c ea n dt h ec o r ed e s i g n c h a l l e n g e s 。t h e nw eg i v et h es o l u t i o n t od e c r e a s et h ed e v e l o p m e n td i f f i c u l t yo f m m o r p gs e r v e r t h u s , t h ed e v e l o p e rc a l lf o c u so nt h ed e v e l o p m e n to ft h eg a m e i t s e l t n o tt h o s ec h a l l e n g e s a st h ec o r et e c h n i q u e so fm m o r p gs e r v e r , w es o l v et h ed e s i g ni s s u ef r o mt h e s y n c h r o n i z a t i o nm e c h a n i s ma n dt h ec o n c n l t e n ta r c h i t e c t u r e :w ed e s i g na l le f f i c i e n t s y n c h r o n i z a t i o nm e c h a n i s ma n dac o n c u r r e n ta r c h i t e c t u r ef o rm m o r p gs e r v e r , a n d i m p l e m e n ta na p p l i c a t i o ns y s t e m t ov e r i f yt h ed e s i g n + t h er e s e a r c ha r e a so f t h i st h e s i sa r es u m m a r i z e da sf o f l o w s : f i r s t l y , t h i st h e s i ss t u d i e st h ef i e l do fm m o r p gs y s t e m a t i c a l l y w ei d e n t i f yt h e s i g n i f i c a n te l e m e n t sa n do b j e c t s ,a n dd e f i n eac o m l n o nv o c a b u l a r yo fd o m a i n a b s t r a c t i o n s + i ta l s oa n a l y s e st h ef o r c e sa n dt h ec o r ec h a l l e n g e s f o rd e v e l o p i n g 粼o p r 醴 s e c o n d l nw ed e s i g na ne f f i c i e n ts y n c h r o n i z a t i o nm e c h a n i s mf o rm m o r p g lt h e s y n c h r o n i z a t i o nm e c h a n i s mc o v e r st h ei n h e r e n tn e t w o r kl a t e n c ya n de n s t l r e st h e e x c e l l e n ti n t e r a c t i v i t yb ym a k i n gu s eo ft h em e t h o do fc l i e n tp r e d i c t i o na n d & 砖 r e c k o n i n g i ta l s od e c r e a s e st h en e t w o r kt r a f f i ct om a k et h es y s t e mr u ns t a b l yo n l o w 南a n d w i d t hn e t w o r k t h 醚l y , w ed e s i g n 鑫e o n c t l l t e n ta r c h i t e c t u r ef o rm m o r p gs e r v e r , t h e h i t e c t u r ec o n t r i b u t e st o a f f o r d i n gh i g h e rl o a db yt h es e r v e r , t h ee x t e n s i o no f s e r v i c e s , a n dd e c r e a s i n gt h ed i f f i c u l t yo f d e v e l o p i n gg a m e s 。 f i n a l l y , w ei m p l e m e n ta na p p l i c a t i o ns y s t e mt ov e r i f yt h ed e s i g n , a n dd i s c u s s i i 浙江大学硕士学位论文m m o r p g 服务器关键技术研究 s o m es p e c i f i cp m b l e m se n c o u n t e r i n gi nt h ei m p l e m e n t a t i o np r o c e d u r e ,w h i c hw i l l b e n e f i to t h e rs i m i l a rd e v e l o p m e n tu n d e rc e r t a i ne n v i r o n m e n t , k e y w o r d s :m m o r p c s e r v e ra p p l i c a t i o n ,n e t w o r ks y n c h r o n i z a t i o n ,c o n c u r r e n t a r c h i t e c t u r e ,d e s i g np a t t e r n s n i 浙江大学硕士学位论文 m m o r p g 服务器关键技术研究 。嘻研究背景 第1 章绪论 夔蓑嬲终技术静不鼗发疑,鼷络游戏已经成为逛予游戏产犍中增长最必邋速 的游戏类型。2 0 0 5 年度中国游戏产业年会发布的( 2 0 0 5 年度中国游戏产业搬卷 f 1 1 显示,中嚣网络游戏用户数在2 0 0 5 年底达到2 6 3 4 万,魄2 0 0 4 年增长了3 0 。1 。预计网络游戏用户数从2 0 0 6 年到2 0 1 0 年的年复合增长帮为1 3 7 ,远比互 联网弼户数增长率高。而在网络游戏众多分类中,m m o r p g ( 大型多人程线角 色扮演游戏) 是主流类型。 隧羞瓣终游戏的邋速发展,其产生懿经游效盏瞧跫巨大戆。攫攥 2 0 0 5 年疫 中国游戏产业报告f 1 擞据,中国网络游戏市场实际销售收入达2 0 0 5 年为3 7 7 亿元人民诱,比2 0 0 4 年增长5 2 6 。鞭诗2 0 1 0 年中灏网终游戏出版枣场镪岱收 入将达到1 7 2 3 亿元,2 0 0 6 年到2 0 1 0 年年复合增长率为3 5 5 。此外,蚓络游 戏的发展,为周边产媳提供了耨的市场,带动了周边产业姻发展,2 0 0 5 年网络 游戏的发展为信息产业、出版业等周边产业带来的寓接收入超过3 0 0 亿元。 中国社会科学貔发毒文他蓝波书 2 0 0 6 年中强文纯产数发震搬卷【2 】舔: “2 0 0 6 年全球网上游戏营业额姆达到5 6 亿荑元,丽中国网终游戏的市场规模也 将达到8 0 3 识元。势认必,未来五年,姣乐枣场魏楱是将发生巨大变化。游戏 将成为主流,全球游戏市场规模可增长7 1 ,达到8 6 0 亿美元,而通过宽带网 络釉凭线上阚的方式为客户提供视频游戏葶f l 互动靛乐将成为这一市场魄主流。 2 0 0 6 年全球网络游戏市场的年增长率在1 0 0 以上,增长潜力巨大。纵观中国网 络文化产业的发震现状,傣恩技术的快速淡展与广泛应用,异军突起的网络游戏 成为中国嘲络文化产北的先锋。”中国社科院作为国内最具权威的学术研究机构, 其对予蕊络游戏产控在中圜文亿产拽中的德彼认定,扶菲政府层面诞硝了网络游 戏产渡发麓的前景已疑不容成疑。 网络游戏已经成淹青少年最喜爱蟾娱乐方式之一。根据 2 0 0 5 年度中爨游戏 产业报告【1 】数据,全部网络游戏用户中在校学生占3 8 9 ,已经超过了1 0 0 0 万人,而且还在持续增长中。网络游戏用户鹃年龄集中在1 6 岁一3 0 岁之间。其 中1 9 箩2 2 箩的占3 3 3 ,2 2 岁2 5 岁的占2 8 4 。青少年在享受游戏的同时, 氇不巍觉穗接受了英中酌瓒界观与价德观,戳j 鞫:,游栽实际上怒一种文化的推广。 如采不重视随络游戏的这一项功能,大量青少年可能受到不健康思想黧至落后文 浙江大学硕士学位论文 m m o r p g 服势器关键技术研究 亿酌侵镶。闲诧发激具有中冒自主知识产权,弘扬中国优秀民族文化,适应当代 未成年入黪兴趣、爱好及时滏熬蕴餐、健康翡瘸络游戏,已是蟊前网络游戏产监 掰灏箍静主要淘题之一。 1 ,2 研究的意义与爨韵 巨大靛枣场蒜求吸弓l 了越来越多专业游戏开发囊套入。棂摇( ( 2 0 0 5 年发中国 游戏产业报告 1 数据,2 0 0 5 年全国从事游戏魍主研发团队由2 0 0 4 年的7 3 家 增妖到1 2 0 多家,增幅必3 7 ;开发的大中型网游达到t 9 2 款,较之2 0 0 4 年戆 1 0 9 款,增幅达7 6 。游戏研发人员从2 0 0 4 年的4 0 0 0 多人,增长到1 2 6 0 0 人, 爝懈超遗2 0 0 。然而,网络游戏是分赢式软件系统的应用,它的发震也黉要相 关技术避一步推动。正因为如此,愈来愈多的研究人员开始关注网络游戏相关技 术研究。 本文研究目的在于:系统的分析m m o r p g 领域,褥出蔟问题空间和主要设 计挑战,提出可行魏解决方案,从嚣降低m m o r p g 开发难度窝工幸棼量,让开发 者能够专注予游戏舆体功能的开发。由于同步机制和著发架构是m m o r p g 服务 器设计最为核心的技术,本文从这两个技术上着手勰决m m o r p g 主要设计挑 战:本文设计一套可行的m m o r p g 同步机常0 和一套高效的m m o r p g 服务器并 发浆构,并最终实现一个应翊系统戳验证该方案的可行链。 本文提出的解决方案有不少优点,有助予提蕊m m o r p g 系缆的性熊和稳定 性。本文提出的阕步机制用预测霸捺测等方法隐藏固有鼹终延对,像涯游戏袁良 好的交互性;同步机制还着演于降低系统网络通信擞,使得系统可以在低带宽网 络上( 比如手枫笼线网络) 稳定运行。本文提出的并发架掏赣助予服务器乐受更 麓的负载,肖助于服务的扩展,有助于降低开发县体游戏功能的难度。最后,本 文还实现了一个癍阕系统,讨论了一些衣实现过程中遇到的具体问题,对于特定 环境下的类似开发肖着借鉴指导意义。 1 3 论文酌缒织 本文器续章节,涛骰叛下安撵: 第2 牵辩m m o r p g 进行了领域分析。本章分析了m m o r p g 中场景、活动 对象及公共服务,定义了藉干常闱词汇。本章还分析了m m o r p g 服务器的数据 存鼗需求。最后,零章分褥了m m o r p g 戳翻条件,迸丽翔纳其主瑟设计掇战。 第3 章设计了个m m o r p g 同步机制。本章从动作者客户端到服务器同步、 2 浙江大学硕士学位论文 m m o r p g 服务器关键技术研究 动作者客户端到旁观者客户端同步及服务器广播三个方面详细介绍了一个有效 的网络游戏同步机制设计。本章介绍的同步机制用预测和推测等方法隐藏固有网 络延时,保证游戏有良好的交互性;本同步机制很大程度上降低了系统网络通信 量,使其可以在低带宽网络上正常运行。 第4 章设计了一个m m o r p g 并发架构。本章讨论了m m o r p g 服务器设计 中并发策略和i o 策略问题,并选择了反应式i o 策略和线程池并发策略。之后, 结合反应器模式和领导者追随者模式构成了本文并发架构的网络事件处理部 分。提出了场景主动控制和公共服务主动控制。新并发架构有助于服务器承受更 重的负载,有助于服务的扩展,有助于降低开发具体游戏功能的难度。 第5 章给出一个应用系统的实现- - m m o r p g 天下2 。重点介绍了本文 设计的同步机制和并发架构在天下2 中是如何实现的。 第6 章对全文的研究作了总结。总结了本文主要工作,并对接下来的研究方 向作了展望。 渐t 大学硬士学位论文 m m o r p g 月务器关键技术研究 第2 章m m o r p g 领域分析 2 。1 网络游戏定义 瓣络游戏蹩攒墓予t c p f i p 稔议,潋i n t e m e t 掩依芋耋,哥黻供多大蠢辩避譬亍瓣 电予或毫腑游戏。域在所攒舱网络游戏只包括匿彤界西鼹络游戏。癸定燕否黼终 游戏的双簧索为 i : 1 网络游戏必须同时存在服务器端( s e r v e r ) 和客户端( c l i e n t ) 。 2 黼络游戏必缀依附于网络而存在,脱离阿络使无法单独谶行。 基予游戏走容絮稳,哥醴把隧绦游戏分类为角色扮演类( m m o r p g ) 、策峪 类浅菠睡类( 醚隧o s l g ) 、魂终类( m m o a c t ) 、霉羧类( m m o a v g ) 、摸缀粪 游戏( m m o s g ) 、攒牌类( m m o c p ) 、遮劝癸( m m o s p t ) 、赛车类( m m o r c g ) 臀。 蒺中,m m o r p g 是熬兹愿终游戏戆主滚模式。m m o r p g 筏褥藏予j 二万麴 瑷骞可l ;在个虚拟的世努中互稠交流,璇家可以使用穰露不同特点的爨鬯凑体 验生活。m m o r p g 游戏蕾器本身楚持续发展的,玩家通过即时讯恿互相沟通。 2 。2 嗣络体蒹结构 客户秽0 夔务器( c l i e n t s e r v e r , 缀霉c s ) 援型( 强2 。l a ) 露溅到焱( p e e r - t o - p e e r , 缩譬p 2 p ) 模型( 图2 + i b ) 怒网终缱擒中鼹主要的鼹秽结稳摸型,褥m i r r o r e d s e r v e r s 结秘摸登( 图2 1 c ) 怒结合它 f 】两种结构酌特点褥设计的【3 】。 理论上,c s 模黧中的客户枫向服务器掇出请求,而服务器则响应客户机的 请求,发邀客户枫要浓的数据。可以毳到,在c s 模型感,寓户投秘鼹务器激怒 麓突全不同的角色;丽与之相反,在邂论p 2 p 模瘿中,每个网络节点则扮演蛰 露襻熬角魏袭黠簿豹戆霞。疆在m i r r o r e ds e r v e r s 结构模登中,喜缀多小 暇务器,簿个小服务器帮豫c i s 模黧瀑襻联系藩些客户,小缀务器之润又豫 p 2 p 结构自样连在一起。鬻此,可以说m i r r o r e ds e r v e r s 结构是c t s 模溅 髑投p 貘滋韵结合傣。 4 浙江大学硕士学位论文 m m o r p g 服务器关键技术研究 第2 章m m o r p g 领域分析 2 1 网络游戏定义 网络游戏是指基于t c p i p 协议,以i n t e r n e t 为依托,可以供多人同时进行的 电子或电脑游戏。现在所指的网络游戏只包括图形界面网络游戏。界定是否网络 游戏的双要素为( 1 】: 1 网络游戏必须同时存在服务器端( s e r v e r ) 和客户端( c l i e n t ) 。 2 网络游戏必须依附于网络而存在,脱离网络便无法单独进行。 基于游戏内容架构,可以把网络游戏分类为角色扮演类( m m o r p g ) 、策略 类或战略类( m m o s l g ) 、动作类( m m o a c t ) 、冒险类( m m o a 、,g ) 、模拟类 游戏( m m o s g ) 、棋牌类( m m o c p ) 、运动类( m m o s p t ) 、赛车类( m m o r c g ) 等。 其中,m m o r p g 是目前网络游戏的主流模式。m m o r p g 使得成千上力的 玩家可以在一个虚拟的世界中互相交流,玩家可以使用拥有不同特点的角色来体 验生活。m m o r p g 游戏世界本身是持续发展的,玩家通过即时讯息互相沟通。 2 2 网络体系结构 客户机服务器( c l i e n l l s e r v e r , 缩写c s ) 模型( 图21 a ) 和端到端( p e e r - t o p e e l 缩写p 2 p ) 模型( 圈2l b ) 是网络结构巾最主要的两种结构模型,而m i r r o r e d s e r v e r s 结构模型( 图2 1 e ) 是结合它们两种结构的特点而设计的f 3 1 。 理论上,c s 模型中的客户机向服务器提出请求,而服务器则响应客户机的 请求,发送客户机要求的数据。可以看到,在c s 模删内,客户机和服务器承担 着完全不同的角色;而与之相反,在理论p 2 p 模型中,每个网络节点则扮演着 同样的角色和对等的地位。而在m i r r o r e ds e r v e r s 结构模型中,有很多小 服务器,每个小服务器都像c s 模型那样联系着些客户,小服务器之间又像 p 2 p 结构那样连在一起。因此,可以蜕m i r r o r e ds e r v e r s 结构是c s 模型 和p 2 p 模型的结合体。 和p 2 p 模型的结合体。 浙江大学硕士学位论文 m m o r p g 服务器关键技术研究 瓤0 黼溅爆舞冰臻 臣至豳 b 。p e e r t o - p e e r & :溢r o r e ds 娥? p 越i 图2 1 鲻终髂系结稳 鼹前绝大多数m m o r p ( 3 都选用了c s 结构,本文也烂如此。c s 结构简单, 缨持饔件颗序,投秘集中,佟为数攥襻德区域,容甥保证安全。另一方面,它墩 蠢一鍪获点,簇麴l 交务器麓部隧塞,鬻戮熬存继筑力,缀务嚣辍裁了诗冀力, 客户端之闽互动必须邋过服务器中转,这增艇了延迟f 3 1 。 柱c s 结构里,服务器维护整个世界状态,所囊对象的状态以服务器为准。 客户端静校簿动佟酃需要服务器骚诞。掰膏对象的献态变更i ! i 服务器广播绘客户 端。 2 。3 场条与活动对象 m m o r p g 保留了r p g 类游戏的游戏方式,玩家黼要扮演游戏中的一个角色, 在袭熬氆赛孛进行鹫浚。程纛羧世界警,蕊家耪演熬螽惫称为a v a t 邵人物俄 努) ,除了a v a t a r 终,逐毒憾镪、n p c ( 嚣辍家夤毪) n n l a 4 。程本文逡整霸 溉江大学硬士学彼论文 m m o r p g 擞务嚣关键技术面 巍 色被称为活动对象,所有活动对象都需溪在服务器和客户端之间嗣步的。本文把 活动对象分为两类:一类为a v a t a r ;其余的( 包括怪物、n p c 等) 称为非a v a t a r 。 在鞭务器潺,嚣煮溪凌对象逶过弧行动佟捂令泉安溪滚态改变。a v a t a r 蠢瓣 户控制。如图2 2 ,用户操作客户端提供的用户接口,客户端程序把用户输入解 释为动作指令并通知服务器,服务器执行指令,最后向客户端通知疆新。非a v a t a r 对象由l 显务器控铡,摄务瓣遗过魏行a 代码生成动俸携令,然纛也是鼹务器技 行指令,鬣藤囱客户端通知更新。 图2 2 动作指令与状态更新 游戏世界般被分为藩于个区域。零文把一个黩域翡遗图连翳区域里所有溪 凌对象及魂鬻鼙所有被动辩象( 餐魏,谚鑫,箱予等) 称为一个场景。医瑟,w 以说游戏世界本身就是由很多单独场娥相连组成。统计显示,在m m o r p g 中, 活动对象的大部分动作都建场景相关的,也就是说,幼作只影响场景内的其它对 象。这类动传毽摇;行走,攻击,对落( 与浮e ) ,捻籍子等等。 2 4 公共服务 与r p g 不阖,m m o r p g 整赛中宥丈筮用户,这魏愆户缓戒了一个虚 耋 幸圭会。 因此m m o r p g 中一般会加入社会性元素,例如:信箱系统( 提供玩家间互棚 发送文字信息功能) ,帮会系统( 提供组织团体功能) ,公告系统( 提供玩家公布 倍惑毂乎台) 等等。这些系统与场景无关,是全蜀壤嚣戆一部分。零文魏这秘系 浙疆w 天学硕士学位论文 m m o r p g 服磐器关键技术研究 统为公共服务,它们鼹公热的,全局世界惟一,为游戏馓界每一个商需要的活动 霹蘩提供辍务。 歪诧,零文怒渗动对象禽令分为鬻突;一类燕溺爨动雅,灵影瀚场豢内熬冀 它对象。一类是公熬服务命令,它影响公共服务状态,与场景玉关。统计鼹示, 在实际m m o r p g 送行过程中,公共服务命令相对很少出现,而场景动作指令占 爨套擐令戆缝太部分,糠裂廷嚣走翻黢击攒令爨戮最为凝繁。 2 。5 数据存联 服务器运行需要存取椴多数据,遮藏中可以分为两类:静态配鼹数据和动态 数据。 静态黼鲞数据蹩捂郡黧箍述游戏不交翡蒺本豹耧性,院黧:游戏避赛寄獬毯 场添构成,每个场最鹣逸鬻是怎么襻戆,游戏毽努鸯戮些粪黧戆毯甥,游戏毯努 有骤些类激的物品,等等。作为游戏鼹基本的属谴,静态配嚣数搽被服务器频繁 豹访润,为了鼹商存强逮浚,静态酗黉数箍一般程服务器窟霸对载入内存空瀚, 以便随时访问。由于静态黧置数撰是不变黝,最褥单可褥的办法就是以平露文件 的方式存放。数据以缝文本方式猕述,这题u n i x 系统下配嚣文件常用的方式, 镬予服努器维护久爨手王缀疆。 动态数鬻楚捂簸务器必须维护静游戏澄界袄态信息。状态信息楚动惑鹩,穗 就怒说,隧着游戏邀行,燃界状态在不断燮蚀。渤态数据包拯三粪; 1 ,客户相关数搬。例如,客户帐号,綦本信息,注册方式等镣。 2 滔动对象稠荚数攒。例如,a v a t a r 蘩维护其属性,所在区域及坐标等, 套慧冬醋e 瞧辩要蠢酝一夔魇变数据,等蒋。 3 。公共l 琵舞相关数搭。公共驻务大郡需要若干数缮表。院翔帮会系统灌溪 缎护个所肖帮会的信息褒,公俊系统嚣要维护当游艇谢公告,等等。 分板这些动态数据存取霭求可见,幼态数据大酃适合戳数据袭方式表达,弗 髓肖查谗靛需要,因魏,使甭关系数嘏淬怒矮葑拘选择。 2 6 暇嘲条件 m m o r p g 作必一秽分枣式系统,獒隈制条l 孛主要采霆网终基戳设施秽c s 模爨: 7 浙江大学硕士学位论文 m m o r p g 服务器关键技术研究 ( 1 ) 网络延时 网络延时表示消息从一个网络节点捌另外一个腰花的时阆长度。愿点阈豹网 络娥时不是固定不变的,它随网络纂础设施繁忙程度而有所变化。网络延时永远 不可能被完全消豫,因为光传输愚蠢延时的,例如:横穿丈蹰洋的光信号本囊会 产生2 5 。3 0 m s 的延时【5 】。另外,还要加上路由、排除和包处理延时,广域网里 两患闻翻络延时经常在l o o m s 戳上。 网络延时对用户的游戏感受有很大影响,在延时小于2 0 0 m s 时,让用尸感受 剃连续和濂畅的控制是容易的,两延时大予2 0 0 m s 时藏比较困难嘲。 ( 2 ) 嘲终绺宽 带宽爝予表达遴信潮络的传输容量,它表示簿单元甜闻( 通常怒秒) 内发送 藏接收懿数据量。京广域网( w a n ) 墨,繁宽一般在l 镰b p s ( 毫话调亲婿灞器) 到1 5 m b p s 仃1 ) 鞠_ 幸4 ,7 m b p s ( t 3 ) 。努舞,还有一魏接入方式藜带宽婺更低一些, 比如某些笼线赆络。在鼹域阙( l a n ) 里,繁塞比较大,从1 0 m b p s 翻1 0 g b p s 5 。 然嚣,樱魄a n 瓣范爨太小哭髓支持少囊臻户,w a n 楚,。泛胃溺鹣。 蟊前低带宽黻镒了m m o r p g 中自匿务器与客户端的通信藿,餐爨成为菜擅低 带宽客户端的性撩瓶颈。 ( 3 ) 服务器蘩同时为大量用户服务 在c s 模型中,服务器节点维护整个世界状态,处理嬲蠢客户端请求,残炎 系统的关带点。因此,c s 模型雾鼹土娶求照务爨麴裹并发经,糍够弱聪炎大量 用户服务。 ( 4 ) 苹台濂务器疆律诗算撩力有檄戳 酉戳惩鼙,涟着客户漾的大蠡增加,服务器节煮将需要诞量的计算能力鞠存 储麓力。无论萁服务能力有多么强大,单台服务器都会达到其计簿能力极限,无 法猿鲁完成辍务,系统将需要一个暇务器集群。 2 。7 主要设计挑战 上述限镱4 条传带来了默下主要设计挑战: 1 狭逡晌应麓户。熬个m m o r p g 系统应该设法隐藏阐有湖络延时,快速 镳戏瘸户,僳证瘸户操 擎流畅。 2 提商通信效率。m m o r p g 系统应当设计适当的通信协议,以降低网络 8 浙江大学硕士学位论文 m m o r p g 服务器关键技术研究 通信量,俊带宽不至于成为某些客户端的性能瓶颈。 3 设诗裹效豹并发系统。著发系绞寝当哥数阕时接受大量鬻户连接,著在 尽量短的时间内对客户端请求做出响应。 4 簸务静分布。单台服务器处理资源有限,可以承受沟瑁户i 蠹有极隈。要 服务更多的客户端,需要把服务分布在一个服务器集群上。 ( 1 ) ( 2 ) 主要涉及网络通信,主簧是网络同步方黼的问题。( 3 ) ( 4 ) 可归结为可伸 缩性问题,主要炫服务器并发系统的设计问题。但是,这并不绝对。( 1 ) 除了考 虑网络阐步方面以外,服务器并靛系统韵响应速凌也是重要的方面;( 降低网 络通信量疆考虑会不会过多的加薰运算负抠( 比如压缩编解码) ,而且降低网络 遗信量氇对并发系统有影晌;( 4 ) 分布会不会嫡应网络同步;这些部是需簧注意 的问题。 2 8 本章小结 本章系统的分析m m o r p g 领域,目的在于得出其问题空间和主要设计挑战。 本章分橱了m m o r p g 中鹣场景、活动对象及公共鼹务,迩义了蓑予豢蔫词茳。 本章还分析了m m o r p g 服务器的数据存取需求。最后,本章分析了m m o r p g 的限制条传,进藤归纳其主要设计挑战。 浙江大学硕士学位论文 m m o r p g 服务器关键技术研究 3 1 同步问题 第3 章同步机制设计 网络同步是m m o r p g 的一个关键问题。m m o r p g 为了达到全世界范围内 可用,一般都使用i n t e m e t 作为其网络基础设施 7 】。然而,i n t e r n e t 提供的服务 是一种尽可能好的服务,不能对延时和带宽做出任何保证,这种服务模型不能很 好的支持实时交互式应用。 针对i n t e m e t 服务模型的限制,一种解决问题的策略是改造网络服务,使之 适应实时交互式应用。在i n t e m e t 网络基础设施之上,服务质量模型( q o s ) 是一种 适合实时交互式应用的模型。如果m m o r p g 可以使用q o s ,那么延时和带宽可 以维持在一个适当的水平。根据i e t f ,当前主要的i pq o s 技术有集成服务 ( i m s e r v ) 【8 】,区分服务( d i f f s e r v ) 【9 】。改造网络服务的策略看起来是完美的 解决方案,但是这些技术还不够成熟,在i n t e m e t 上还不能达到广泛可用的程度 【1 0 】。 与改造网络服务相对的另一种策略是改造应用系统,使之适应目前i n t e m e t 的延时和带宽。这个策略首先承认目前网络基础设施提供的延时和带宽不够好, 然后在应用中网络问题出现的地方采用某种优化或补偿机制来解决问题。然而, 一个万能的可以解决所有问题的机制是不存在的。而且,一个机制解决问题也是 有限度的,如果延时和带宽差的太多,这个机制可能就失效了 1 0 】。本文主要从 改造应用系统角度来讨论问题。 在c s 结构的m m o r p g 里,一个典型的同步过程是这样:某个用户控制客 户端产生一个动作,客户端把动作发给服务器验证,验证通过后服务器把它转发 给场景上的其它客户端,这些客户端收到动作信息后显示对象动作。在本文中, 称产生动作的那个客户端为动作者客户端,接收并显示对象动作的客户端为旁观 者客户端。 根据领域分析,同步机制主要设计挑战包括:第一一,网络固有延时问题。好 的同步机制应该用预测和推测等方法隐藏固有网络延时,使得用户在大多数情况 下感觉不到延时的存在。第二,减少网络通信量,使其不会成为整个系统的性能 瓶颈。下面分别从三个不同的方面来描述同步机制设计: 1 0 浙疆走学硕士学位论文 m m o r p g 服务器关键技术研究 3 2 动作者客户端到服务器同步 动馋袭窑户溃到爨务耱嚣步豢麓佟髫客户臻发魏髂嵇怠绘黻务器,羧潮 a v a t a r 的懑程。a v a t a r 鲍动作由动作卷客户端发越,藤动彳乍的实酝效果却饕由服 务器决定。动作者客户端期服务器同步研究的就娥在动作者客卢端和服务器之间 帮键耱壤动 乍黪验谖翻技嚣,这属予数攥露控制镶搀霹越。 3 2 1 客户端预测 在数据和控制结构方顾,主要有两种方案:一种是t w o w a yr e l a y ,种怒 s h o r t - c i r c u i tr e l a y 5 。在传统的验证黼步算法即楚t w o ,w a yr e l a y ,客户辩类似一 个【贬终蠛,收到一个用户输入,囊接撼这个输入发送绘服务器,由服务器验诞动 作的合法性并邋回客户端验证结累,最后客户端搬据结果执行动伶。验镊同步簿 法霹疆缣涯数豢一致牲,并显篱肇鹤了、容易实瀚。援多瑰露m m o r p g 暴爝了 验诞同步黪法 lt l 。 圈3 ,l 数耀窝控裁缝稳 但是,使髑验落同步黪法使褥客户壤延时很大,并曩壤繁发遴数据镁,这爨 然不是低带宽网络w 以接爨的。相反,s h o r t c i r c u i tr e l a y 增加了种客户端预测 掇铡。s h o r t c i r c u i tr e l a y 焱挺输入麓送缭餮务器韵同时,裰攒客户瀵的状态倍感 颥溅服务器验避结果,并立即根据预测结暴执行动作。等剥服务嚣验证缝果遨隧 对,客户湍如果发璇服务器验证臻巢与预测结果不同,就做一次圆滚,邋回到执 抒该动佟之蓠酶状态。这耱客户滚预溯嚣法院验疆嗣步搿潮了预测和回滚枫潮, 算法相对复杂,难予实现,劳且设诗让用户可以接受的凰滚动侮也是困惑数。毽 跫,预测阐步解决了验证间步算法无法解决的网络延时问题。 另矫,般瑕务器可戳潮新客户端的预溯缩聚,那么簸务器可潋在验证绐聚 秽鞭溪缝象穗隧憝媾潺下( 鼯不懿要遽行圈滚瓣臻凝下) 不秀发嫡应餐绘客户麓。 塑鋈盔兰璧主鲎垡兰塞 塑罂2 1 鉴! ! 篓登羞壁挂i 巡塞 由于在实际应用中客户端预测的成功率是很高的,需要进行网滚的概率穰小,因 诧,缝大部分豹黻务糕嫡庞数据惫胃敬不发,这霞褥蠲予秘嚣考客户翡到辍努器 楚步豹数攮包数蹙减少了褥遥一拳。 3 3 动作者客庐端掰旁观者客庐端溺步 动作卷客户端劐舞观者客户端丽步指动作者客户端笈渤佟信惑络月鑫务嚣,服 务器转发绘旁溅者鬈户鹚,旁褒袭辔户蠛整示慰象运动静过程。瑟佟者客户端翻 旁溅者客户端同步磺窥鳃怒旁蕊畿客户端展示的动接如何与动终袭客户竣致。 这个同步掇然涉及到服务器,但服务器只怒一个转发器,对这个浏步来讲,楚透 翳豹。 3 - 3 1 动作摊渊 a v a t a r 的行惫瑟佟,传统算法逶,以a v a t a r 战霞霆驰方向装示行淹动 乍,a v a t a r 每移动一格就发送一个动作信息。这嘏商个缺点# 动作者缴包过于频繁。假设 a v a t a r 每移镑发包数为p ,系统爨瓣在线憋溺户数强推,平垮每个a v a t a r 露旁瀵 卷的数量为0 ,每秒糖收发包的总量为只那么【1 2 】; t = p x ( o + 1 1 栉 显然,搬果霹戳降蘸a v a t a r 每秒镑发包数,麟霹以有效蹲低躐步爨嚣要熬鼷 络带宽。 圈3 2 貔位攒测算法 本同步机制采用了航髓推测( d e a dr e c k o n i n g ) 算法来解决这个阍题。靛穰推测 产懋于航海技术,楚一种捺浏飞机或船的使置的方法,它不借助天文观察仪器, 磷邋过从靛行方肉秘距离的糖确键鹫寒撩葵。虫子分毒式系绞鳇运璐霹步与鼗炎 议,膊以被用于您决懿闻越【1o 】。对于旁鼹赣客户溺,每当个淤息裂寒,滔镄 对象熬位爨立舔被受精,逡个消惠翔果食有攘测倍息,裁嗣弛僖惑潦预测活动辩 堂匹查堂堡生堂堡垒兰 她避些鱼璺鱼墨茎壁楚i ! ! ! 翌 歙的运动,直到下一个消息到来。这个消息也可熊不含推测信息,那么,旁观者 客户端盆已根据淫动对象的活动动作历史记录及其它已船的状态信息自行推测。 有了推测信息,活动对象的运动就可以继续下去,展示连贯的运动过程。另一方 碰,动作港客户端会比较其接下柬的动作和预测是否相符,如果不檩符氍发包。 ;i 入航位推测旨在解决吞吐量问题和平滑旁观者客户端道劝,但怒牺牲了数据一 致性。 3 t 2 动作者推测下一步动作 根据实际情况,鉴于旁观者不了解动作者的状态信息,其推测能力有限,因 鼗奉嗣主糗素l 选择动佟者谤冀撂溺,然爱将蒎淫l 潞作籍惑辫魏在灏蓠动 擎趣上。 这样服务器和旁观者客户端本身不再需要计算推测,只要执行推测动作信息就可 以了。同撵,动铭卷一墨羧溅裂撩测售惑窍误,立蠲产生修歪魂臻德惑,瓣壹彗在 当前动作包上,服务器和旁观者客户端收到修正动作信息并执行修正。 鞋嚣悫确作为秘,动俸者客户滤逶过徐溺爱产按键状况、a v a t a r 当前弑态及 周围世界状况来摊测a v a t a r 下一步动作。假设当前a v a t a r 不在攻击敌对对象,地 鬻土正蔫方没寅瓣稳,矮户按方囱键屠立帮松开,邸么客户溃难溺a v a t a r 只怒囱 前走一步即停。如果用户在动作执行过程中不再按方向键( 也就是说用户真是只 想起翦走一步,鬏溅是委麓戆) ,凌终者客户端、鞭务嚣、旁鼹毒客户装都攮嚣 了正确的动作,向前走了步;相反,如果用户在动作执行过程中又按了方向键 ( 也就是谈用户想a v a t a r 定蔻走不止一步,预测燕错误懿) ,动豫者窖户端立秘 产生修正幼作信息,通知服务器和旁观者寤户端不能停,继续走。如果某个旁观 者客户端融经停了( 由于嘲络延时时间不确定,这秘情况魁可能泌) ,那么黧赣舞 始走。这种情况下旁观者褥到的渤作与动作者实际动作是有差异的,也就是说, 出现了数据不一致。使用航位预测舞法,数据不一致是难以避免懿,关键臻看产 生的数攒不一致清况用户能不能接受。 3 3 3 碰撞推溯 对予葶予走动终,有一黉推测豢为关键,郡就是疆撞雅溺。碰撞维溺稔怒要推 测对象行残时是否会遇到阻挡,及在什么位置遇到阻挡【1 3 】。如图3 3 ,在a v a t a r 行走软迹上,b 点姿蓠辩袤g 没有黻接,毽楚霜簿菱寄一个柽耱超转点走泉,琵 a v a t a r 早一步到达。如果这样,a v a t a r 就不可以再问前进,必须停在b 点之前, 馨图中a 点。每一个行走魂终发起对,镄传者客户装都会皴磋攮接溅,擦瓣在 行走轨迹上是否可能会有阻挡,以此确定蠲的地。图3 3 的情况下,目的翅煦不再 浙江大学硕士学位论文 m m o r p g 服务器关键技术研究 建e 点,简是a 点。 虽然在行走动俘发起时傲了碰攮推测,但疑遥是不隧避免磁攮发生。因为 a v a t a r 周围的活动对象可能在a v a t a r 行走动作进行时改变状态。如图3 3 ,某n p c 在a v a t a r 行走开始稻走一步弼d 点,导数a v a t a r 不能通避d 点。激以,在行走 动作进行时,a v a t a r 每走一步,动作者客户端都要报测在行走轨迹k 是否可能会 有黻挡。始采有,立邵修芷蟊的遗,并通辩服务器。 abcde : - r _ _ + 啼 、l 卞 占撒。矬瓣 豳3 3 碰撞推测 l l 0 n p c 然面,这样还是无法宠念避免巢些延时鼹致黪磁撞( 比躲掰令a v a t a r 麟对走 到同一格并且只有步) 。服务器负责检测碰撞,对于后到的活动对象,服务器 将黧回滚至碰撞之前的使嚣,并通知动僚者客户端及可风的观察蠹客户端。 3 3 4 延时分析 蠡攥注意熬憨,戆致攘灏雾法哭是躲藏了一帮努筵瓣,势不自g 戆决惩瓣邋磁, 灞襻者客户端秘佟与旁躐者客户濡劝 聱裱然有满个靓延时的时闷间隔。韵作者动 乍一个露延时乏矮考戴梭簸务器验谖,褥一令饿避对之斌才能羧舅鼹爨簿产漆爨 示窭来。遮蹩溺络盛蔫裰滓鬻裔静黻涮,无法瓣狭,足熊在交互襁和公平径中做 出选择。选撵交互瞧,渤作案客户域要立靼执行鼹户动馋,麓 乍卷客户溅裁俸每 努躐嚣餐户溃勰终爨然窍磋个穗麓瓣熬黪鬻瀛隔。逡撵公平褴,动撂卷客户端就 必需等两个包延时的时间闻隔之鼯,期旁戏者鬻户端一起执 亍动铭 1 4 ,1 5 ,1 6 1 。 零稳步辊铡逡繇了交戛馥,鬻辫慰熏户来漤,a v a t a r 磷搀瀛赣考怒爨嚣黉魏,耀 户无法接受a v a t a r 经常被延时卡住,特别是延时较大的网络。 荸遮,程菜些方藤,霹戳鬻辩瓣程鼗方法( t i m ed i s t o r t i o n ) 1 0 徽一些折衷。例 鳃,可以为行惫动住设计一个妇慢到快的扁韵过穗并设计磷灏飘合。逡令寝麓过 程只农镪露嚣雾户蠊赋示,嚣在凳瑷嚣客户端没蠢瘸秘建程,羧戮行走麓耱立静 以正鬻逮度褥淹。以此抵消一部分网络延时,增进了公平悭。殿为毯捧潜客户端 浙溅大学硕
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年村后备干部考试题及答案
- 2025年辉南县补录1名乡镇、街道派驻消防文员模拟试卷及一套参考答案详解
- 2025湖南株洲消防救援支队技术服务队招聘4人考前自测高频考点模拟试题及答案详解(全优)
- 2025年河北张家口市塞北管理区公开招聘留置保障专职辅警12名模拟试卷及参考答案详解
- 2025年甘肃省兰州市春季赴外引才宣介活动行程安排考前自测高频考点模拟试题及答案详解(名校卷)
- 2025年宜昌市西陵区公开招聘40名社区专职工作人员考前自测高频考点模拟试题及1套完整答案详解
- 2025年广东广州市中级人民法院公开招聘劳动合同制审判辅助人员46人模拟试卷及完整答案详解一套
- 2025河北唐山市滦州市森林草原消防专业队员招聘7人模拟试卷及答案详解(历年真题)
- 2025国家民委直属事业单位招聘48人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025湖北黄石市阳新县卫生健康局招聘公益性岗位人员2人模拟试卷附答案详解(典型题)
- 林黛玉身世经历课件
- 体育老师读书分享:运动与人生
- 2025年安全员考试题库及参考答案完整版
- 财务风险防控与内控管理方案
- 动漫艺术概论考试卷子及答案
- 售电入门基础知识培训课件
- 2024年时事政治考试题库有答案
- 知道智慧树林业工程前沿进展满分测试答案
- 小儿镇静课件
- 2025年药店员工培训考试试题(附答案)
- 民办学校招生方案及推广策略实操指南
评论
0/150
提交评论