
棋牌平台,棋牌官网网站,棋牌游戏APP下载
第33卷V01.33第15期N o.15计算机工程Com puter Engi neeri ng2007年8月August2007· 开发研究与设计技术·文章编号:l ∞o__3428( 2∞7) 15一加283__03文献标识码:A中圈分类号tTP393棋牌类网络游戏服务端的架构设计吴兆定,袁扛海,郑世宝( 上海交通大学图像通信与信息处理研究所,上海200240)摘要:网络游戏目前在国内相当热门,棋牌类游戏在网络游戏中占有比较重要的地位。越来越多的开发商加入到了网络游戏的开发中来,但有关网络游戏开发技术介绍的资料却比较少。该文总结了一款通用的棋牌类网络游戏服务端的架构设计,介绍了基本架构、通信协议、多线方...
第33卷V01.33第15期N o.15计算机工程Com puter Engi neeri ng2007年8月August2007 开发研究与设计技术文章编号:l o__3428( 27) 15一加283__03文献标识码:A中圈分类号tTP393棋牌类网络游戏服务端的架构设计吴兆定,袁扛海,郑世宝( 上海交通大学图像通信与信息处理研究所,上海200240)摘要:网络游戏目前在国内相当热门,棋牌类游戏在网络游戏中占有比较重要的地位。越来越多的开发商加入到了网络游戏的开发中来,但有关网络游戏开发技术介绍的资料却比较少。该文总结了一款通用的棋牌类网络游戏服务端的架构设计,介绍了基本架构、通信协议、多线的相关内容,并对整个架构作了一定分析。关健诃:网络游戏;服务器;服务端架构;通信协议D esi gnof Server Archi tecture for Chess/Cards O nl i ne G am esW UZhao- di ng,YU ANJ i ang- hai ,ZH EN GShi -bao(Insti tuteofIm ageCom m uni cati on& Inf orm ati onProcessi ng,Shanghai J i aotong U ni versi ty, Shanghai 200240)[ Abstract! O nl i ne gam esarevery popul arnowi nChi na,am ongw hi ch the chess/cards onl i negam ei s oneof the hottest.But therearef ewpapersabout howtodevel opanonl i negam e.Basedon the w ork on thepracti cal proj ect,thi s paper presents auni versalserver archi tecture for chess/cardsonl i negam es.Thearchi tecture,com m uni cati on protocol ,m ul ti threadm odel and i nterface forthi rdparty of thi s server aredi scussed.It anal yzestheoveral l archi tecture of thegam eserver.onl i negam e;server;server archi tecture;com m uni cati on protocol[ Keyw ordsi棋牌类休闲游戏是网络游戏中非常重要的一类。从早期的联众到现在的Q Q 游戏,棋牌类休闲游戏得到了长足的发展。由于这类游戏是将传统的民间游戏网络化,玩家很容易上手,因此这类游戏成了受众群最大的网络游戏之一。作为研究开发人员,比较关心如何去开发这样的游戏。然而,由于商业竞争的原因,目前网络上、期刊上很难找到相关的技术文档。本文结合工程开发实践提出了一种通用的棋牌类网络游戏的服务端架构,希望对读者能有一定的参考价值。1问题在设计这个通用棋牌类网络游戏的服务端架构时,必须考虑以下4个问题:( 1) 高效性:网络游戏服务端的首要目标就是能为大量的客户端服务,同时还应该具备相当的游戏逻辑处理速度。( 2) 安全性:服务端要求能够对一些恶意攻击有一定的防护能力。( 3) 扩展性:一个好的网络游戏服务端架构,要求在一定程度上,能动态地增加或者减少当前的服务端规模。( 4) 通用性:对于一个通用的棋牌类游戏平台来讲,其通用性就显得相当重要。平台要求能兼容第3方开发的游戏。下面就以上面提出的4个问题为目标,给出一种通用的棋牌类网络游戏的服务端架构的设计。2设计2.1架构棋牌类游戏与其他网游最大的不同点在于,其游戏逻辑比较简单,通常一台服务器就可以承担一种甚至多种游戏的逻辑处理,而其他游戏却不一定是这样。比如典型的M M O RPG游戏,一般一台服务器只负责一块地图的逻辑处理,还可能有N PC服务器、物品掉落服务器等专门服务器。另外,棋牌类游戏的结构相对厮言也比较固定和单一,一般由大厅和游戏房间组成,大厅是选择游戏的平台,玩家在房间里进行游戏。针对这些特点,给出了如下一种架构:一种通用的棋牌类网络游戏服务端的架构如图1所示,主要分为5种软服务器:登录服务器( 109i nserver,LS),大厅服务器(hal l server,H S) ,中央服务器( m ai n server,M S) ,游戏服务器( gam e server,GS) 和数据库服务器( DB) 。所谓“ 软服务器” 是指逻辑意义上的服务器,并不等于现实中的一台具体的物理服务器。一台物理服务器上可以运行多个软服务器,一个软服务器也可能是由多台物理服务器所组成。圈1晨务靖槊构示意图Ls用于对玩家进行登录验证。玩家通过验证后,就与Ls断开连接,以腾出Socket资源。根据玩家数量的多少,可以设置多个Ls,这时可采用一定的负载均衡策略,如最简单的基于DN S的负载均衡。玩家通过Ls验证之后,就会与H S发起连接。一旦客户端和H S建立起合法连接,玩家就进入了游戏的大厅。此后玩家一直与H S保持连接,这样可以很方便地检测玩家的意作者筒介:吴兆定( 1981一) ,男,硕士研究生,主研方向:网游服务端设计;袁江海,助理研究员;郑世宝,教授、博士生导师收稿日期:20060827E m ai l :sol ve@ sj tu.edu.cn一283 万方数据