游戏对战匹配方法及装置

申请号 CN201510929985.0 申请日 2015-12-14 公开(公告)号 CN105553821A 公开(公告)日 2016-05-04
申请人 网易(杭州)网络有限公司; 发明人 甘洁;
摘要 本 发明 公开了一种游戏对战匹配方法及装置。其中,该方法包括:接收到来自于第一终端的游戏对战 请求 ;根据多个备选终端与第一终端之间的距离以及多个备选终端在游戏对战主页面发出游戏对战请求的时长向第一终端推送与游戏对战请求相匹配的对战终端信息集合;根据第一终端从对战终端信息集合中选取的一个或多个第二终端进行对战匹配。本发明解决了相关技术中仅能够在位于同一局域网下的终端之间进行附近对战需要受到终端软 硬件 配置的限制,易造成对战画面不同步影响用户的游戏体验,而且难以实现对战双方的公平较量的技术问题。
权利要求

1.一种游戏对战匹配方法,其特征在于,包括:
接收到来自于第一终端的游戏对战请求
根据多个备选终端与所述第一终端之间的距离以及所述多个备选终端在游戏对战主页面发出游戏对战请求的时长向所述第一终端推送与所述游戏对战请求相匹配的对战终端信息集合;
根据所述第一终端从所述对战终端信息集合中选取的一个或多个第二终端进行对战匹配。
2.根据权利要求1所述的方法,其特征在于,根据所述多个备选终端与所述第一终端之间的距离以及所述多个备选终端发出游戏对战请求的时长向所述第一终端推送所述对战终端信息集合包括:
获取所述第一终端与所述多个备选终端的位置信息;
根据所述第一终端与所述多个备选终端的位置信息从所述多个备选终端中选取与所述第一终端之间的距离在第一预设范围内的第一部分终端;
根据所述第一部分终端发出游戏对战请求的时长从所述第一部分终端中选取与所述第一终端发送的游戏对战请求之间的时间差在第二预设范围内的第二部分终端;
将所述第二部分终端设置为所述对战终端信息集合,并向所述第一终端推送所述对战终端信息集合。
3.根据权利要求2所述的方法,其特征在于,获取所述第一终端与所述多个备选终端的位置信息包括:
经由与所述第一终端相关联的Gate进程接收所述第一终端每隔第一预设周期上报的所述第一终端的位置信息,其中,所述第一终端当前已进入并停留在游戏对战主页面;
分别经由与所述多个备选终端中的每个备选终端相关联的Gate进程接收每个终端每隔第二预设周期上报的所述多个备选终端的位置信息,其中,所述多个备选终端当前已进入并停留在所述游戏对战主页面;
将所述第一终端与所述多个备选终端的位置信息存储在本地。
4.根据权利要求1所述的方法,其特征在于,根据所述第一终端从所述对战终端信息集合中选取的所述一个或多个第二终端进行对战匹配包括:
向所述一个或多个第二终端发送通知消息,其中,所述通知消息用于将所述第一终端的游戏对战请求通知给所述一个或多个第二终端;
在接收到来自于所述一个或多个第二终端的游戏对战响应后,进入游戏对战场景页面,其中,所述游戏对战响应用于表示所述一个或多个第二终端接受所述第一终端的游戏对战请求。
5.根据权利要求4所述的方法,其特征在于,向所述一个或多个第二终端发送所述通知消息包括以下之一:
向与所述第一终端分处不同局域网的所述一个或多个第二终端发送所述通知消息;
通过跨集群远程程序调用RPC方式向所述一个或多个第二终端所对应的集群发送所述通知消息。
6.一种游戏对战匹配装置,其特征在于,包括:
接收模,用于接收到来自于第一终端的游戏对战请求;
处理模块,用于根据多个备选终端与所述第一终端之间的距离以及所述多个备选终端在游戏对战主页面发出游戏对战请求的时长向所述第一终端推送与所述游戏对战请求相匹配的对战终端信息集合;
匹配模块,用于根据所述第一终端从所述对战终端信息集合中选取的一个或多个第二终端进行对战匹配。
7.根据权利要求6所述的装置,其特征在于,所述处理模块包括:
获取单元,用于获取所述第一终端与所述多个备选终端的位置信息;
第一选择单元,用于根据所述第一终端与所述多个备选终端的位置信息从所述多个备选终端中选取与所述第一终端之间的距离在第一预设范围内的第一部分终端;
第二选择单元,用于根据所述第一部分终端发出游戏对战请求的时长从所述第一部分终端中选取与所述第一终端发送的游戏对战请求之间的时间差在第二预设范围内的第二部分终端;
推送单元,用于将所述第二部分终端设置为所述对战终端信息集合,并向所述第一终端推送所述对战终端信息集合。
8.根据权利要求7所述的装置,其特征在于,所述获取单元包括:
第一接收子单元,用于经由与所述第一终端相关联的Gate进程接收所述第一终端每隔第一预设周期上报的所述第一终端的位置信息,其中,所述第一终端当前已进入并停留在游戏对战主页面;
第二接收子单元,用于分别经由与所述多个备选终端中的每个备选终端相关联的Gate进程接收每个终端每隔第二预设周期上报的所述多个备选终端的位置信息,其中,所述多个备选终端当前已进入并停留在所述游戏对战主页面;
存储子单元,用于将所述第一终端与所述多个备选终端的位置信息存储在本地。
9.根据权利要求6所述的装置,其特征在于,所述匹配模块包括:
发送单元,用于向所述一个或多个第二终端发送通知消息,其中,所述通知消息用于将所述第一终端的游戏对战请求通知给所述一个或多个第二终端;
匹配单元,用于在接收到来自于所述一个或多个第二终端的游戏对战响应后,进入游戏对战场景页面,其中,所述游戏对战响应用于表示所述一个或多个第二终端接受所述第一终端的游戏对战请求。
10.根据权利要求9所述的装置,其特征在于,所述发送单元,用于向与所述第一终端分处不同局域网的所述一个或多个第二终端发送所述通知消息;或者,通过跨集群远程程序调用RPC方式向所述一个或多个第二终端所对应的集群发送所述通知消息。

说明书全文

游戏对战匹配方法及装置

技术领域

[0001] 本发明涉及互联网领域,具体而言,涉及一种游戏对战匹配方法及装置。

背景技术

[0002] 移动终端,又被称为移动通信终端,其是指在用户移动过程中可以使用的计算机设备,广义上的移动终端可以包括但不限于:手机、笔记本电脑平板电脑、销售点(POS)机、车载电脑等。但是,在日常生活中,通常所指的则是具有多种应用功能的智能手机和平板电脑。终端定位是指利用移动终端的软件硬件功能,配合相应的传输介质,对用户所在的地理方位和属性进行判断和确认的方法。
[0003] 近些年来,移动终端游戏发展迅速,各式各样的游戏种类(例如:色扮演类游戏、体育竞技类游戏、卡牌类游戏、策略经营类游戏)层出不穷,游戏方式花样翻新,其中,基于智能手机和平板电脑上运行的游戏愈发受到游戏玩家的喜爱和欢迎。当前手机游戏发展的趋势逐步转向体系结构扩大化、复杂化,更加注重玩家的社交体验和玩家与玩家之间的互动。
[0004] 玩家对抗玩家(Player versus player,简称为PVP)对战是指在网络游戏中的玩家与玩家相互之间所进行的战斗,通常会出现在大型多人线上角色扮演游戏中。作为网络游戏中的传统玩法,PVP对战一直受到玩家的普遍欢迎。在移动游戏领域,PVP对战的游戏方式能够极大地提升玩家的游戏体验。附近对战是指一种玩家与地理位置上距自己较近的其他玩家之间进行的PVP对战方式。在各种PVP玩法中,附近对战则是有效地利用了移动设备轻巧灵活的特点,因此,备受玩家青睐。在附近对战玩法中,玩家通过搜索附近的游戏玩家,可以选择与这些游戏玩家中的一个或多个进行PVP对战(例如:在NBA 2K 15游戏中,一个玩家可以通过附近对战的方式与另外一名玩家进行篮球比赛,再比如:在魔兽争霸游戏中,一个玩家可以通过附近对战的方式与另外多名玩家在特定地图下进行分组对战)。当然,附近对战的游戏方式要求玩家能够实时搜索到附近的其他玩家,并建立玩家之间的联系,使得PVP对战得以进行。同时,还需要考虑到不同游戏终端软硬件配置的差异,以此来确保各位玩家共同处于一个相对公平的对战环境。为此,可以通过移动终端自带的定位硬件(例如:全球定位系统(GPS))获取到其他参与附近对战的玩家位置,其次,通过无线保真(WIFI)或运营商提供的网络将数据发送至游戏服务器,然后,游戏服务器再通过采用特定算法计算出玩家的匹配列表,继而协调并引导各位玩家进行PVP对战。
[0005] 目前,移动终端游戏在实现附近对战功能时,大多依赖于相同网关和局域网,即只有处于相同局域网下的玩家才能够进行附近对战,其实现过程主要在于:在同一个局域网内搜索其他游戏玩家,游戏客户端获取到上述玩家的互联网协议(IP)和端口列表,当玩家选择其中一个对手时,可以通过套接字(socket)建立一个与对手玩家之间的连接,然后以自己或对手作为对战的主机,所有游戏的逻辑运行在该选中的主机(相当于战斗服务器)上;另外一个移动终端则成为战斗客户端,其只负责战场行为的重现和展示,本身不执行游戏逻辑,所有操作均需要先发送给主机,而在主机上执行游戏逻辑完成后,再通过主机发送战斗模拟的指令,战斗客户端可以根据这些指令还原战场。
[0006] 然而,相关技术在移动终端运行游戏过程中所使用的附近对战功能存在如下缺陷
[0007] 1)此种实现方式过度依赖于局域网,一旦多位玩家位于不同的局域网内,则对战无法顺利进行,并且在同一局域网内能够搜索到的匹配玩家的数量是有限的。
[0008] 2)此种实现方式对战斗客户端是不利的,由于战斗客户端的指令执行都必须先通过主机,数据在经过从战斗客户端至主机的往返传输后会在战斗客户端上产生延时,进而无法实现对战双方的公平较量。
[0009] 3)此种实现方式会受到对战双方不同终端机能的影响,如果采用一个软硬件配置性能较差的终端作为主机,则对战双方的游戏体验都会受到不同程度的影响(例如:游戏频繁断开连接或游戏画面不同步等)。
[0010] 4)此种实现方式不能有效地防止玩家执行作弊操作。
[0011] 针对上述的问题,目前尚未提出有效的解决方案。

发明内容

[0012] 本发明实施例提供了一种游戏对战匹配方法及装置,以至少解决相关技术中仅能够在位于同一局域网下的终端之间进行附近对战需要受到终端软硬件配置的限制,易造成对战画面不同步影响用户的游戏体验,而且难以实现对战双方的公平较量的技术问题。
[0013] 根据本发明实施例的一个方面,提供了一种游戏对战匹配方法,包括:接收到来自于第一终端的游戏对战请求;根据多个备选终端与第一终端之间的距离以及多个备选终端在游戏对战主页面发出游戏对战请求的时长向第一终端推送与游戏对战请求相匹配的对战终端信息集合;根据第一终端从对战终端信息集合中选取的一个或多个第二终端进行对战匹配。
[0014] 进一步地,根据多个备选终端与第一终端之间的距离以及多个备选终端发出游戏对战请求的时长向第一终端推送对战终端信息集合包括:获取第一终端与多个备选终端的位置信息;根据第一终端与多个备选终端的位置信息从多个备选终端中选取与第一终端之间的距离在第一预设范围内的第一部分终端;根据第一部分终端发出游戏对战请求的时长从第一部分终端中选取与第一终端发送的游戏对战请求之间的时间差在第二预设范围内的第二部分终端;将第二部分终端设置为对战终端信息集合,并向第一终端推送对战终端信息集合。
[0015] 进一步地,获取第一终端与多个备选终端的位置信息包括:经由与第一终端相关联的Gate进程接收第一终端每隔第一预设周期上报的第一终端的位置信息,其中,第一终端当前已进入并停留在游戏对战主页面;分别经由与多个备选终端中的每个备选终端相关联的Gate进程接收每个终端每隔第二预设周期上报的多个备选终端的位置信息,其中,多个备选终端当前已进入并停留在游戏对战主页面;将第一终端与多个备选终端的位置信息存储在本地。
[0016] 进一步地,根据第一终端从对战终端信息集合中选取的一个或多个第二终端进行对战匹配包括:向一个或多个第二终端发送通知消息,其中,通知消息用于将第一终端的游戏对战请求通知给一个或多个第二终端;在接收到来自于一个或多个第二终端的游戏对战响应后,进入游戏对战场景页面,其中,游戏对战响应用于表示一个或多个第二终端接受第一终端的游戏对战请求。
[0017] 进一步地,向一个或多个第二终端发送通知消息包括以下之一:向与第一终端分处不同局域网的一个或多个第二终端发送通知消息;通过跨集群远程程序调用(RPC)方式向一个或多个第二终端所对应的集群发送通知消息。
[0018] 根据本发明实施例的另一方面,还提供了一种游戏对战匹配装置,包括:接收模,用于接收到来自于第一终端的游戏对战请求;处理模块,用于根据多个备选终端与第一终端之间的距离以及多个备选终端在游戏对战主页面发出游戏对战请求的时长向第一终端推送与游戏对战请求相匹配的对战终端信息集合;匹配模块,用于根据第一终端从对战终端信息集合中选取的一个或多个第二终端进行对战匹配。
[0019] 进一步地,处理模块包括:获取单元,用于获取第一终端与多个备选终端的位置信息;第一选择单元,用于根据第一终端与多个备选终端的位置信息从多个备选终端中选取与第一终端之间的距离在第一预设范围内的第一部分终端;第二选择单元,用于根据第一部分终端发出游戏对战请求的时长从第一部分终端中选取与第一终端发送的游戏对战请求之间的时间差在第二预设范围内的第二部分终端;推送单元,用于将第二部分终端设置为对战终端信息集合,并向第一终端推送对战终端信息集合。
[0020] 进一步地,获取单元包括:第一接收子单元,用于经由与第一终端相关联的Gate进程接收第一终端每隔第一预设周期上报的第一终端的位置信息,其中,第一终端当前已进入并停留在游戏对战主页面;第二接收子单元,用于分别经由与多个备选终端中的每个备选终端相关联的Gate进程接收每个终端每隔第二预设周期上报的多个备选终端的位置信息,其中,多个备选终端当前已进入并停留在游戏对战主页面;存储子单元,用于将第一终端与多个备选终端的位置信息存储在本地。
[0021] 进一步地,匹配模块包括:发送单元,用于向一个或多个第二终端发送通知消息,其中,通知消息用于将第一终端的游戏对战请求通知给一个或多个第二终端;匹配单元,用于在接收到来自于一个或多个第二终端的游戏对战响应后,进入游戏对战场景页面,其中,游戏对战响应用于表示一个或多个第二终端接受第一终端的游戏对战请求。
[0022] 进一步地,发送单元,用于向与第一终端分处不同局域网的一个或多个第二终端发送通知消息;或者,通过跨集群远程程序调用(RPC)方式向一个或多个第二终端所对应的集群发送通知消息。
[0023] 在本发明实施例中,采用在接收到来自于第一终端的游戏对战请求后,根据多个备选终端与第一终端之间的距离以及多个备选终端在游戏对战主页面发出游戏对战请求的时长向第一终端推送与游戏对战请求相匹配的对战终端信息集合,然后再根据第一终端从对战终端信息集合中选取的一个或多个第二终端进行对战匹配的方式;通过参与游戏对战之外的第三方进行对战匹配,从而实现了参与游戏对战的终端之间不受地域限制,并且参与游戏对战的终端在第三方进行附近对战,以屏蔽终端之间的软硬件配置的差异,而且还能够有效地防止对战终端在游戏过程中进行作弊的技术效果,进而解决了相关技术中仅能够在位于同一局域网下的终端之间进行附近对战需要受到终端软硬件配置的限制,易造成对战画面不同步影响用户的游戏体验,而且难以实现对战双方的公平较量的技术问题。附图说明
[0024] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0025] 图1是根据本发明实施例的游戏对战匹配方法的流程图
[0026] 图2是根据本发明实施例的游戏对战匹配装置的结构框图
[0027] 图3是根据本发明优选实施例的游戏对战匹配装置的结构框图。

具体实施方式

[0028] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0029] 需要说明的是,本发明的说明书权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0030] 根据本发明实施例,提供了一种游戏对战匹配方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0031] 图1是根据本发明实施例的游戏对战匹配方法的流程图,如图1所示,该方法包括如下步骤:
[0032] 步骤S102,接收到来自于第一终端的游戏对战请求;
[0033] 步骤S104,根据多个备选终端与第一终端之间的距离以及多个备选终端在游戏对战主页面发出游戏对战请求的时长向第一终端推送与游戏对战请求相匹配的对战终端信息集合;
[0034] 步骤S106,根据第一终端从对战终端信息集合中选取的一个或多个第二终端进行对战匹配。
[0035] 通过上述步骤,可以实现参与游戏对战的终端之间不受地域限制,并且参与游戏对战的终端在第三方进行附近对战,以屏蔽终端之间的软硬件配置的差异,而且还能够有效地防止对战终端在游戏过程中进行作弊的技术效果,进而解决了相关技术中仅能够在位于同一局域网下的终端之间进行附近对战需要受到终端软硬件配置的限制,易造成对战画面不同步影响用户的游戏体验,而且难以实现对战双方的公平较量的技术问题。
[0036] 在优选实施过程中,上述方法应用于实时对战专用集群。该集群主要负责PVP实时对战。集群是指由若干台物理服务器组成的服务器组,每台物理服务器上可能运行着若干个游戏相关进程,其可以包括但不限于:主逻辑进程、数据库管理进程、逻辑服务器管理进程。逻辑服务器是指集群中进行主要的游戏逻辑处理的进程,大部分游戏逻辑运行在该进程中,每个集群中可以包括多个逻辑服务器。
[0037] 可选地,在步骤S104中,根据多个备选终端与第一终端之间的距离以及多个备选终端发出游戏对战请求的时长向第一终端推送对战终端信息集合可以包括以下操作:
[0038] 步骤S1:获取第一终端与多个备选终端的位置信息;
[0039] 步骤S2:根据第一终端与多个备选终端的位置信息从多个备选终端中选取与第一终端之间的距离在第一预设范围内的第一部分终端;
[0040] 步骤S3:根据第一部分终端发出游戏对战请求的时长从第一部分终端中选取与第一终端发送的游戏对战请求之间的时间差在第二预设范围内的第二部分终端;
[0041] 步骤S4:将第二部分终端设置为对战终端信息集合,并向第一终端推送对战终端信息集合。
[0042] 逻辑服务器在接收到上述位置信息后,可以在内存和数据库中分别记录下该游戏玩家的位置信息,以备后续进行附近对战匹配时使用。
[0043] 需要说明的是,上述数据库是一个集群间共享数据库,所有的集群都能够访问到该数据库,以便于在实现附近对战功能时能够进行大范围的匹配(例如:两位准备进行附近对战的游戏玩家分别位于不同的局域网内)和跨集群(跨区)匹配。
[0044] 通过将匹配数据存放于数据库中,由此扩大了游戏玩家的匹配范围,为匹配进程提供了大量数据,进而有利于提高匹配精确度以及生成较大的匹配列表。同时,由于匹配发生在逻辑服务器,这个过程是统一的,不会受到终端不同软硬件差异的影响。
[0045] 当游戏玩家A停留在附近对战主页面时,游戏玩家A所使用的移动终端将会以预设的时间间隔向逻辑服务器请求获取当前附近的可进行对战的游戏玩家列表(即上述对战终端信息集合)。游戏逻辑服从内存和数据库中查询所请求的游戏玩家列表,其中,该游戏玩家列表可以根据游戏玩家所使用的移动终端的位置信息以及游戏玩家所使用的移动终端发送对战请求的匹配时间这两个限制条件来确定。
[0046] 例如:当前存在多个备选终端:游戏玩家B所使用的移动终端、游戏玩家C所使用的移动终端、游戏玩家D所使用的移动终端。先分别通过游戏玩家B所使用的移动终端的经纬度信息、游戏玩家C所使用的移动终端的经纬度信息以及游戏玩家D所使用的移动终端的经纬度信息与游戏玩家A所使用的移动终端的经纬度信息进行比较可以计算出游戏玩家B所使用的移动终端和游戏玩家C所使用的移动终端与游戏玩家A所使用的移动终端之间的距离在上述第一预设范围内,此时第一部分终端即为游戏玩家B所使用的移动终端和游戏玩家C所使用的移动终端;然后再通过游戏玩家B所使用的移动终端发出对战请求的时间以及游戏玩家C所使用的移动终端发出对战请求的时间分别与游戏玩家A所使用的移动终端发出对战请求的时间进行比较,计算出游戏玩家B所使用的移动终端发出对战请求的时间与游戏玩家A所使用的移动终端发出对战请求的时间之间的时间差在第二预设范围内(即游戏玩家B所使用的移动终端发出对战请求的时间最接近游戏玩家A所使用的移动终端发出对战请求的时间),此时第二部分终端即为游戏玩家B所使用的移动终端,最后,向游戏玩家A所使用的移动终端推送游戏玩家列表(包括:游戏玩家B所使用的移动终端的相关信息)。
[0047] 可选地,在步骤S1中,获取第一终端与多个备选终端的位置信息可以包括以下步骤:
[0048] 步骤S11:经由与第一终端相关联的Gate进程接收第一终端每隔第一预设周期上报的第一终端的位置信息,其中,第一终端当前已进入并停留在游戏对战主页面;
[0049] 步骤S12:分别经由与多个备选终端中的每个备选终端相关联的Gate进程接收每个终端每隔第二预设周期上报的多个备选终端的位置信息,其中,多个备选终端当前已进入并停留在游戏对战主页面;
[0050] 步骤S13:将第一终端与多个备选终端的位置信息存储在本地。
[0051] 当游戏玩家在游戏内打开附近对战界面时,可以通过调用应用程序编程接口(API)判断游戏所运行的设备是否具备附近对战所需的基本软硬件需求(例如:中央处理器(CPU)的性能,包括:主频与核心数以及型号的兼容性;内存的大小等),对于无法进行附近对战的玩家,通过游戏内的提示框(tip)对无法进行附近对战的玩家进行提示,并阻止玩家打开附近对战界面。
[0052] 由于判断游戏玩家是否存在附近对战匹配意图是根据游戏玩家是否开启附近对战主页面来进行的,而只要游戏玩家处于附近对战界面,就会按照预设的时间间隔向逻辑服务器发送自身的位置信息以及请求获取附近的游戏玩家列表。
[0053] 上述步骤对于无法进行附近对战的游戏玩家屏蔽了其附近对战界面,能够有效地排除无法进行附近对战的玩家,这样便不会向逻辑服务器发送自身的位置信息,逻辑服务器在计算附近游戏玩家列表时也不会考虑到这类玩家,进而减少了逻辑服务器的计算压,同时也有利于逻辑服务器更准确地计算出可匹配的游戏玩家列表。
[0054] 对于能够进行附近对战的玩家,可以通过调用相应的API获取到玩家的位置信息(经纬度信息),并将该位置信息通过网络发送到当前游戏移动终端正在连接着的Gate进程,然后经由Gate进程将该位置信息转发至逻辑服务器。
[0055] Gate进程是指集群中直接与客户端保持传输控制协议(TCP)连接的进程,该进程作为游戏客户端与逻辑服务器之间的桥梁,负责转发和传递消息。
[0056] 可选地,在步骤S106中,根据第一终端从对战终端信息集合中选取的一个或多个第二终端进行对战匹配可以包括以下操作:
[0057] 步骤S5:向一个或多个第二终端发送通知消息,其中,通知消息用于将第一终端的游戏对战请求通知给一个或多个第二终端;
[0058] 步骤S6:在接收到来自于一个或多个第二终端的游戏对战响应后,进入游戏对战场景页面,其中,游戏对战响应用于表示一个或多个第二终端接受第一终端的游戏对战请求。
[0059] 当游戏玩家A所使用的移动终端通过所获取到的列表对另外一个附近的游戏玩家B所使用的移动终端发出对战邀请时,由游戏玩家A所使用的移动终端向其对应逻辑服务器发送对战邀请请求。该逻辑服务器在接收到游戏玩家A所使用的移动终端发送的对战匹配请求后,将该对战匹配请求通知给游戏玩家B所使用的移动终端。在游戏玩家B所使用的移动终端通过逻辑服获取到游戏玩家A所使用的移动终端的对战匹配请求后,若其同意与游戏玩家A所使用的移动终端进行实时的附近对战,则游戏玩家A所使用的移动终端和游戏玩家B所使用的移动终端双方将会进入实时对战流程,其具体的实时对战流程细节在此不再赘述。对于附近对战而言,其匹配过程可以相当于是从开始匹配到通知匹配结果的整个过程。
[0060] 可选地,在步骤S5中,向一个或多个第二终端发送通知消息可以包括以下方式之一:
[0061] 方式一、向与第一终端分处不同局域网的一个或多个第二终端发送通知消息;
[0062] 方式二、通过跨集群远程程序调用RPC方式向一个或多个第二终端所对应的集群发送通知消息。
[0063] 在优选实施例中,上述逻辑服务器在接收到游戏玩家A所使用的移动终端发送的对战匹配请求后,可以采用跨集群远程程序调用(Remote Procedure Call,简称为RPC,其为一种本地调用远程主机或服务器上的函数或方法)的方式向连接着游戏玩家B所使用的移动终端的集群发送请求。
[0064] 需要说明的是,跨集群RPC是一种跨区的RPC。一个集群可以包含多个区,这种RPC能够突破区的限制,例如:集群A的服务器b的进程c可以向集群D的服务器e的进程f发起远程调用。
[0065] 跨区匹配中的“区”是指游戏玩家视角下的游戏区,例如:安卓1区和安卓2区,从玩家的角度看来,即为不同的游戏区。一个集群中通常会包含数十个此类游戏区。在通常的移动终端游戏设置过程中,位于不同游戏区的游戏玩家只能在各自所在游戏区内寻找PVP对战的游戏玩家,而无法实现跨区对战。然而,采用本发明所提供的技术方案,跨集群(跨区)匹配的这种匹配方式不仅能够实现在同游戏区进行游戏玩家对战匹配(例如:属于安卓1区游戏玩家A与同属于安卓1区的游戏玩家B进行PVP对战),还能够实现在不同游戏区之间进行游戏玩家对战匹配(例如:属于安卓1区游戏玩家A与属于安卓2区的游戏玩家B进行PVP对战)。
[0066] 由于最终对战双方的战斗运行于专的服务器进程中,因此,移动终端难以通过伪造本地数据来对双方对战进行非法干扰,并且数据流流向统一化,都是从服务器流向移动终端的,这样,从宏观的角度来看,交战双方相对公平,不存在其中一方因移动终端软硬件配置上的差异所产生的响应速度上的优势。另外,该技术方案能够有效地实现跨局域网甚至跨区进行附近对战的需求。
[0067] 图2是根据本发明实施例的游戏对战匹配装置的结构框图。如图2所示,该游戏对战匹配装置可以包括:接收模块10,用于接收到来自于第一终端的游戏对战请求;处理模块20,用于根据多个备选终端与第一终端之间的距离以及多个备选终端在游戏对战主页面发出游戏对战请求的时长向第一终端推送与游戏对战请求相匹配的对战终端信息集合;匹配模块30,用于根据第一终端从对战终端信息集合中选取的一个或多个第二终端进行对战匹配。
[0068] 可选地,图3是根据本发明优选实施例的游戏对战匹配装置的结构框图。如图3所示,处理模块20可以包括:获取单元200,用于获取第一终端与多个备选终端的位置信息;第一选择单元202,用于根据第一终端与多个备选终端的位置信息从多个备选终端中选取与第一终端之间的距离在第一预设范围内的第一部分终端;第二选择单元204,用于根据第一部分终端发出游戏对战请求的时长从第一部分终端中选取与第一终端发送的游戏对战请求之间的时间差在第二预设范围内的第二部分终端;推送单元206,用于将第二部分终端设置为对战终端信息集合,并向第一终端推送对战终端信息集合。
[0069] 可选地,获取单元200可以包括:第一接收子单元(图中未示出),用于经由与第一终端相关联的Gate进程接收第一终端每隔第一预设周期上报的第一终端的位置信息,其中,第一终端当前已进入并停留在游戏对战主页面;第二接收子单元(图中未示出),用于分别经由与多个备选终端中的每个备选终端相关联的Gate进程接收每个终端每隔第二预设周期上报的多个备选终端的位置信息,其中,多个备选终端当前已进入并停留在游戏对战主页面;存储子单元(图中未示出),用于将第一终端与多个备选终端的位置信息存储在本地。
[0070] 可选地,如图3所示,匹配模块30可以包括:发送单元300,用于向一个或多个第二终端发送通知消息,其中,通知消息用于将第一终端的游戏对战请求通知给一个或多个第二终端;匹配单元302,用于在接收到来自于一个或多个第二终端的游戏对战响应后,进入游戏对战场景页面,其中,游戏对战响应用于表示一个或多个第二终端接受第一终端的游戏对战请求。
[0071] 可选地,发送单元300,用于向与第一终端分处不同局域网的一个或多个第二终端发送通知消息;或者,通过跨集群远程程序调用RPC方式向一个或多个第二终端所对应的集群发送通知消息。
[0072] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0073] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0074] 在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0075] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0076] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0077] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0078] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
QQ群二维码
意见反馈