第6章网络游戏系统架构.ppt
《第6章网络游戏系统架构.ppt》由会员分享,可在线阅读,更多相关《第6章网络游戏系统架构.ppt(37页珍藏版)》请在冰豆网上搜索。
![第6章网络游戏系统架构.ppt](https://file1.bdocx.com/fileroot1/2022-10/9/9701d259-06f1-4f75-b14c-c958b3487c38/9701d259-06f1-4f75-b14c-c958b3487c381.gif)
第第55章游戏同步技术章游戏同步技术,网络游戏网络游戏的功能结构及系统架构的功能结构及系统架构11网络游戏同步技术网络游戏同步技术22网游系统的功能结构网游系统的功能结构33网络游戏的系统架构网络游戏的系统架构5.15.1游戏同步技术游戏同步技术网络游戏要求多玩家、同步在网络游戏中是非常重要的,网络游戏要求多玩家、同步在网络游戏中是非常重要的,它保证了每个玩家在屏幕上看到的东西大体是一样的。
它保证了每个玩家在屏幕上看到的东西大体是一样的。
实现游戏同步最简单的方法是把每个玩家的动作向其实现游戏同步最简单的方法是把每个玩家的动作向其它玩家广播一遍。
它玩家广播一遍。
为实现高效的同步,需要考虑的问题:
为实现高效的同步,需要考虑的问题:
同步的范围:
同步消息向哪些用户发送。
需要细分游戏世界的同步的范围:
同步消息向哪些用户发送。
需要细分游戏世界的粒度,并进行索引,以快速定位。
粒度,并进行索引,以快速定位。
同步的内容:
主要指图像和状态。
同步的内容:
主要指图像和状态。
图像同步通过传输指令,一般是移动的坐标。
图像同步通过传输指令,一般是移动的坐标。
状态一般由服务端按一定频率发送给用户。
状态一般由服务端按一定频率发送给用户。
比如玩家比如玩家AA向服务器发了条指令:
现在在向服务器发了条指令:
现在在P1P1点,要去点,要去P2P2点。
指令发点。
指令发出的时间是出的时间是T0T0,服务器收到指令的时间是,服务器收到指令的时间是T1T1,然后向周围的玩家,然后向周围的玩家广播这条消息,消息的内容是广播这条消息,消息的内容是“玩家玩家AA从从P1P1到到P2P2”在在AA附近的玩家附近的玩家BB,收到服务器的这则广播的消息的时间是,收到服务器的这则广播的消息的时间是T2T2,然,然后开始在客户端上画图,后开始在客户端上画图,AA从从P1P1到到P2P2点。
这个时候就存在一个不同点。
这个时候就存在一个不同步的问题,玩家步的问题,玩家AA和玩家和玩家BB的屏幕上显示的画面相差了的屏幕上显示的画面相差了T2-T1T2-T1的时间。
的时间。
如何处理网络延迟问题?
如何处理网络延迟问题?
方法:
同步验证,预测等技术方法:
同步验证,预测等技术同步验证同步验证:
每条指令都要得到服务器的验证才能执行。
每条指令都要得到服务器的验证才能执行。
预测技术预测技术:
服务端保存每个客户端的传输时间,当向其它玩家服务端保存每个客户端的传输时间,当向其它玩家发送指令时,服务器先预测一个时间值,然后客户端根据些时发送指令时,服务器先预测一个时间值,然后客户端根据些时间值与本间值与本地时间值进行比较,然后再进行相应地时间值进行比较,然后再进行相应的处理。
的处理。
t2服务器客户A客户BTa,Tb移动指令P1-p2验证Ta+t2t2t1t3T3-(Ta+t2)delt?
p1p2p35.25.2网络游戏的功能结构网络游戏的功能结构网络游戏的功能结构指一款网络游戏所包括的基本功能。
网络游戏的功能结构指一款网络游戏所包括的基本功能。
游戏下载游戏下载及及更新系统更新系统游戏点卡游戏点卡记费系统记费系统游戏虚拟游戏虚拟消费系统消费系统游戏用户游戏用户管理系统管理系统游戏会员游戏会员管理系统管理系统游戏游戏纸娃娃纸娃娃系统系统游戏聊天游戏聊天系统系统游戏游戏GMGM网管系统网管系统游戏游戏系统系统back2.12.1网络游戏的功能结构网络游戏的功能结构网络游戏的功能结构指一款网络游戏所包括的基本功能。
网络游戏的功能结构指一款网络游戏所包括的基本功能。
1.游戏下载及更新系统游戏下载及更新系统主要实现游戏客户端的下载及更新模块的下载。
每次用主要实现游戏客户端的下载及更新模块的下载。
每次用户登录后,服务器要检查客户端版本是否满足游戏的最户登录后,服务器要检查客户端版本是否满足游戏的最低要求,如果不满足,则提示用户升级客户端。
低要求,如果不满足,则提示用户升级客户端。
2.游戏点卡记费系统游戏点卡记费系统通过对游戏进行计时收费的系统,一般按分钟计算,玩通过对游戏进行计时收费的系统,一般按分钟计算,玩家通过购买游戏点卡(或点数)玩游戏,登录游戏系统家通过购买游戏点卡(或点数)玩游戏,登录游戏系统时开始计时,点卡用完后系统自动将玩家断开。
点卡主时开始计时,点卡用完后系统自动将玩家断开。
点卡主要适用于要适用于MMORPG类游戏,但现在棋牌类游戏中也开类游戏,但现在棋牌类游戏中也开始使用。
始使用。
back3.游戏用户管理系统游戏用户管理系统实现用户的注册,资料修改,用户资料统计和维护等。
实现用户的注册,资料修改,用户资料统计和维护等。
4.游戏会员管理系统游戏会员管理系统会员是一些特殊的用户,他们享受一些特殊的待遇,如会员是一些特殊的用户,他们享受一些特殊的待遇,如特殊的道具,特殊的标志,特殊的权限。
会员资格通过特殊的道具,特殊的标志,特殊的权限。
会员资格通过购买取得。
本系统的主要功能包括会员资格管理,权限购买取得。
本系统的主要功能包括会员资格管理,权限管理,会员资料的维护及一些统计功能。
管理,会员资料的维护及一些统计功能。
back5.游戏纸娃娃系统游戏纸娃娃系统指游戏中人物的外观装备,如武器,服装,发型,表情,指游戏中人物的外观装备,如武器,服装,发型,表情,面具,头饰以及各种标志(勋章,钻石,宝石)。
面具,头饰以及各种标志(勋章,钻石,宝石)。
6.游戏虚拟消费系统游戏虚拟消费系统包括虚拟银行,虚拟商城,充值业务等,该系统是网络包括虚拟银行,虚拟商城,充值业务等,该系统是网络游戏中的增值业务,为运营商带来实在的利润。
游戏中的增值业务,为运营商带来实在的利润。
back7.游戏聊天系统游戏聊天系统与玩家或朋友聊天,发布各种广告信息,促销信息,与玩家或朋友聊天,发布各种广告信息,促销信息,GM发布重要通知的手段。
发布重要通知的手段。
8.游戏游戏GM网管系统网管系统GM(GameMaster)指游戏管理员,管理在线用户,)指游戏管理员,管理在线用户,管理游戏。
管理游戏。
5.35.3网络游戏的系统架构网络游戏的系统架构网络游戏的架构网络游戏的架构是指网络游戏的客户端和服务端连接的是指网络游戏的客户端和服务端连接的一种拓扑结构。
一种拓扑结构。
经常采用的架构有经常采用的架构有:
C/SC/S架构架构B/sB/s架构架构P2PP2P架构。
架构。
ClientClientServerBrowserBrowserServermainserverClient1(server)Client2Client3由于网络游戏的复杂性,需要服务端也要采取分布式计由于网络游戏的复杂性,需要服务端也要采取分布式计算结构,从而使得其拓扑结构变得日益复杂。
算结构,从而使得其拓扑结构变得日益复杂。
例例1.1.以以QQQQ为例说明棋牌类游戏的体系结构为例说明棋牌类游戏的体系结构登录用户帐号及密码服务器向用户发送大厅信息客户发送登录房间信息服务器返回房间内游戏玩家的信息选择桌子开始游戏记录玩家得分情况nextQQQQ棋牌类游戏使用过程中信息的来源:
棋牌类游戏使用过程中信息的来源:
登录时登录时与固定的与固定的IPIP连接连接登录成功登录成功收到来自十几个收到来自十几个IPIP的大量数据包,的大量数据包,内容主要为:
内容主要为:
大厅信息及大厅信息及一些广告信息等一些广告信息等展开游戏树展开游戏树进入房间进入房间收到来自十几个收到来自十几个IPIP的大量数据包,的大量数据包,内容主要为:
内容主要为:
游戏服务器的游戏服务器的连接信息及人数连接信息及人数信息信息与固定与固定IPIP的的游戏服务器游戏服务器连接连接独立的独立的登录服登录服务器务器若干台大厅服务若干台大厅服务器和一些其它广器和一些其它广告类的服务器告类的服务器若干个若干个大厅服大厅服务器务器确定的确定的游戏服务器游戏服务器登录验登录验证功能证功能实时游戏实时游戏人数统计人数统计实时游戏实时游戏人数统计人数统计进行游戏进行游戏为了维护游戏的运行,还需要维系服务器间通信,保证游戏中数为了维护游戏的运行,还需要维系服务器间通信,保证游戏中数据同步的服务器,以及数据库服务器等。
据同步的服务器,以及数据库服务器等。
LSHS组组GS组组WS组组ISDBS组组服务端架构服务端架构USLS组组HS组组GS组组WS组组ISDBS组组区域服务器组区域服务器组areaservergroupMainserverareaservergroupareaservergroupareaservergroup联众的棋牌类游戏服务端结构与联众的棋牌类游戏服务端结构与QQQQ相似,只是在功能划分上有微小相似,只是在功能划分上有微小的差别。
的差别。
棋牌类游戏也有基于棋牌类游戏也有基于P2PP2P结构的。
其原理:
结构的。
其原理:
除登录及大厅服务器外,游戏服务器不是固定的,而是从用户除登录及大厅服务器外,游戏服务器不是固定的,而是从用户中选择确定,每一局的游戏服务器可能都不一样。
中选择确定,每一局的游戏服务器可能都不一样。
主机主机主机主机例例2.2.以以MMORPGMMORPG游戏的体系结构游戏的体系结构MMORPGMMORPG中主要包括:
地形信息,用户控制的人物,可变的对象中主要包括:
地形信息,用户控制的人物,可变的对象(武器,物品)以及(武器,物品)以及AIAI控制的非玩家角色(控制的非玩家角色(NPCNPC)。
)。
游戏服务器要处理的基本逻辑有移动、聊天、技能、物品、任务游戏服务器要处理的基本逻辑有移动、聊天、技能、物品、任务等,另外还有地图管理与消息广播来对其他高级功能做支撑等,另外还有地图管理与消息广播来对其他高级功能做支撑,如纵如纵队、好友、公会、战场和副本等,这些都是通过基本逻辑功能组队、好友、公会、战场和副本等,这些都是通过基本逻辑功能组合或扩展而成。
合或扩展而成。
ClientServerClientLoginserverGameServersClientLoginserversGameServerSDNSserver每个游戏服都是一个每个游戏服都是一个游戏世界游戏世界游戏世界最基本也最游戏世界最基本也最紧密的信息是地图紧密的信息是地图=GameServerSWorldservice1Worldservice2WorldServicenClientLoginserversCenterserverDNSserverWorldservice1Worldservice2WorldServicenClientLoginserversDNSserverWorldservice1Worldservice2WorldServicencenterserverGatewayserverGatewayserverClientLoginserversDNSserverWorldservice1Worldservice2WorldServicencenterservermasterserverMasterserverGatewayserverWorldServicek优化游戏服优化游戏服ClientLoginserversDNSservercenterservermasterserver增加公共逻辑增加公共逻辑GatewayserverWorldservice1AIserver1Worldservice2AIserver1帐号DB游戏DB更为先进的,计算能力更强的结构:
蝴蝶网格更为先进的,计算能力更强的结构:
蝴蝶网格采用采用50台由光纤连接的台由光纤连接的linux服务器,采用分布式人一智能技服务器,采用分布式人一智能技术,构成多层,完全分布的计算架构,支持同时在线人数术,构成多层,完全分布的计算架构,支持同时在线人数300万万GameServersAIserversGatewayserversDBserversVirginiaVirginiaLosAngelesGameServersAIserversGatewayservers