高性能游戏服务器架构设计,一种高性能大型多人在线角色扮演游戏服务器架构设计.doc...
一种高性能大型多人在线角色扮演游戏服务器架构设计
一种高性能大型多人在线角色扮演游戏服务器架构设计摘要:大型多人在线角色扮演游戏(Massively Multiplayer Online Role Playing Game,以下简称MMORPG)一般采用客户端/服务器结构,服务器架构设计是成功开发一款MMORPG的关键,本文对高性能MMORPG服务器架构设计进行了深入地研究。一个MMORPG一般会开设多个区供玩家进行游戏,一个区会包括一组服务器,本文设计出的服务器组架构包括LoginServer、WorldServer、WorldGameServer、GameServer和DBServer等服务器。
关键词:MMORPG;服务器;架构;高性能
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 09-0000-02
一、前言
MMORPG的结构分为客户端与服务器端,客户端展现游戏实时画面,并且将玩家在客户端逻辑请求的操作发往服务器端,服务器端负责响应所有客户端的连接请求,处理客户段的逻辑请求,并将结果返回给客户端以使游戏在客户端继续进行。客户端与服务器通过网络数据包交互和完成每一个游戏逻辑,游戏绝大部分逻辑都是在服务器端负责处理,为了保证海量用户同时进行游戏,并且体验良好,优秀服务器架构起到了非常关键的作用。
二、服务器架构设计
(一)服务器架构不同分类
服务器组架构有多种,其中使用最广泛的有两种:一种是带路由服务器的服务器架构;另一种是不带路由服务器的服务器架构,两种方案各有利弊。本文设计出了另一种新型的设计方案:一个世界服务器作为整个服务器组的中心,一切请求通过中心服务器转发,呈星形结构。每个其他服务器只负责处理自己的逻辑。这种方案做到了每个服务器各司其职,职责清晰,并且根据游戏玩家数量的改变来动态的增减服务器的数量。
(二)服务器架构设计
根据MMORPG规模大小和设计不同,每组服务器中服务器种类和数量也是不同的。本文中的设计是星形结构服务器组架构,如图1所示。
图1 星形服务器架构设计
星形服务器架构设计虽然增加了服务器设计的难度,并且服务器的数量也相应的增加了,但却带来了其它架构所不具有的优点,具体优点为:
1.WorldServer所有其他服务器的管理者,可以对所有其他服务器进行调度,使得整体结构非常清晰,各个服务器各司其职,也利于开发过程中的工作划分。
2.WorldServer只负责调度、数据包数据解析、数据加解密、数据超时处理,不做任何逻辑处理,这样主要是可以过滤掉错误和非法的数据包,提高其他服务器的处理数据的效率。
3.GameServer可以随时增加,WorldGameServer和GameServer中的复杂逻辑可以随时提取出来做成单独服务器,有效提高效率和扩展性。
星形架构虽然有上面的三个优点,但是还是需注意两个可能导致负面效果的情况:一个是如何避免中心管理者身份WorldServer的高负载瓶颈问题,第二个是由于不同的问题导致的WorldServer出现故障,导致整组服务器瘫痪,无法对外提供服务问题。上述两个问题可以采用Nginx负载均衡技术加以解决。Nginx负载均衡技术就是同时存在多个WorldServer,比如一组服务器可以配置两台或更多WorldServer。通过对Nginx进行简单的配置,就可以达到实时的同步两台或多台WorldServer,当某一台负载较大或者宕机时,自动切换到正常运行的WorldServer,从而保证所有客户端都不会掉线。从图1的服务器架构图可以看出,一组服务器包括LoginServer、WorldServer、WorldGameServer、DBServer和多个GameServer等多种服务器。一组服务器一般至少配置两台WorldServer和一台Nginx服务器,因为对于MMORPG运营来说稳定性是至关重要的。在游戏运营中所面临的潜在的风险是服务器宕机等突发事件。需配置两台WorldServer和一台Nginx服务器可以组成一个负载均衡,可以有效的防治服务器宕机带来的风险。下面是对各种服务器主要功能和服务器之间数据交互的详细解释。
(1)LoginServer
LoginServer主要功能是对玩家账号是否合法进行校验,只有通过校验的账号才能成功登录游戏界面,运行游戏程序。从架构图可以看出,LoginServer会连接WorldServer和AccoutDB。AccoutDB玩家账号信息数据库,数据库中存放玩家的具体信息,比如账号和密码等。玩家登录游戏的基本流程是,客户端填写好账号和密码,然后将账号和密码发送到LoginServer服务器验证账号和密码,如果验证通过,LoginServer服务器将发送请
相关知识
高性能游戏服务器架构设计,一种高性能大型多人在线角色扮演游戏服务器架构设计.doc...
多人在线游戏架构实战:基于C++的分布式游戏编程
当前常见游戏服务器引擎
架构与体验,在战棋游戏关卡设计背后的杂谈
如何构建和设计Multiplayer游戏
百度云游戏解决方案
腾讯游戏云平台
《少女前线》TC高性能骨骼怎么样 TC高性能骨骼装备属性介绍
游戏引擎架构:从基础到实践
金翎奖之大型多人在线MMO角色扮演游戏——《上仙OL》
推荐资讯
- 1老六爱找茬美女的烦恼怎么过- 4999
- 2博德之门3黄金雏龙法杖怎么得 4867
- 3《大侠立志传》剿灭摸金门任务 4312
- 4代号破晓官方正版角色介绍 4023
- 5赛马娘锻炼到底的伙伴支援卡事 3802
- 6闪烁之光11月兑换码大全20 3774
- 7原神原海异种刷怪路线-原神原 3547
- 8爆梗找茬王厕所特工怎么通关- 3542
- 9《我的世界》领地删除指令是什 3434
- 10原神开局星落湖怎么出去 原神 3426