一种访问游戏服务器的方法、服务器和网络游戏系统的制作方法

文档序号:9455880阅读:456来源:国知局
一种访问游戏服务器的方法、服务器和网络游戏系统的制作方法
【技术领域】
[0001]本发明涉及游戏开发技术领域,具体地说,涉及一种访问游戏服务器的方法、服务器和网络游戏系统。
【背景技术】
[0002]现有的网络游戏通常由游戏服务者提供一个在线的虚拟世界,游戏用户在虚拟世界的中扮演一个角色,进而在虚拟游戏中进行聊天、移动、交易等游戏操作。现有的游戏服务器大多采用数据库、服务程序和客户端的模式进行架构,其中服务程序往往由统一语言编写。服务程序的高度集成导致不同的功能模块之间存在过高的耦合度,这使得针对某个功能模块的维护过程变得异常复杂,维护成本过高。
[0003]此外,现有的游戏服务器中数据与逻辑处理部分往往集成在一个功能模块中,随着数据量的逐渐增长,导致程序代码的规模进一步扩大,更加增大了对功能模块的维护难度。
[0004]因此,亟需一种降低功能模块之间耦合度的网络游戏服务器。

【发明内容】

[0005]本发明的目的在于解决现有的网络游戏服务器中功能模块耦合度过高,导致维护过程复杂的技术缺陷。
[0006]本申请首先提供一种网络游戏服务器,包括:
[0007]全局数据管理模块,用于保存公共数据;
[0008]至少一个世界对象模块,用于提供对公共数据的处理功能;
[0009]控制模块,其配置为基于客户端的访问请求与世界对象模块的对应关系,将客户端的访问请求转发至世界对象模块;
[0010]其中,世界对象模块根据客户的访问请求在全局数据管理模块中读取公共数据,对公共数据进行处理,并将处理后的公共数据存储到全局数据管理模块中。
[0011 ] 在一个实施例中,所述全局数据管理模块用于保存世界对象模块的标识与公共数据的对应关系。
[0012]在一个实施例中,所述世界对象模块还将处理后的公共数据反馈给控制模块,控制模块基于客户请求将处理后的公共数据反馈至客户端。
[0013]在一个实施例中,所述控制模块还用于在服务器初始化阶段,基于世界对象模块的标识选择加载部分世界对象模块。
[0014]在一个实施例中,所述世界对象模块还用于:
[0015]确定将要交互数据的其他世界对象模块的标识,并基于其他世界对象模块的标识在全局数据管理模块中读取公共数据,对公共数据进行处理。
[0016]本申请还提供一种网络游戏系统,包括:
[0017]如上文所述的网络游戏服务器;
[0018]至少一个客户端,其产生访问请求,并接收控制模块返回的公共数据。
[0019]本申请还提供一种访问游戏服务器的方法,其特征在于,包括:
[0020]控制模块接收客户端的访问请求;
[0021]控制模块基于客户端的访问请求与世界对象模块的对应关系,将客户端的访问请求转发至世界对象模块;
[0022]世界对象模块根据客户端的访问请求在全局数据管理模块中读取公共数据;
[0023]世界对象模块对公共数据进行处理,将处理后的公共数据存储到全局数据管理模块中。
[0024]在一个实施例中,还包括:
[0025]世界对象模块还将处理后的公共数据反馈给控制模块;
[0026]控制模块基于客户指令将处理后的公共数据反馈至客户端。
[0027]在一个实施例中,还包括:
[0028]在服务器初始化阶段,控制模块基于世界对象模块的标识选择加载部分世界对象模块。
[0029]在一个实施例中,还包括:
[0030]当前世界对象模块确定将要交互数据的其他世界对象模块的标识;
[0031]基于其他世界对象模块的标识在全局数据管理模块中读取公共数据;
[0032]当前世界对象模块对公共数据进行处理。
[0033]本申请实施例中各世界对象模块分别独立完成部分游戏功能,并将中间过程产生的数据作为公共数据保存在全局数据管理模块中进行共享,从而降低了逻辑处理模块和数据存储部分的耦合程度,同时也降低了不同的逻辑处理模块之间的耦合程度。这样以来,使得数据与逻辑处理严格分开,当某个世界对象模块需要进行逻辑扩展时,并不会影响到其他的世界对象模块。
[0034]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【附图说明】
[0035]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
[0036]图1为实施例一的网络游戏系统的结构示意图;
[0037]图2为实施例二的访问游戏服务器的方法的步骤流程图。
【具体实施方式】
[0038]为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明实施例作进一步地详细说明。
[0039]本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算机设备上运行的应用程序和此计算机设备都可以是模块。一个或多个模块、系统可位于执行中的一个进程和/或线程内,一个模块或者系统也可以位于一台计算机上和/或分布在两台或更多台计算机之间。
[0040]首先对本申请实施例中的术语“世界对象模块”和“全局数据管理模块”进行说明。世界对象模块是网络游戏服务器中用于实现某种游戏功能的独立单元,其仅进行逻辑处理,而不保存相关数据。全局数据管理模块用于保存用户数据和世界对象数据,其中保存的数据仅由世界对象模块读取和修改。全局数据管理模块与网络游戏服务器中的其他功能模块不存在逻辑上的关联关系。
[0041]实施例一
[0042]本实施例主要提供一种网络游戏系统和网络游戏服务器。如图1所示,该系统包括网络游戏服务器130和至少一个客户端150。客户端150产生访问请求,并发送至服务器130。该访问请求例如为用户的登录请求、注册请求、选择游戏场景的请求、设定角色的请求等。服务器130对访问请求进行处理,向客户端150返回用户数据。
[0043]服务器130主要包括全局数据管理模块131、至少一个世界对象模块133和控制模块 135。
[0044]全局数据管理模块131用于保存公共数据。其中,公共数据是登录到服务器的所有玩家数据的总和。公共数据包括有游戏中的角色数据,例如玩家的等级、经验、生命值、魔法值、装备、技能、好友和工会等;还包括实现游戏某种功能的中间数据,例如,对虚拟角色进行移动所产生的位置数据、路径、活动区域等。
[0045]世界对象模块133用于提供对公共数据的处理功能,实现游戏过程中的某种功能。举例来说,图1中的登陆模块负责验证用户的登录信息,管理登陆成功的用户的整个生命周期;对象移动模块负责地图中的NPC、物品操作、人物移动等游戏逻辑;路径模块负责处理NPC、物品操作、人物移动的路径。不限于此,网络游戏中的玩家PK、宠物系统、摆摊系统、行会系统、副本系统、宝石系统等也可利用世界对象模块实现。
[0046]世界对象模块133处理的中间数据作为公共数据保存在全局数据管理模块131中。例如,对象移动模块负责处理游戏界面中NPC、物品操作、人物移动、战斗力计算等等游戏逻辑,当玩家从当前界面退出游戏时,全局数据管理模块131保存玩家退出游戏时的地图编号和所在位置坐标,这样在玩家再次登陆时,会进入到上次退出时的地图和位置。
[0047]再次
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1