一种游戏数值同步的方法及系统与流程

文档序号:16390125发布日期:2018-12-22 11:17阅读:175来源:国知局
一种游戏数值同步的方法及系统与流程

本发明涉及计算机技术领域,特别涉及一种游戏数值同步的方法及系统。

背景技术

游戏数值配置同步方法,是游戏在开发到上线阶段,以及后续的版本迭代开发中使用的一套数值配置管理工具,数值策划人员通过excel办公软件制作游戏数值配置,再提供给前端与后端的开发人员,前端人员需要将excel的数据配置文件转换成前端需要的格式,再导入到游戏中;后端人员也需要将excel的数据配置文件转换成后端需要的格式,再导入到后端的游戏服务器的数据库中,再重启或更新游戏服务器让数值配置生效;这种方式前端与后端配置导入不能及时同步,而且数值策划人员每次更新数据配置都需要经过繁琐的配置转换步骤。



技术实现要素:

本发明所要解决的技术问题是:提供一种游戏数值同步的方法及系统,能够实现开发阶段游戏数值的自动化同步,提高开发效率。

为了解决上述技术问题,本发明采用的一种技术方案为:

一种游戏数值同步的方法,包括步骤:

s1、配置服务器接收待同步游戏数值的配置文件并存储;

s2、游戏服务器监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;

s3、客户端启动时发送第一消息至游戏服务器;

s4、游戏服务器接收所述第一消息后,判断配置服务器中的配置文件是否已更新,若是,则根据所述第一消息从配置服务器中获取客户端所需的配置文件,并发送至客户端。

为了解决上述技术问题,本发明采用的另一种技术方案为:

一种游戏数值同步的系统,包括配置服务器、游戏服务器和客户端,所述配置服务器包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述游戏服务器包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述客户端包括第三存储器、第三处理器及存储在第三存储器上并可在第三处理器上运行的第三计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:

s1、接收待同步游戏数值的配置文件并存储;

所述第二处理器执行所述第二计算机程序时实现以下步骤:

s2、监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;

s4、接收客户端发送的第一消息后,判断配置服务器中的配置文件是否已更新,若是,则根据所述第一消息从配置服务器中获取客户端所需的配置文件,并发送至客户端,所述第一消息为客户端启动时发送;

所述第三处理器执行所述第三计算机程序时实现以下步骤:

s3、客户端启动时发送第一消息至游戏服务器。

本发明的有益效果在于:通过在开发阶段由配置服务器统一接收待同步游戏数值的配置文件并存储,再通过游戏服务器监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;客户端启动时发送第一消息至游戏服务器,游戏服务器接收所述第一消息后,判断配置服务器中的配置文件是否已更新,若是,则根据所述第一消息从配置服务器中获取客户端所需的配置文件,并发送至客户端,实现了开发阶段游戏数值的自动化同步,提高开发效率。

附图说明

图1为本发明实施例的游戏数值同步的方法流程图;

图2为本发明实施例的游戏数值同步的系统的结构示意图;

标号说明:

1、游戏数值同步的系统;2、配置服务器;3、第一存储器;

4、第一处理器;5、游戏服务器;6、第二存储器;7、第二处理器;8、客户端;9、第三存储器;10、第三处理器。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:在开发阶段由配置服务器统一接收待同步游戏数值的配置文件并存储,游戏服务器在监听到配置文件更新时加载配置文件,而客户端在启动时发送第一消息获取所需的配置文件,实现了开发阶段游戏数值的自动化同步,提高开发效率。

请参照图1,一种游戏数值同步的方法,包括步骤:

s1、配置服务器接收待同步游戏数值的配置文件并存储;

s2、游戏服务器监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;

s3、客户端启动时发送第一消息至游戏服务器;

s4、游戏服务器接收所述第一消息后,根据所述第一消息判断配置服务器中的配置文件是否已更新,若是,则从配置服务器中获取客户端所需的配置文件,并发送至客户端。

从上述描述可知,本发明的有益效果在于:通过在开发阶段由配置服务器统一接收待同步游戏数值的配置文件并存储,再通过游戏服务器监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;客户端启动时发送第一消息至游戏服务器,游戏服务器接收所述第一消息后,判断配置服务器中的配置文件是否已更新,若是,则根据所述第一消息从配置服务器中获取客户端所需的配置文件,并发送至客户端,实现了开发阶段游戏数值的自动化同步,提高开发效率。

进一步的,步骤s1具体为:

配置服务器接收待同步游戏数值的配置文件,通过md5算法分别计算得到所述待同步游戏数值的配置文件的md5值和已存储的配置文件的md5值,并判断所述待同步游戏数值的配置文件的md5值和已存储的配置文件的md5值是否相等,若否,则更新所述待同步游戏数值的配置文件至数据库配置表中,并记录所述待同步游戏数值的配置文件的版本号为第一版本号。

由上述描述可知,在比较之前先通过md5算法分别计算得到所述待同步游戏数值的配置文件的md5值和已存储的配置文件的md5值,缩短了直接比较所需的时间,提高了数据处理的效率。

进一步的,步骤s2具体为:

游戏服务器监听所述数据库配置表,根据预设的时间间隔读取所述数据库配置表中的配置文件的更新状态,当监听到所述数据库配置表中的配置文件的版本号有更新时,则加载所述配置文件。

由上述描述可知,通过预设的时间间隔读取所述数据库配置表中的配置文件的更新状态,可防止读取过于频繁。

进一步的,步骤s4中所述的游戏服务器接收所述第一消息后,根据所述第一消息判断配置服务器中的配置文件是否已更新具体为:

s41、游戏服务器接收所述第一消息,所述第一消息为第二版本号;

s42、游戏服务器根据所述第二版本号判断所述第二版本号和所述第一版本号是否相同,若否,则判断所述配置服务器中的配置文件已更新。

由上述描述可知,通过比较第一版本号和第二版本号是否相同来判断配置文件是否更新,操作更加简便。

进一步的,步骤s4中所述的从配置服务器中获取客户端所需的配置文件具体为:

s43、游戏服务器接收配置服务器发送的客户端所需的配置文件,所述客户端所需的配置文件由配置服务器通过预设的过滤规则对所述数据库配置表中的待同步游戏数值的配置文件进行过滤得到。

由上述描述可知,通过预设的过滤规则对所述数据库配置表中的待同步游戏数值的配置文件进行过滤得到客户端所需的配置文件,简化了客户端获取配置文件的过程,使得游戏数值的获取更加高效。

请参照图2,一种游戏数值同步的系统1,包括配置服务器2、游戏服务器5和客户端8,所述配置服务器2包括第一存储器3、第一处理器4及存储在第一存储器3上并可在第一处理器4上运行的第一计算机程序,所述游戏服务器5包括第二存储器6、第二处理器7及存储在第二存储器6上并可在第二处理器7上运行的第二计算机程序,所述客户端8包括第三存储器9、第三处理器10及存储在第三存储器9上并可在第三处理器10上运行的第三计算机程序,所述第一处理器4执行所述第一计算机程序时实现以下步骤:

s1、接收待同步游戏数值的配置文件并存储;

所述第二处理器7执行所述第二计算机程序时实现以下步骤:

s2、监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;

s4、接收客户端发送的第一消息后,判断配置服务器中的配置文件是否已更新,若是,则根据所述第一消息从配置服务器中获取客户端所需的配置文件,并发送至客户端,所述第一消息为客户端启动时发送;

所述第三处理器10执行所述第三计算机程序时实现以下步骤:

s3、客户端启动时发送第一消息至游戏服务器。

从上述描述可知,本发明的有益效果在于:通过在开发阶段由配置服务器统一接收待同步游戏数值的配置文件并存储,再通过游戏服务器监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;客户端启动时发送第一消息至游戏服务器,游戏服务器接收所述第一消息后,判断配置服务器中的配置文件是否已更新,若是,则根据所述第一消息从配置服务器中获取客户端所需的配置文件,并发送至客户端,实现了开发阶段游戏数值的自动化同步,提高开发效率。

进一步的,步骤s1具体为:

接收待同步游戏数值的配置文件,通过md5算法分别计算得到所述待同步游戏数值的配置文件的md5值和已存储的配置文件的md5值,并判断所述待同步游戏数值的配置文件的md5值和已存储的配置文件的md5值是否相等,若否,则更新所述待同步游戏数值的配置文件至数据库配置表中,并记录所述待同步游戏数值的配置文件的版本号为第一版本号。

由上述描述可知,在比较之前先通过md5算法分别计算得到所述待同步游戏数值的配置文件的md5值和已存储的配置文件的md5值,缩短了直接比较所需的时间,提高了数据处理的效率。

进一步的,步骤s2具体为:

监听所述数据库配置表,根据预设的时间间隔读取所述数据库配置表中的配置文件的更新状态,当监听到所述数据库配置表中的配置文件的版本号有更新时,则加载所述配置文件。

由上述描述可知,通过预设的时间间隔读取所述数据库配置表中的配置文件的更新状态,可防止读取过于频繁。

进一步的,步骤s4中所述的接收所述第一消息后,根据所述第一消息判断配置服务器中的配置文件是否已更新具体为:

s41、接收所述第一消息,所述第一消息为第二版本号;

s42、根据所述第二版本号判断所述第二版本号和所述第一版本号是否相同,若否,则判断所述配置服务器中的配置文件已更新。

由上述描述可知,通过比较第一版本号和第二版本号是否相同来判断配置文件是否更新,操作更加简便。

进一步的,步骤s4中所述的从配置服务器中获取客户端所需的配置文件具体为:

s43、接收配置服务器发送的客户端所需的配置文件,所述客户端所需的配置文件由配置服务器通过预设的过滤规则对所述数据库配置表中的待同步游戏数值的配置文件进行过滤得到。

由上述描述可知,通过预设的过滤规则对所述数据库配置表中的待同步游戏数值的配置文件进行过滤得到客户端所需的配置文件,简化了客户端获取配置文件的过程,使得游戏数值的获取更加高效。

实施例一

请参照图1,一种游戏数值同步的方法,包括步骤:

s1、配置服务器接收待同步游戏数值的配置文件并存储;

步骤s1具体为:

配置服务器接收待同步游戏数值的配置文件,通过md5算法分别计算得到所述待同步游戏数值的配置文件的md5值和已存储的配置文件的md5值,并判断所述待同步游戏数值的配置文件的md5值和已存储的配置文件的md5值是否相等,若否,则更新所述待同步游戏数值的配置文件至数据库配置表中,并记录所述待同步游戏数值的配置文件的版本号为第一版本号;

s2、游戏服务器监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;

步骤s2具体为:

游戏服务器监听所述数据库配置表,根据预设的时间间隔读取所述数据库配置表中的配置文件的更新状态,当监听到所述数据库配置表中的配置文件的版本号有更新时,则加载所述配置文件;

s3、客户端启动时发送第一消息至游戏服务器;

s4、游戏服务器接收所述第一消息后,根据所述第一消息判断配置服务器中的配置文件是否已更新,若是,则从配置服务器中获取客户端所需的配置文件,并发送至客户端;

步骤s4中所述的游戏服务器接收所述第一消息后,根据所述第一消息判断配置服务器中的配置文件是否已更新具体为:

s41、游戏服务器接收所述第一消息,所述第一消息为第二版本号;

s42、游戏服务器根据所述第二版本号判断所述第二版本号和所述第一版本号是否相同,若否,则判断所述配置服务器中的配置文件已更新;

步骤s4中所述的从配置服务器中获取客户端所需的配置文件具体为:

s43、游戏服务器接收配置服务器发送的客户端所需的配置文件,所述客户端所需的配置文件由配置服务器通过预设的过滤规则对所述数据库配置表中的待同步游戏数值的配置文件进行过滤得到。

实施例二

本实施例将结合具体的应用场景,进一步说明本发明上述一种游戏数值同步的方法及系统是如何实现的:

首先本发明主要适用于游戏开发阶段,由于在游戏开发与测试环境中才会需要经常调整与修改配置数值,最终达到比较稳定的一份游戏数值,后续再修改的可能性比较低,且前端(客户端)仅在开发环境时才会有自动检测更新配置文件的流程代码,配置服务器导出的文件格式与前端的代码语法相同,如h5前端采用的是typescript或javascript开发语言,导出的配置也是typescript或javascript的文件格式,不用再写读取与解析的代码,直接可以使用,提高了开发效率与性能;

1、在开发阶段数值策划人员打开excel配置文件增加或调整游戏数值,excel配置文件需要保证一定的格式,具体的excel的工作sheet中前两行用于标注数值的字段信息,第一行是中文的字段说明,第二行是英文的字段说明,客户端所需的游戏数值为excel配置文件中部分的字段数据,而游戏服务器所需的游戏数值为excel配置文件中全部的字段数据,且所述excel配置文件中有些字段数据需要加密,如物品掉落概率和计算公式系数等,若excel配置文件比较多且文件较大时会做按需加载更新;实际上在生产环境时很多在客户端使用的配置数值变化是非常小的,在开发测试时需要调整数值才会些变化,都采用上线更新方案比较浪费流量;

2、数值策划人员调整完游戏数值保存为待同步游戏数值的配置文件,使用git客户端工具将所述待同步游戏数值的配置文件推送到git服务器(即配置服务器)并存储;

具体的配置服务器接收待同步游戏数值的配置文件,读取excel配置文件,且每种配置单独一个文件,先读取excel的工作sheet的名称(名称的命名需采用英文,若有含有中文则作为数据库配置表desc字段值)作为数据库配置表name的字段值,前两行解析出sheet表格第2行的英文名映射为实体的字段,再读取后续的行(第3行开始)解析单元格根据相应顺序索引映射为实体字段值,若有多行则会被生成多个实体,将多个实体json序列化为字符串作为数据库配置表data字段的值,读取数据库配置表中对应旧data字段值与新的data字段值,并通过md5算法分别计算得到所述新的data字段值的md5值和旧data字段值的md5值,并判断二者是否相等,若否,则更新所述待同步游戏数值的配置文件至数据库配置表中,并增加version字段的版本号(当前时间戳),即第一版本号;

3、游戏服务器监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;

具体的所述游戏服务器监听所述数据库配置表,根据预设的时间间隔读取所述数据库配置表中的配置文件的更新状态,当监听到所述数据库配置表中的配置文件的版本号有更新时,则加载所述配置文件,所述时间间隔优选为1分钟;

4、前端的开发人员启动游戏客户端,客户端启动时发送第一消息至游戏服务器;

5、游戏服务器接收所述第一消息,所述第一消息为第二版本号;

游戏服务器根据所述第二版本号判断所述第二版本号和所述第一版本号是否相同,若否,则判断所述配置服务器中的配置文件已更新,若是,则接收配置服务器发送的客户端所需的配置文件,所述客户端所需的配置文件由配置服务器通过预设的过滤规则对所述数据库配置表中的待同步游戏数值的配置文件进行过滤得到,并发送至客户端;

配置服务器通过预设的过滤规则对所述数据库配置表中的待同步游戏数值的配置文件进行过滤得到客户端所需的配置文件具体为:

配置服务器会先读取数据库配置表过滤字段规则字典,再从数据库配置表中读取变化的配置项,将data字段值json反序列为实体列表,再遍历实体列表,依据过滤字段规则字典过滤每个实体中的字段值,最终生成客户端所需的json或js格式的文件,也可扩展支持新的语言格式,如lua,也就是在发布时将客户端所需的配置文件同程序代码一起打包和压缩,放在初始包内,过滤字段规则字典如下:

实施例三

请参照图2,一种游戏数值同步的系统1,包括配置服务器2、游戏服务器5和客户端8,所述配置服务器2包括第一存储器3、第一处理器4及存储在第一存储器3上并可在第一处理器4上运行的第一计算机程序,所述游戏服务器5包括第二存储器6、第二处理器7及存储在第二存储器6上并可在第二处理器7上运行的第二计算机程序,所述客户端8包括第三存储器9、第三处理器10及存储在第三存储器9上并可在第三处理器10上运行的第三计算机程序,所述第一处理器4执行所述第一计算机程序时实现以下步骤:

s1、接收待同步游戏数值的配置文件并存储;

步骤s1具体为:

接收待同步游戏数值的配置文件,通过md5算法分别计算得到所述待同步游戏数值的配置文件的md5值和已存储的配置文件的md5值,并判断所述待同步游戏数值的配置文件的md5值和已存储的配置文件的md5值是否相等,若否,则更新所述待同步游戏数值的配置文件至数据库配置表中,并记录所述待同步游戏数值的配置文件的版本号为第一版本号;

所述第二处理器7执行所述第二计算机程序时实现以下步骤:

s2、监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;

步骤s2具体为:

监听所述数据库配置表,根据预设的时间间隔读取所述数据库配置表中的配置文件的更新状态,当监听到所述数据库配置表中的配置文件的版本号有更新时,则加载所述配置文件;

s4、接收客户端发送的第一消息后,判断配置服务器中的配置文件是否已更新,若是,则根据所述第一消息从配置服务器中获取客户端所需的配置文件,并发送至客户端,所述第一消息为客户端启动时发送;

步骤s4中所述的接收所述第一消息后,根据所述第一消息判断配置服务器中的配置文件是否已更新具体为:

s41、接收所述第一消息,所述第一消息为第二版本号;

s42、根据所述第二版本号判断所述第二版本号和所述第一版本号是否相同,若否,则判断所述配置服务器中的配置文件已更新;

步骤s4中所述的从配置服务器中获取客户端所需的配置文件具体为:

s43、接收配置服务器发送的客户端所需的配置文件,所述客户端所需的配置文件由配置服务器通过预设的过滤规则对所述数据库配置表中的待同步游戏数值的配置文件进行过滤得到;

所述第三处理器10执行所述第三计算机程序时实现以下步骤:

s3、客户端启动时发送第一消息至游戏服务器。

综上所述,本发明提供的一种游戏数值同步的方法及系统,通过在开发阶段由配置服务器统一接收待同步游戏数值的配置文件并存储,再通过游戏服务器监听所述配置服务器,当监听到配置服务器中的配置文件更新时,则加载所述配置文件;客户端启动时发送第一消息至游戏服务器,游戏服务器接收所述第一消息后,判断配置服务器中的配置文件是否已更新,若是,则根据所述第一消息从配置服务器中获取客户端所需的配置文件,并发送至客户端,实现了开发阶段游戏数值的自动化同步,提高开发效率,通过预设的时间间隔读取所述数据库配置表中的配置文件的更新状态,可防止读取过于频繁,通过预设的过滤规则对所述数据库配置表中的待同步游戏数值的配置文件进行过滤得到客户端所需的配置文件,简化了客户端获取配置文件的过程,使得游戏数值的获取更加高效。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1