网络游戏的常用体系结构

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络游戏的常用体系结构

网络游戏都是借助于互联网运作的,要实现网络游戏同步的第一步就是设计出高效的网络体系结构。数据信息传输的过程中,网络底层协议影响着信息传输的可靠性和准确性,因此网络协议的选择也是必须加以重视的问题。而影响网络游戏同步的各种因素正是我们为解决同步的突破口。

1 C/S模式的体系结构

大多MMOG游戏都采用C/S的网络体系结构,该体系结构如图1所示:

服务器

图1 基于C/S的网络游戏结构

在此结构中服务端的作用是担任中心服务器的角色,每个连接到此服务端的客户端需要更新或发出新的消息时,服务端接收到客户端传来的数据信息后,根据逻辑进行相应的处理后把消息广播到相应的客户端玩家,对于客户端来说,相互之间不能直接通信,他们都要通过服务器的间接传递才能收到另外客户端发来的数据信息。

在服务器端存放整个网络游戏的世界原型,而玩家只能在客户端进入这个世界,观察里面的动态和情况,在游戏世界里互相沟通、交流、做出不同的回应或攻击。这样客户端就不能篡改游戏的状态,但是同时也会把所有的任务都交给服务端,服务器就需要承载更多的压力。C/S结构的优点是能够很好的保证游戏状态的一致性,这是因为整个游戏世界的原型和数据都保存在服务端,而客户端的操作都需要经过服务端的处理,这样游戏状态要经过服务端的统一分析和处理,客户端的非法操作就无法执行,这样就有效的防止了玩家的作弊。该结构的缺点是容易造成系统的瓶颈,这是由于中心服务器的负载过重导致的。而服务器的瘫痪就会导致整个游戏的瘫痪。该结构的另一个缺点是客户端的升级十分困难,每次游戏升级都要下载庞大的客户端软件。尤其对于带宽小的用户更是一件十分不容易的事情。因此在设计游戏时,客户端更新程序的下载应适当缩减。

2 P2P体系结构

P2P体系结构[3],又称对等通信结构,该结构也是应用比较广泛的一种结构,

其结构图如图2所示。

浮动服务器(创建游戏玩家)

客户端客户端

图2 P2P(Peer to Peer)对等通信结构

与C/S体系结构不同的是,该结构没有中心服务器的概念,游戏状态都保存在客户端。各客户端之间采用Peer to Peer通信方式进行沟通和交流。

该结构的大体思想是:通常由创建游戏局的客户端担任服务器的角色,该客户端玩家既担任服务器也担任客户端的角色。这个服务器就像浮动服务器一样。对战型游戏大多采用此结构。

P2P结构的优点是缩短了传输的网络延迟,这是因为客户端之间是可以直接进行交互的,他们不用把数据信息发送到服务端等待服务端的统一裁决,这样就避免了消息通过服务端中转所花费的时间。游戏状态都保存在客户端,也就不存在C/S体系结构中的服务器资源有限而不能随时随地都及时反应的问题。该结构的缺点也是显而易见的,由于消息在各客户端之间传输时不可避免的会出现丢失或则时间延迟的情况,这样就很容易引起游戏状态的不同步。但是控制和决策机制都放在客户端,玩家要想作弊是轻而易举的事情,这种机制不能很好的防止玩家的作弊行为。

P2P体系结构是通过广播的形式来进行工作的,广播这种机制只能在局域网内使用,因此P2P结构比较适合应用于局域网中。

3 分布式体系结构

下面我们给出结合了C/S和P2P优点的体系结构,即分布式体系结构。该结构非常适合用于MMOG游戏中,该结构的玩家分布在不同的地区甚至有可能是不同的国家。它有多种设计和实现方式,镜像游戏服务器架构是一种很有代表性且比较常用的方式,如下图所示:

工作站

图3 镜像服务器架构

在采用分布式体系结构的系统中,当客户端登录时,根据“就近原则”,它会连接到与自己网络延迟较小的那台服务器上。由每个服务器来维护游戏状态的一致性,客户端和服务器之间的通信仍然类似于C/S结构,而镜像服务器之间通过P2P模式进行连接和交互。

在分布式体系结构中,每个镜像服务器都保存一份游戏状态备份(就像P2P 体系结构中的客户端一样),这样就消除了C/S体系结构中的弊端,即消除了服务器成为制约游戏的瓶颈的问题和一台服务器瘫痪后对游戏的同步影响问题。相对于P2P结构,此架构保存游戏状态的服务器数量较少,因而要达到游戏同步是比较容易的。

相关文档
最新文档