掌桥专利:专业的专利平台
掌桥专利
首页

游戏出包方法和系统

文献发布时间:2023-06-19 11:09:54


游戏出包方法和系统

技术领域

本申请涉及游戏出包技术领域,特别是涉及一种游戏出包方法和系统。

背景技术

在相关技术中,游戏出包需要安装客户端,而安装客户端和客户端更新都需要游戏研发人员等相关技术人员来操作,增加了技术人员的人力资源消耗,延长了游戏的研发周期。

针对相关技术中,游戏出包增加了技术人员的人力资源消耗,延长了游戏的研发周期的问题,尚未提出有效的解决方案。

发明内容

本发明的目的在于提供一种游戏出包方法和系统,以至少解决相关技术中,游戏出包增加了技术人员的人力资源消耗,延长了游戏的研发周期的问题。

为实现上述目的,本发明采用如下技术方案:

第一方面,本申请实施例提供了一种游戏出包方法,所述方法包括:

出包平台生成第一出包指令并向出包工具发送所述第一出包指令,其中,所述第一出包指令指示所述出包工具根据资源文件执行出包线程,所述出包平台获取用户输入的资源信息,生成所述资源文件;

所述出包线程结束后,所述出包平台获取所述出包线程产生的包体文件;

所述出包平台反向代理所述包体文件,得到并显示所述包体文件的下载地址。

在其中一些实施例中,所述出包平台显示所述包体文件的下载地址之前,所述方法包括:

节点管理器获取所述出包平台发送的口令并进行所述口令的识别,其中,所述口令携带所述资源文件的下载地址并指示所述节点管理器出包;

所述节点管理器完成口令识别后,确定空闲的节点;

所述节点获取所述节点管理器发送的第二出包指令,其中,所述第二出包指令携带所述资源文件的下载地址并指示所述节点出包;

所述节点判断本地是否存在所述资源文件,若否,根据所述资源文件下载地址获取所述资源文件;

所述节点向节点内的所述出包工具发送第三出包指令,其中,所述第三出包指令指示所述出包工具根据所述资源文件执行所述出包线程;

所述节点获取所述出包线程产生的包体文件,并反向代理所述包体文件,得到所述包体文件的下载地址。

在其中一些实施例中,所述资源文件包括渠道信息,所述出包平台生成所述资源文件之后,所述方法包括:

所述出包平台根据预存储的渠道的使用说明,判断是否将所述渠道信息转换成通讯协议文件,若是,生成所述通讯协议文件;

所述出包平台向所述出包工具发送第四出包指令,其中,所述第四出包指令指示所述出包工具根据所述资源文件或所述通讯协议文件,执行所述出包线程。

在其中一些实施例中,所述资源文件还包括母包、图标和签名文件,所述出包工具执行所述出包线程包括:

所述出包工具使用拆包协议命令,反编译所述母包到临时目录;

所述出包工具将所述图标、所述签名文件和所述渠道信息放入所述临时目录;

所述出包工具使用构建包协议命令打包所述临时目录,生成所述包体文件。

在其中一些实施例中,所述方法包括,在所述出包工具执行所述出包线程的过程中,所述出包平台显示所述出包工具的出包信息,其中,所述出包信息包括日志和出包进度。

第二方面,本申请实施例提供了一种游戏出包系统,所述系统包括出包平台;

所述出包平台生成第一出包指令并向出包工具发送所述第一出包指令,其中,所述第一出包指令指示所述出包工具根据资源文件执行出包线程,其中,所述出包平台获取用户输入的资源信息,生成所述资源文件;

所述出包线程结束后,所述出包平台获取所述出包线程产生的包体文件;

所述出包平台反向代理所述包体文件,得到并显示所述包体文件的下载地址。

在其中一些实施例中,所述系统还包括节点管理器和节点;

所述出包平台显示所述包体文件的下载地址之前,所述节点管理器获取所述出包平台发送的口令并进行所述口令的识别,其中,所述口令携带所述资源文件的下载地址并指示所述节点管理器出包,

所述节点管理器完成口令识别后,确定空闲的所述节点,

所述节点获取所述节点管理器发送的第二出包指令,其中,所述第二出包指令携带所述资源文件的下载地址并指示所述节点出包,

所述节点判断本地是否存在所述资源文件,若否,根据所述资源文件下载地址获取所述资源文件,

所述节点向节点内的所述出包工具发送第三出包指令,其中,所述第三出包指令指示所述出包工具根据所述资源文件执行所述出包线程;

所述节点获取所述出包线程产生的包体文件,并反向代理所述包体文件,得到所述包体文件的下载地址。

相比于相关技术,本申请实施例提供的游戏出包方法,通过出包平台生成第一出包指令并向出包工具发送该第一出包指令,其中,该第一出包指令指示该出包工具根据资源文件执行出包线程,该出包平台获取用户输入的资源信息,生成该资源文件;该出包线程结束后,该出包平台获取该出包线程产生的包体文件;该出包平台反向代理该包体文件,得到并显示该包体文件的下载地址,解决了游戏出包增加了技术人员的人力资源消耗,延长了游戏的研发周期的问题,达到非技术人员也能通过出包平台进行游戏出包,保证了技术人员的游戏研发进度的效果。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的游戏出包方法的应用环境示意图;

图2是根据本申请实施例的游戏出包方法的流程图;

图3是根据本申请实施例的节点管理器确定空闲节点的流程图;

图4是根据本申请实施例的生成通讯协议文件的流程图;

图5是根据本申请实施例的出包工具执行出包线程的流程图;

图6是根据本申请另一实施例的出包工具执行出包线程的流程图;

图7是根据本申请另一实施例的游戏出包方法的流程图;

图8是根据本申请实施例的游戏出包系统的结构框图;

图9是根据本申请另一实施例的游戏出包系统的结构框图;

图10是根据本申请实施例的电子设备的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

本申请提供的的游戏出包方法,可以应用于如图1所示的应用环境中,图1是根据本申请实施例的游戏出包方法的应用环境示意图,图1中为服务器101,该服务器101可以用独立的服务器或者是多个服务器组成的服务器集群来实现。该服务器101内部署有游戏出包系统,该游戏出包系统包括出包平台;该出包平台生成第一出包指令并向出包工具发送该第一出包指令,其中,该第一出包指令指示该出包工具根据资源文件执行出包线程,其中,该出包平台获取用户输入的资源信息,生成该资源文件;该出包线程结束后,该出包平台获取该出包线程产生的包体文件;该出包平台反向代理该包体文件,得到并显示该包体文件的下载地址。

本实施例提供了一种游戏出包方法,图2是根据本申请实施例的游戏出包方法的流程图,如图2所示,该流程包括如下步骤:

步骤S201,出包平台生成第一出包指令并向出包工具发送该第一出包指令,其中,该第一出包指令指示该出包工具根据资源文件执行出包线程,该出包平台获取用户输入的资源信息,生成该资源文件,例如,用户可以登录出包平台,申请开发者、创建游戏,并进行该资源信息的配置后,通过在出包平台点击在线打包按钮等方式,使得出包平台生成第一出包指令;

步骤S202,该出包线程结束后,该出包平台获取该出包线程产生的包体文件;

步骤S203,该出包平台反向代理该包体文件,得到并显示该包体文件的下载地址,例如,该出包平台通过nginx反向代理该包体文件,得到并在出包平台面向用户的界面上自动刷新包列表,显示该包体文件的下载地址,其中,nginx是一个轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,特点是占有内存少,并发能力强。

通过上述步骤S201至S203,相对于现有技术中游戏出包需要安装客户端,而安装客户端和客户端更新都需要游戏研发人员等相关技术人员来操作,增加了技术人员的人力资源消耗,延长了游戏的研发周期的问题,本实施例通过搭建出包平台,该出包平台获取用户输入的资源信息,生成资源文件;出包平台生成第一出包指令并向出包工具发送该第一出包指令,该第一出包指令指示该出包工具根据资源文件执行出包线程;该出包线程结束后,该出包平台获取该出包线程产生的包体文件;该出包平台反向代理该包体文件,得到并显示该包体文件的下载地址,从而完成游戏出包操作,该游戏出包操作简单,非技术人员也能通过出包平台进行游戏出包,保证了技术人员的游戏研发进度。

另外,除了实现非技术人员也能通过出包平台进行游戏出包,保证技术人员的游戏研发进度以外,本实施例还具有以下效果:

第一,相对于现有技术中游戏出包需要安装客户端,而客户端容易被破解,安全性不高的问题,本实施例通过搭建出包平台,基于全球广域网(World Wide Web,简称web)提供在线出包功能,提高了游戏出包的安全性;

第二,相对于现有技术中游戏出包与游戏业务完全隔离,出包操作无法与游戏自身业务配置、功能相关联的问题,本实施例通过开放的出包平台,能够将客户端软件开发工具包(Software Development Kit,简称SDK)中插件系统、登录系统、支付系统和游戏系统等各系统进行关联,从而进行统一的配置管理,实现游戏出包与游戏业务的耦合,从而在该开放的出包平台完成出包后,无需进行额外的操作配置即可启用该出包平台接入的各系统的功能,例如,游戏出包后即可进行登录、支付等操作;

最后,从计算机程序层面来看,该计算机程序只需要简单接入一套出包平台的标准化接口,便可按需进行游戏打包,从而生成相应的安卓游戏渠道包,具有较好的可推广性。

在其中一些实施例中,图3是根据本申请实施例的节点管理器确定空闲节点的流程图,如图3所示,出包平台显示包体文件的下载地址之前,包括以下步骤:

步骤S301,节点管理器获取该出包平台发送的口令并进行该口令的识别,其中,该口令携带该资源文件的下载地址并指示该节点管理器出包;

步骤S302,该节点管理器完成口令识别后,确定空闲的节点;

步骤S303,该节点获取该节点管理器发送的第二出包指令,其中,该第二出包指令携带该资源文件的下载地址并指示该节点出包;

步骤S304,该节点判断本地是否存在该资源文件,若否,根据该资源文件下载地址获取该资源文件,获取该资源文件后,执行步骤S305,若是,直接执行步骤S305;

步骤S305,该节点向节点内的该出包工具发送第三出包指令,其中,该第三出包指令指示该出包工具根据该资源文件执行该出包线程;

步骤S306,节点获取出包线程产生的包体文件,并反向代理包体文件,得到包体文件的下载地址。

通过上述步骤S301至S306,相对于现有技术中出包速度受本地机器性能影响的问题,例如,在现有技术中,一个2G规格的游戏进行出包所需要的时间约为0.5小时,三十个2G规格的游戏进行出包所需要的时间约为15小时,一般至少需要操作人员耗费一个工作日进行操作,本实施例采用云服务器进行游戏出包,并通过节点管理器确定空闲节点,进行节点分配,动态实时扩展出包服务器,从而大大提高了游戏出包的效率,例如,通过本申请实施例,对于三十个2G规格的游戏,用户可以在一小时内完成出包。

在其中一些实施例中,资源文件包括渠道信息,该渠道信息包括渠道参数信息和部分渠道所需的配置文件,其中,该渠道参数信息包括应用程序标识(applicationidentification,简称appid)和应用程序密钥(application key,简称appkey),图4是根据本申请实施例的生成通讯协议文件的流程图,如图4所示,出包平台生成该资源文件之后,包括以下步骤:

步骤S401,出包平台根据预存储的渠道的使用说明,判断是否将该渠道信息转换成通讯协议文件,其中,通讯协议文件包括main.xml、settingValue.xml、server_meta-data.xml和multiple_server_channel_config.xml,渠道的使用说明包括渠道方提供的渠道的使用文档,例如,渠道方提供的开发文档,

若是,则生成该通讯协议文件,生成该通讯协议文件后,执行步骤S402,若否,则直接执行步骤S402;

步骤S402,该出包平台向该出包工具发送第四出包指令,其中,该第四出包指令指示该出包工具根据该资源文件或该通讯协议文件,执行该出包线程。

通过上述步骤S401至S402,按照预存储的渠道方的要求,出包平台判断判断是否将渠道信息转换成通讯协议文件,程序能够得到正确格式的文件,从而保证出包平台的稳定运行。

在其中一些实施例中,资源文件还包括母包、图标(Icon)和签名文件,图5是根据本申请实施例的出包工具执行出包线程的流程图,如图5所示,该出包工具执行该出包线程包括以下步骤:

步骤S501,该出包工具使用拆包协议命令,反编译该母包到临时目录。

步骤S502,该出包工具将该图标、该签名文件和该渠道信息放入该临时目录;

步骤S503,该出包工具使用构建包协议命令打包该临时目录,生成该包体文件。

通过上述步骤S501至S503,相对于现有技术中,开发者基于游戏的源码,用开发工具编译出第一渠道的第一安卓安装包(Android Package,简称apk包),当需要第二渠道的第二apk包时,开发者再次基于游戏的源码,用开发工具编译出第二apk包,这种操作游戏出包效率低的问题,本实施例通过构建出包工具,出包平台的用户上传包括该第一apk包的资源信息后,出包工具将第一apk包作为母包,执行出包线程,在出包线程执行过程中,将带有第一渠道SDK的第一apk包,改造成带有第二渠道SDK的第二apk包,例如,开发者出的apk包是UC的渠道包,带有UC的SDK,通过本实施例,可以把该UC渠道包改造成应用宝或者其他渠道的包,并带有其他渠道的SDK,无需从源码开始编译出包,从而进一步提升了游戏出包效率。

例如,图6是根据本申请另一实施例的出包工具执行出包线程的流程图,如图6所示,该出包工具执行该出包线程包括以下步骤:

步骤S601,使用拆包协议命令反编译母包到临时目录,例如,使用Apktool-d反编译母包到临时目录;

步骤S602,根据配置修改appname、versionCode、versionName、tatgetSDKVer和minSDKver等信息,修改包名,不同渠道包名不同,根据不同渠道要求或者不同需求,修改Application信息,在临时目录中打入渠道的SDK Assets、res、libs和smali等信息,将预存储的SDK_Manifest.xml中的内容合并到临时解包目录中的AndroidManifest.xml中;

步骤S603,添加用户在平台配置的渠道参数,处理渠道图标,例如,部分渠道有角标要求,或者,相同游戏也会在不同渠道上有不同的图标需求,添加闪屏文件到包体内,增加针对不同游戏定制的一些特异性需求;

步骤S604,重新生成R文件,其中,R文件是Android应用程序被编译时自动生成的,包含了所有res/目录下资源的ID;

步骤S605,使用构建包协议命令重新出包,例如,使用Apktool-b重新出包,

对包体重新签名并优化包体,生成渠道的包体文件。

可选的,在该出包工具执行该出包线程的过程中,该出包平台显示该出包工具的出包信息,其中,该出包信息包括日志和出包进度,便于用户了解出包情况,例如,在出包线程执行过程中,节点将出包工具的出包信息实时发送至节点管理器,节点管理器将出包信息同步至出包平台,出包平台显示出包信息。

图7是根据本申请另一实施例的游戏出包方法的流程图,如图7所示,该流程包括如下步骤:

步骤S701,出包平台获取用户输入的资源信息和出包命令,其中,该出包命令包括,用户在出包平台点击在线出包按钮;

步骤S702,出包平台根据资源信息生成资源文件,根据出包命令生成口令,其中,该口令包括通讯协议,用于使节点管理器区分接收到的内容是否指示出包;

步骤S703,该出包平台将该口令发送至节点管理器,节点管理器获取该出包平台发送的口令并进行该口令的识别,其中,该口令携带该资源文件的下载地址并指示该节点管理器出包;

步骤S704,该节点管理器完成口令识别后,确定空闲的节点,并生成第二出包指令;

步骤S705,该节点获取该节点管理器发送的第二出包指令,其中,该第二出包指令携带该资源文件的下载地址并指示该节点出包,

该节点判断本地是否存在该资源文件;

步骤S706,若本地不存在该资源文件,该节点根据资源文件下载地址获取该资源文件,

若本地存在该资源文件,或者,该节点根据资源文件下载地址获取到了该资源文件,执行步骤S707;

步骤S707,该节点根据预存储的渠道的使用说明,判断是否将该渠道信息转换成通讯协议文件;

步骤S708,若需要将该渠道信息转换成通讯协议文件,该节点生成该通讯协议文件;

步骤S709,若不需要将该渠道信息转换成通讯协议文件,或者,若该节点生成了该通讯协议文件,该节点向该出包工具发送第四出包指令,其中,该第四出包指令指示该出包工具根据该资源文件或该通讯协议文件,执行该出包线程,

该出包工具执行该出包线程的过程中,该出包平台显示该出包工具的出包信息,其中,该出包信息包括日志和出包进度;

步骤S710,该出包线程结束后,该节点获取出包线程产生的包体文件并反向代理该包体文件;

步骤S711,出包平台同步并在出包平台面向用户的界面上显示该包体文件的下载地址。

本实施例还提供了一种游戏出包系统80,该系统用于实现上述实施例,图8是根据本申请实施例的游戏出包系统的结构框图,如图8所示,该系统包括出包平台81;该出包平台81生成第一出包指令并向出包工具发送该第一出包指令,其中,该第一出包指令指示该出包工具根据资源文件执行出包线程,其中,该出包平台81获取用户输入的资源信息,生成该资源文件;该出包线程结束后,该出包平台81获取该出包线程产生的包体文件;该出包平台81反向代理该包体文件,得到并显示该包体文件的下载地址。

在其中一些实施例中,图9是根据本申请另一实施例的游戏出包系统的结构框图,如图9所示,该系统还包括节点管理器91和节点92;

该出包平台81显示该包体文件的下载地址之前,该节点管理器91获取该出包平台81发送的口令并进行该口令的识别,其中,该口令携带该资源文件的下载地址并指示该节点管理器91出包,

该节点管理器91完成口令识别后,确定空闲的该节点92,

该节点92获取该节点管理器91发送的第二出包指令,其中,该第二出包指令携带该资源文件的下载地址并指示该节点92出包,

该节点92判断本地是否存在该资源文件,若否,根据该资源文件下载地址获取该资源文件,

该节点92向节点92内的该出包工具发送第三出包指令,其中,该第三出包指令指示该出包工具根据该资源文件执行该出包线程;

该节点92获取该出包线程产生的包体文件,并反向代理该包体文件,得到该包体文件的下载地址。

在一个实施例中,图10是根据本申请实施例的电子设备的内部结构示意图,如图10所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图10所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种游戏出包方法。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 游戏出包方法和系统
  • 基于一键生成多个游戏渠道包的平台出包方法
技术分类

06120112827964