请看如下图示:
这个图是一个区的架构图,所有区的架构是一样的。上面虚线框的ServerGroup和旁边方框内的架构一样。图上的所有x N的服务器,都是多台一起的。红线,绿线,和蓝线图上也有图示,这里就不多介绍了。关于Agent Server大家也能看出来,其实就是Gate。
这里主要介绍下图上的标记了号码的位置的数据连接的内容和意义。
1- 这是一条WebService的管道,在用户激活该区帐号,或者修改帐号密码的时候,通过这条通道来插入和更新用户的帐号信息。
2- 这也是一条WebService管道,用来获取和控制用户该该组内的角色信息,以及进行付费商城代币之类的更新操作。
3- 这是一条本地的TCP/IP连接,这条连接主要用来进行服务器组在登陆服务器的注册,以及登陆服务器验证帐户后,向用户服务器注册帐户登陆信息,以及进行对已经登陆的帐户角色信息进行操作(比如踢掉当前登陆的角色),还有服务器组的信息更新(当前在线玩家数量等)。
4- 这也是一条本地TCP/IP连接,这条连接用来对连接到GameServer的客户端进行验证,以及获取角色数据信息,还有传回GameServer上角色的数据信息改变。
5- 这条连接也是一条本地的TCP/IP连接,它用来进行公共信息服务器和数个游戏服务器间的交互,用来交换一些游戏世界级的信息(比如公会信息,跨服组队信息,跨服聊天频道等)。
6- 这里的两条连接,想表达的意思是,UserServer和GameServer的Agent是可以互换使用的,也就是玩家进入组内之后,就不需要再切换Agent。如果不怕乱套,也可以把登陆服务器的Agent也算上,这样用户整个过程里就不需要再更换Agent,减少重复连接的次数,也提高了稳定性。(毕竟连接次数少了,也降低了连不上服务器的出现几率)
在这个架构里面,GameServer实际上是一个游戏逻辑的综合体,里面可以再去扩展成几个不同的逻辑服务器,通过PublicServer进行公共数据交换。
UserServer实际上扮演了一个ServerGroup的领头羊的角色,它负责向LoginServer注册和更新服务器组的信息(名字,当前人数),并且对Agent进行调度,对选择了该组的玩家提供一个用户量最少的Agent。同时,它也兼了一个角色管理服务器的功能,发送给客户端当前的角色列表,角色的创建,删除,选择等管理操作,都是在这里进行的。而且,它还是一个用户信息的验证服务器,GameServer需要通过它来进行客户端的合法性验证,以及获取玩家选择的角色数据信息。
采用这种架构的游戏,通常有以下表现。
1- 用户必须激活一个大区,才能在大区内登陆自己的帐号。
2- 用户启动客户端的时候,弹出一个登陆器,选择大区。
3- 用户启动真正的客户端的时候,一开始就是输入帐号密码。
4- 帐号验证完成之后,进行区内的服务器选择。
5- 服务器选择完成之后,进入角色管理。同时,角色在不同的服务器里不能共享。
市面上符合上面几个表现特征的游戏相当的多,而且也不乏旷世巨作。这个架构不是一个新的架构,但是它足够经典和完善,并且逻辑简单而清晰,用来做MMORPG,或者其它网络游戏的服务器架构,是一种不错的选择。
分享到:
相关推荐
老式服务器,台式机一般不支持另加2T以上大硬盘,这个补丁完美解决了加大硬盘。让老式机子有了再利用的价值。
玩冒险游戏一直是我使用计算机经验的一个重要部分。从最早的基于文本的冒险游戏到 2D 像素艺术、全动态视频和 3D 游戏,冒险游戏类型为我提供了很多美好的回忆。 有时我想重温那些老游戏,但它们很多都是在 Linux ...
老式打印器驱动oki5530,老式打印器驱动oki5530,老式打印器驱动oki5530
对来自老式视频游戏的灰度图像进行着色。为此,我使用深度学习,特别是基于卷积神经网络的自动编码器,也称为卷积自动编码器。
老式PL2303驱动适合XP系统,适用于台式机,功能很强大。欢迎下载
老式电表数字识别
FreeBSD高性能、硬件要求低而出众。 找一台老式的服务器或PC,加一台CVS进行开发版本管理,是一个不错的选择。 这是我自己在一台老式服务器上架设CVS服务器的过程。与大家分享。
老式缝纫机维修节选.doc
这是一款老的播放器,但可以打开所有的动画,是不错的选择,所以推荐。
非常好用的老式壁挂炉调温说明
本例子是一个环形双层的菜单,可以根据手势的左右滑动,可以进行相应的转动,并且可以点击任意一个选项,动态效果类似于老式的老式的转盘电话,自己脑补一下吧。点击任何一个菜单会在logCat里面打印出当前点击项。
PIPOLOS - 用于 Raspberry PI 的普通老式 OSGi 服务器 用于构建 OSGi / Equinox 应用程序的孵化套件。 这个最小的 OSGi 服务器包含: 春分 码头 菲利克斯网络控制台 此外,但可以从构建中删除,它包含 ECF 远程...
pcmcia 11m 老式笔记本PCMCIA接口网卡驱动
房间一款老式的冒险游戏(使用Python构建) Description :这是Python中基于文本的冒险游戏。 游戏玩法:您扮演冒险家的角色,在房间里走来走去,同时解决难题。 目标:到达总部房间与仙女见面(或尝试捡起物品得分...
程序用于创建高质量的音乐,无需专门的、昂贵的设备,并且具有难以部分复制的独特“手指感觉”... Schism 很可能建立在GCC4 支持的任何架构上(例如 alpha、m68k、arm 等),但它可能不会在许多系统上得到很好的优化。
这是一套老式放映机背景...另外使用了几个绿色半透明多边形装饰。 PowerPoint模板内容页,由24张绿色灰色搭配的扁平化幻灯片图表制作。 关键词:电影放映机幻灯片背景图片,影视传媒行业PowerPoint模板,.PPTX格式;
尤里卡:老式CRPG引擎,编辑器和游戏
网络游戏-IMS网络和老式网络的汇聚服务控制系统和方法.zip
怀表Maya模型,直接导入,内部精细齿轮,结构完整,包括曲面和多边形模型。
一个老式的游戏引擎,非常类似于Duke Nukem,Commander Keen和Biomenace的老式ID和Apogee游戏,略微受到Diana Gruber的“动作街机冒险套装”的启发。 用Allegro.pas制作并在Object Pascal中编程。