CN105214310B - 一种游戏战斗校验方法、系统及服务端 - Google Patents
一种游戏战斗校验方法、系统及服务端 Download PDFInfo
- Publication number
- CN105214310B CN105214310B CN201510673117.0A CN201510673117A CN105214310B CN 105214310 B CN105214310 B CN 105214310B CN 201510673117 A CN201510673117 A CN 201510673117A CN 105214310 B CN105214310 B CN 105214310B
- Authority
- CN
- China
- Prior art keywords
- fight
- numerical value
- result
- client
- game
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- User Interface Of Digital Computer (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种游戏战斗校验方法,包括:接收来自客户端的游戏战斗指令;根据第一战斗方的标识及第二战斗方的标识,查询第一战斗方的战斗数值及第二战斗方的战斗数值,并返回给客户端,以使客户端生成战斗逻辑代码及第一战斗结果;接收客户端发送的战斗逻辑代码及第一战斗结果,并根据战斗逻辑代码对第一战斗方的战斗数值及第二战斗方的战斗数值执行数值结算,生成第二战斗结果;根据预设的校验标准对第一战斗结果及第二战斗结果进行校验,并根据校验结果向客户端返回对应的信息。本发明还公开一种游戏战斗校验系统及服务端。本发明通过在服务端对战斗进行完整校验,避免了用户作弊带来的受益,保证了整个游戏的平衡。
Description
技术领域
本发明涉及游戏领域,尤其涉及一种游戏战斗校验方法、系统及服务端。
背景技术
战斗是大多数角色扮演(RPG)网络游戏的核心体验,玩家在游戏中花费资源培养自身角色或者卡牌,然后在战斗中体现培养的效果,因此必须确保战斗中玩家数值的真实性。否则如果有玩家通过作弊器修改战斗数值而获利,将大大降低游戏的公平性,使得正常玩家大量流失,对游戏运营造成毁灭性的打击。
对于一些战斗过程中需要客户端(尤其是移动客户端)频繁操作的网络游戏,由于手机无线网络网速的限制,无法将每次操作的战斗数值结算都发送给游戏服务端完成,否则战斗过程会有明显的卡顿,用户体验非常不友好。但如果战斗数值结算在客户端本地进行,玩家则有可能通过作弊器修改战斗数值,造成上述不良影响。
目前针对战斗过程需要客户端频繁操作的游戏,一般有以下几种校验方案:一是在客户端加入一些防范修改战斗数值的保护措施。例如通过某种算法对内存中的战斗数值做一些混淆和校验,其中,混淆可以避免玩家直接修改客户端战斗界面上显示的数值,校验则是为了在玩家修改某个数值之后能够检测出来。二是在客户端战斗结束后,服务端对客户端的战斗结果做一些关键数据的校验。例如根据客户端的初始战斗数值,按玩家最完美的操作估算所能战胜的最大敌方战斗数值,如果超过了则校验失败。
发明内容
然而现有技术的校验方案一,由于保护措施和校验均是在客户端进行,而玩家是有可能直接通过反编译等手段破解整个客户端,所以并没有从根本上杜绝作弊的可能性。而校验方案二虽然是在服务端进行校验,但这种针对关键数据的校验只能是比较粗略的校验,玩家只要控制好作弊修改的数值范围,或者只修改那些不会进行校验的数值,则依然可以校验成功并获得利益。
针对上述问题,本发明的目的在于提供一种游戏战斗校验方法、系统及服务端,可对玩家的战斗数值和战斗结果进行完整的检验,防止玩家的作弊行为。
第一方面,提供了一种游戏战斗校验方法,包括如下步骤:
接收来自客户端的游戏战斗指令,其中,所述游戏战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并返回给所述客户端,以使所述客户端能够根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成战斗逻辑代码及第一战斗结果;
接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果;
根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
在第一种实现方式,所述根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验的结果向所述客户端返回对应的信息,包括:
判断所述第一战斗结果与所述第二战斗结果是否完全一致;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
在第二种实现方式,所述根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验的结果向所述客户端返回对应的信息,包括:
判断所述第一战斗结果与所述第二战斗结果的差是否在预设的范围内;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
在第三种实现方式,所述第一战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子;和/或,
所述第二战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子。
在第四种实现方式,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗结束时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成;或者,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗进行至预定比例时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成。
结合第一方面的第四种实现方式,在第五种实现方式,所述接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果,包括:
接收所述客户端发送的战斗逻辑代码及第一战斗结果,并判断所述第一战斗结果是否为玩家失败;
若否,则对所述第一战斗结果进行校验,并根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果;
若是,则不对所述第一战斗结果进行校验,并直接向所述客户端返回失败信息。
第二方面,提供了一种游戏战斗校验方法,包括如下步骤:
客户端根据玩家的操作生成游戏战斗指令,并将所述游戏战斗指令发送至服务端;其中,所述游戏战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
所述服务端接收所述游戏战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并返回给所述客户端;
所述客户端根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果;
所述服务端接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果;
所述服务端根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
在第一种实现方式,所述服务端根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验的结果向所述客户端返回对应的信息,包括:
所述服务端判断所述第一战斗结果与所述第二战斗结果是否完全一致;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
在第二种实现方式,所述服务端根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验的结果向所述客户端返回对应的信息,包括:
所述服务端判断所述第一战斗结果与所述第二战斗结果的差是否在预设的范围内;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
在第三种实现方式,所述第一战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子;和/或,
所述第二战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子。
在第四种实现方式,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗结束时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成;或者,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗进行至预定比例时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成。
结合第二方面的第四种实现方式,在第五种实现方式,所述服务端接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果,包括:
所述服务端接收所述客户端发送的战斗逻辑代码及第一战斗结果,并判断所述第一战斗结果是否为玩家失败;
若否,则所述服务端确定对所述第一战斗结果进行校验,并根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果;
若是,则所述服务端不对所述第一战斗结果进行校验,并直接向所述客户端返回失败信息。
第三方面,提供了一种服务端,包括:
指令接收单元,用于接收来自客户端的战斗指令,其中,所述战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
查询单元,用于根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并发送至所述客户端,以使所述客户端根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果;
结算单元,用于接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果;
校验单元,用于根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
在第一种实现方式,所述校验单元具体用于,
判断所述第一战斗结果与所述第二战斗结果是否完全一致;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
在第二种实现方式,所述校验单元具体用于,
判断所述第一战斗结果与所述第二战斗结果的差是否在一预设的范围内;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
在第三种实现方式,所述第一战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子;和/或,
所述第二战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子。
在第四种实现方式,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗结束时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成;或者,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗进行至预定比例时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成。
在第五种实现方式,所述结算单元具体用于,
接收所述客户端发送的战斗逻辑代码及第一战斗结果,并判断所述第一战斗结果是否为玩家失败;
若否,则对所述第一战斗结果进行校验,并根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果;
若是,则确定不对所述第一战斗结果进行校验,并直接向所述客户端返回失败信息。
第四方面,提供了一种游戏战斗校验系统,包括客户端及服务端,其中,
所述客户端,用于根据玩家的操作生成战斗指令,并将所述战斗指令发送至服务端;其中,所述战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
所述服务端,用于接收所述战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并发送至所述客户端;
所述客户端,还用于根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果;
所述服务端,还用于接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果;
所述服务端,还用于根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
第五方面,提供了一种游戏战斗校验方法,包括如下步骤:
客户端根据玩家的操作生成游戏战斗指令,并将所述游戏战斗指令发送至游戏服务端;其中,所述游戏战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
所述游戏服务端接收所述游戏战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并返回给所述客户端;
所述客户端根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果;
所述游戏服务端接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,将所述第一战斗方的战斗数值、所述第二战斗方的战斗数值、所述战斗逻辑代码及所述第一战斗结果发送给校验服务端;
所述校验服务端根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果,根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并将校验结果返回给所述游戏服务端;
所述游戏服务端根据所述校验结果向所述客户端返回对应的信息。
第六方面,提供了一种游戏战斗校验系统,包括客户端、游戏服务端及校验服务端,其中,
所述客户端,用于根据玩家的操作生成战斗指令,并将所述战斗指令发送至服务端;其中,所述战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
所述游戏服务端,用于接收所述战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并发送至所述客户端;
所述客户端,还用于根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果;
所述游戏服务端,还用于接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,将所述第一战斗方的战斗数值、所述第二战斗方的战斗数值、所述战斗逻辑代码及所述第一战斗结果发送给校验服务端;
所述校验服务端,用于根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果,根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并将校验结果返回给所述游戏服务端;
所述游戏服务端,还用于根据所述校验结果向所述客户端返回对应的信息。
本发明实施例提供的游戏战斗校验方法、系统及服务端,通过所述客户端根据玩家的操作生成的战斗逻辑代码及第一战斗结果,再由所述服务端执行所述战斗逻辑代码进行完整校验后生成第二战斗结果,并根据所述服务端生成的第二战斗结果对所述客户端生成的所述第一战斗结果进行校验,得到精确的校验结果,可有效避免因玩家对战斗数值的修改而造成游戏不平衡的问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的游戏战斗校验方法的流程示意图。
图2是本发明第二实施例提供的游戏战斗校验方法的流程示意图。
图3是本发明第三实施例提供的服务端的结构示意图。
图4是本发明第四实施例提供的游戏战斗校验系统的结构示意图。
图5是本发明第五实施例提供的游戏战斗校验方法的流程示意图。
图6是本发明第六实施例提供的游戏战斗校验系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明第一实施例提供的游戏战斗校验方法的流程示意图。所述游戏战斗校验方法是从服务端这一侧来进行描述的,其至少包括步骤S101至S104。
S101,接收来自客户端的游戏战斗指令,其中,所述游戏战斗指令至少包括第一战斗方的标识及第二战斗方的标识。
在本发明实施例中,所述客户端可为智能手机、平板电脑、笔记本电脑、台式电脑、掌上电脑或其他智能终端设备。其中,所述客户端内安装有游戏程序,玩家可通过执行所述游戏程序来进行游戏体验,在游戏体验过程中,玩家有时候需要控制自己的游戏角色与所述游戏程序设定的怪物或NPC进行战斗,来完成游戏任务或者获得游戏道具奖励等。
在本发明实施例中,所述服务端可接收所述客户端发送的游戏战斗指令,其中,所述游戏战斗指令可由客户端接收到玩家发起的战斗请求时生成,所述游戏战斗指令至少包括第一战斗方的标识及第二战斗方的标识。例如,所述第一战斗方的标识为玩家控制的游戏角色的标识(如所述游戏角色的名称、存储地址或编号等),而所述第二战斗方的标识为程序设定的怪物等非玩家控制角色(Non-Player Character,NPC)的标识(如NPC的名称、存储地址或编号等)。
需要说明的是,在本发明实施例中,所述第一战斗方包含的游戏角色至少为一个,例如,对于一个卡牌游戏,玩家可能同时控制多张卡牌,这些卡牌共同构成所述第一战斗方。同理,所述第二战斗方包含的NPC也至少为一个,这些方案均在本发明的保护范围之内,在此不再赘述。
S102,根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并返回给所述客户端,以使所述客户端能够根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成战斗逻辑代码及第一战斗结果。
在本发明实施例中,所述服务端在接收到所述游戏战斗指令时,根据所述第一战斗方的标识及所述第二战斗方的标识,从相应的数据库中查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并返回给所述客户端。其中,所述第一战斗方的战斗数值可包括第一战斗方内的每个游戏角色的生命值、攻击力、防御力、技能的伤害值等,同理,所述第二战斗方的战斗数值可包括第二战斗方内的每个游戏角色的生命值、攻击力、防御力、技能的伤害值等。
在本发明实施例中,所述客户端在接收到所述第一战斗方的战斗数值及所述第二战斗方的战斗数值后,根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算。例如,所述客户端可根据玩家发动的技能或攻击的顺序及所述游戏程序根据自身逻辑控制的第二战斗方发动的技能或攻击顺序等,对第一战斗方的生命值及第二战斗方的生命值进行数值结算,并生成战斗逻辑代码及第一战斗结果。所述战斗逻辑代码用于表示在玩家与NPC战斗过程中,两方发动的技能及攻击的方式,而所述第一战斗结果由对这些技能和攻击进行数值结算生成,例如,所述第一战斗结果可为第一战斗方的剩余生命值或第二战斗方的剩余生命值。
S103,接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果。
在本发明实施例中,所述服务端接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果。其中,所述战斗逻辑代码可完整的重现玩家的操作过程。
需要说明的是,在本发明的一些实施例中,所述战斗逻辑代码及所述第一战斗结果可为所述客户端在游戏战斗结束生成,即在所述第一战斗方与所述第二战斗方已经完成战斗后再生成所述战斗逻辑代码及所述第一战斗结果。
需要说明的是,在本发明的一些实施例中,所述战斗逻辑代码及所述第一战斗结果可为所述客户端在游戏战斗至预定阶段时生成,例如,可为游戏战斗至预定回合时生成当前阶段的战斗逻辑代码及第一战斗结果。这样的好处在于,有时候战斗回合数比较多或时间比较长,生成的战斗逻辑代码也比较长,如果在战斗结束时再进行校验,可能会花费比较多的校验时间,造成游戏卡顿和玩家等待时间比较长。而将整个游戏战斗分阶段进行校验,则可避免上述问题,提高了玩家的游戏体验。
需要说明的是,在本发明的一些实施例中,对于某些特定的情况,也可选择直接信任玩家的行为,而不对所述第一战斗结果进行校验。例如,当所述第一战斗结果为玩家控制的第一战斗方失败时,则由于玩家失败无法获得游戏奖励的道具,因而即使玩家对游戏的战斗数值进行了修改,但因而玩家未发生受益,不影响游戏的平衡,所以在这种情况下,所述服务端可以选择不对所述第一战斗结果进行校验,而直接向玩家的客户端返回战斗失败的消息。此外,当所述服务端检测到客户端的网络状态不佳或者校验进程存在问题时候,也可以选择不进行校验。
S104,根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
在本发明实施例中,所述服务端根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
需要说明的是,在一个实施例中,所述服务端可校验所述第一战斗结果与所述第二战斗结果是否完全一致,若是,则向所述客户端返回通过校验的信息;若否,则向所述客户端返回警报信息。
需要说明的是,在一个实施例中,所述服务端判断所述第一战斗结果与所述第二战斗结果的差是否在预设的范围内;若是,则向所述客户端返回通过校验的信息;若否,则向所述客户端返回警报信息。
例如,假设所述第一战斗结果与所述第二战斗结果为第一战斗方的剩余生命值,所述服务端可判断所述第一战斗结果与所述第二战斗结果的差与所述第一战斗结果的比的绝对值是否在预设范围内(如小于10%),若是,则所述服务端判断本次战斗有效,向所述客户端返回通过校验的信息,若否,则所述服务端判断本次战斗无效,向所述客户端返回警报信息。
需要说明的是,在本发明的一些实施例中,所述第一战斗方的战斗数值和/或所述第二战斗方的战斗数值中可能包括随机值,例如,所述第一战斗方内的游戏角色的攻击力可能会是一个浮动值(如攻击力为90-110),在具体战斗时,会根据一个随机种子及随机算法来确定当前的实际战斗力。则此时,所述第一战斗方的战斗数值还应包括这个随机种子。如此,可保证在客户端进行数值结算及在服务端进行数值结算时,随机算法根据同一个随机种子随机到相同的数值,避免因随机到的数值不一样而造成客户端和服务端生成的战斗结果不同。
本发明实施例提供的游戏战斗校验方法,由客户端根据玩家的操作生成战斗逻辑代码及第一战斗结果,再由所述服务端执行战斗逻辑代码生成第二战斗结果,并根据所述第二战斗结果对所述客户端生成的所述第一战斗结果进行校验,得到校验结果。由于校验过程是在服务端进行的,且是对玩家的整个操作过程进行完整的校验,可有效避免因玩家对战斗数值的修改而造成游戏不平衡的问题。
需要说明的是,在本发明的一些实施例中,上述步骤S103及S104可以由所述服务端内的游戏主进程来执行。
需要说明的是,在本发明的一些实施例中,上述步骤S103及S104也可由所述服务端内的游戏主进程和一个新起的战斗校验进程来共同执行。
具体地,所述服务端在接收到所述客户端发来的战斗逻辑代码及第一战斗结果后,在游戏主进程之外新起一个战斗检验进程,其中,所述游戏主进程与所述战斗检验进程战斗之间可通过TCP连接进行交互。所述游戏主进程监听一个区别于所述客户端的端口,战斗校验进程在运行之后主动连接游戏主进程监听的端口(也可由所述战斗校验进程监听某个端口,游戏主进程对这个端口发起连接请求),连接成功后会隔一段时间发送一次心跳包,确保二者的连接未断开。然后,所述游戏主进程将所述第一战斗方的战斗数值、所述第二战斗方的战斗数值及客户端发来的战斗逻辑代码及第一战斗结果一并发送给战斗校验进程。此时,所述战斗校验进程根据所述战斗逻辑代码对所述第一战斗方的战斗数值、所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果,并根据所述预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验后,将校验结果发送给游戏主进程,所述游戏主进程再根据校验结果向所述客户端返回对应的信息。这样做的好处在于,一方面,可以节省游戏主进程的运算资源,服务端的战斗校验进程是用客户端共享的同一份战斗结算逻辑代码,也是新起的一个独立进程,所以即使服务端的游戏主进程的程序开发语言跟客户端不一致,也不影响战斗的校验实现,同时战斗校验的运算也不会占用游戏主进程的运算资源。另一方面,可以方便的进行扩展。如果所述战斗校验进程的运算负荷比较大,可以立即再新起一个战斗校验进程连接到所述游戏主进程,这样游戏主进程可以把后面的校验需求发送到新起的战斗检验进程中,保证整个战斗检验的顺利进行。
请一并参阅图2,图2是本发明第二实施例提供的游戏战斗校验方法的流程示意图。所述游戏战斗校验方法是从客户端与服务端两侧的交互来进行描述的。其包括步骤S201至S205,其中:
S201,客户端根据玩家的操作生成游戏战斗指令,并将所述游戏战斗指令发送至服务端;其中,所述游戏战斗指令至少包括第一战斗方的标识及第二战斗方的标识。
S202,所述服务端接收所述游戏战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并返回给所述客户端。
S203,所述客户端根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果。
需要说明的是,在本发明的一些实施例中,所述战斗逻辑代码及所述第一战斗结果可为所述客户端在游戏战斗结束生成,即在所述第一战斗方与所述第二战斗方已经完成战斗后再生成所述战斗逻辑代码及所述第一战斗结果。
需要说明的是,在本发明的一些实施例中,所述战斗逻辑代码及所述第一战斗结果可为所述客户端在游戏战斗至预定比例时生成,例如,可为游戏战斗至预定回合时生成当前阶段的战斗逻辑代码及第一战斗结果。这样的好处在于,有时候战斗回合数比较多或时间比较长,生成的战斗逻辑代码也比较长,如果在战斗结束时再进行校验,可能会花费比较多的校验时间,造成游戏卡顿和玩家等待时间比较长。而将整个游戏战斗分阶段进行校验,则可避免上述问题,提高了玩家的游戏体验。
S204,所述服务端接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果。
需要说明的是,在本发明的一些实施例中,对于某些特定的情况,也可选择直接信任玩家的行为,而不对所述第一战斗结果进行校验。例如,当所述第一战斗结果为玩家控制的第一战斗方失败时,则由于玩家失败无法获得游戏奖励的道具,因而即使玩家对游戏的战斗数值进行了修改,但因而玩家未发生受益,不影响游戏的平衡,所以在这种情况下,所述服务端可以选择不对所述第一战斗结果进行校验,而直接向玩家的客户端返回战斗失败的消息。此外,当所述服务端检测到客户端的网络状态不佳或者校验进程存在一些问题时候,也可以选择不进行校验。
S205,所述服务端根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
在本发明实施例中,所述服务端根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
在一个实施例中,所述服务端可校验所述第一战斗结果与所述第二战斗结果是否完全一致,若是,则向所述客户端返回通过校验的信息;若否,则向所述客户端返回警报信息。
在一个实施例中,所述服务端判断所述第一战斗结果与所述第二战斗结果的差是否在预设的范围内;若是,则向所述客户端返回通过校验的信息;若否,则向所述客户端返回警报信息。
本发明实施例提供的游戏战斗校验方法,由客户端根据玩家的操作生成战斗逻辑代码及第一战斗结果,再由所述服务端执行战斗逻辑代码生成第二战斗结果,并根据所述第二战斗结果对所述客户端生成的所述第一战斗结果进行校验,得到校验结果。由于校验过程是在服务端进行的,且是对玩家的整个操作过程进行完整的校验,可有效避免因玩家对战斗数值的修改而造成游戏不平衡的问题。
需要说明的是,在本发明的一些实施例中,上述步骤S204及S205可以由所述服务端内的游戏主进程来执行。
需要说明的是,在本发明的一些实施例中,上述步骤S204及S205也可由所述服务端内的游戏主进程和一个新起的战斗校验进程来共同执行。
具体地,所述服务端在接收到所述客户端发来的战斗逻辑代码及第一战斗结果后,在游戏主进程之外新起一个战斗检验进程,其中,所述游戏主进程与所述战斗检验进程战斗之间可通过TCP连接进行交互。然后,所述游戏主进程将所述第一战斗方的战斗数值、所述第二战斗方的战斗数值及客户端发来的战斗逻辑代码及第一战斗结果一并发送给战斗校验进程。此时,所述战斗校验进程根据所述战斗逻辑代码对所述第一战斗方的战斗数值、所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果,并根据所述预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验后,将校验结果发送给游戏主进程,所述游戏主进程再根据校验结果向所述客户端返回对应的信息。这样做的好处在于,一方面,可以节省游戏主进程的运算资源,服务端的战斗校验进程是用客户端共享的同一份战斗结算逻辑代码,也是新起的一个独立进程,所以即使服务端的游戏主进程的程序开发语言跟客户端不一致,也不影响战斗的校验实现,同时战斗校验的运算也不会占用游戏主进程的运算资源。另一方面,可以方便的进行扩展。如果所述战斗校验进程的运算比较吃紧,可以立即再新起一个战斗校验进程连接到所述游戏主进程,这样游戏主进程可以把后面的校验需求发送到新的战斗检验进程中,保证战斗检验的顺利进行。
请一并参阅图3,图3是本发明第三实施例提供的服务端的结构示意图。其中,所述服务端300可用于执行上述第一实施例所述的游戏战斗校验方法,所述服务端300包括:
指令接收单元310,用于接收来自客户端的战斗指令,其中,所述战斗指令至少包括第一战斗方的标识及第二战斗方的标识。
查询单元320,用于根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并发送至所述客户端,以使所述客户端根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果。
结算单元330,用于接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果。
在本发明的一些实施例中,所述结算单元330可具体用于,接收所述客户端发送的战斗逻辑代码及第一战斗结果,并判断所述第一战斗结果是否为玩家失败;若否,则对所述第一战斗结果进行校验,并根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果;若是,则确定不对所述第一战斗结果进行校验,并直接向所述客户端返回失败信息。
校验单元340,用于根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
在一个实施例中,所述校验单元340具体用于,判断所述第一战斗结果与所述第二战斗结果是否完全一致;若是,则向所述客户端返回通过校验的信息;若否,则向所述客户端返回警报信息。
在一个实施例中,所述校验单元340具体用于,判断所述第一战斗结果与所述第二战斗结果的差是否在一预设的范围内;若是,则向所述客户端返回通过校验的信息;若否,则向所述客户端返回警报信息。
本发明实施例提供的游戏战斗校验方法300,由客户端根据玩家的操作生成战斗逻辑代码及第一战斗结果,再由所述结算单元330执行战斗逻辑代码生成第二战斗结果,并由所述校验单元340根据所述第二战斗结果对所述客户端生成的所述第一战斗结果进行校验,得到校验结果。由于校验过程是在服务端进行的,且是对玩家的整个操作过程进行完整的校验,可有效避免因玩家对战斗数值的修改而造成游戏不平衡的问题。
请一并参阅图4,图4是本发明第四实施例提供的游戏战斗校验系统的结构示意图。所述游戏战斗校验系统400包括客户端410及服务端420,其中,
所述客户端410,用于根据玩家的操作生成战斗指令,并将所述战斗指令发送至服务端420;其中,所述战斗指令至少包括第一战斗方的标识及第二战斗方的标识。
所述服务端420,用于接收所述战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并发送至所述客户端410。
所述客户端410,还用于根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果。
所述服务端420,还用于接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果。
所述服务端430,还用于根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端410返回对应的信息。
本发明实施例提供的游戏战斗校验系统400,由所述客户端410根据玩家的操作生成战斗逻辑代码及第一战斗结果,再由所述服务端420执行战斗逻辑代码生成第二战斗结果,并根据所述第二战斗结果对所述客户端410生成的所述第一战斗结果进行校验,得到校验结果。由于校验过程是在服务端420进行的,且是对玩家的整个操作过程进行完整的校验,可有效避免因玩家对战斗数值的修改而造成游戏不平衡的问题。
请一并参阅图5,图5是本发明第五实施例提供的游戏战斗校验方法的流程示意图。所述游戏战斗校验方法是从客户端、游戏服务端及校验服务端三者的交换来描述的,并包括如下步骤:
S501,客户端根据玩家的操作生成游戏战斗指令,并将所述游戏战斗指令发送至游戏服务端;其中,所述游戏战斗指令至少包括第一战斗方的标识及第二战斗方的标识。
S502,所述游戏服务端接收所述游戏战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并返回给所述客户端。
S503,所述客户端根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果。
S504,所述游戏服务端接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,将所述第一战斗方的战斗数值、所述第二战斗方的战斗数值、所述战斗逻辑代码及所述第一战斗结果发送给校验服务端。
S505,所述校验服务端根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果,根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并将校验结果返回给所述游戏服务端。
S506,所述游戏服务端根据所述校验结果向所述客户端返回对应的信息。
本发明实施例中,将进行战斗数值校验的部分由一个独立的校验服务端来执行,而所述游戏服务端仅用于校验数据和战斗数值的转发,而不进行具体的校验过程,实现了战斗校验与游戏服务端的解耦合,如此,可减轻所述游戏服务端的运行负荷,且可方便的对所述校验服务端进行扩展,提升了整个游戏战斗校验过程的效率和稳定性。
请一并参阅图6,图6是本发明第六实施例提供的游戏战斗校验系统的结构示意图。所述游戏战斗校验系统600包括客户端610、游戏服务端620及校验服务端630,其中,
所述客户端610,用于根据玩家的操作生成战斗指令,并将所述战斗指令发送至服务端620;其中,所述战斗指令至少包括第一战斗方的标识及第二战斗方的标识。
所述游戏服务端620,用于接收所述战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并发送至所述客户端610。
所述客户端610,还用于根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果。
所述游戏服务端620,还用于接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,将所述第一战斗方的战斗数值、所述第二战斗方的战斗数值、所述战斗逻辑代码及所述第一战斗结果发送给校验服务端630。
所述校验服务端630,用于根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果,根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并将校验结果返回给所述游戏服务端620。
所述游戏服务端620,还用于根据所述校验结果向所述客户端610返回对应的信息。
本发明实施例中,将进行战斗数值校验的部分由一个独立的校验服务端630来执行,而所述游戏服务端620仅用于校验数据和战斗数值的转发,而不进行具体的校验过程,实现了战斗校验与游戏服务端620的解耦合,如此,可减轻所述游戏服务端的运行负荷,且可方便的对所述校验服务端630进行扩展,提升了整个游戏战斗校验系统600的效率和稳定性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输软件以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述软件的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述软件,然后将其存储在计算机存储器中。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过软件来指令相关的硬件完成,所述的软件可以存储于一种计算机可读存储介质中,该软件在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (22)
1.一种游戏战斗校验方法,其特征在于,包括如下步骤:
接收来自客户端的游戏战斗指令,其中,所述游戏战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并返回给所述客户端,以使所述客户端能够根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成战斗逻辑代码及第一战斗结果;所述战斗逻辑代码可完整地重现玩家的操作过程;
接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果;
根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
2.根据权利要求1所述的游戏战斗校验方法,其特征在于,所述根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验的结果向所述客户端返回对应的信息,包括:
判断所述第一战斗结果与所述第二战斗结果是否完全一致;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
3.根据权利要求1所述的游戏战斗校验方法,其特征在于,所述根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验的结果向所述客户端返回对应的信息,包括:
判断所述第一战斗结果与所述第二战斗结果的差是否在预设的范围内;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
4.根据权利要求1所述的游戏战斗校验方法,其特征在于,
所述第一战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子;和/或,
所述第二战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子。
5.根据权利要求1至4任意一项所述的游戏战斗校验方法,其特征在于,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗结束时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成;或者,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗进行至预定比例时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成。
6.根据权利要求5所述的游戏战斗校验方法,其特征在于,所述接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果,包括:
接收所述客户端发送的战斗逻辑代码及第一战斗结果,并判断所述第一战斗结果是否为玩家失败;
若否,则对所述第一战斗结果进行校验,并根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果;
若是,则不对所述第一战斗结果进行校验,并直接向所述客户端返回失败信息。
7.一种游戏战斗校验方法,其特征在于,包括如下步骤:
客户端根据玩家的操作生成游戏战斗指令,并将所述游戏战斗指令发送至服务端;其中,所述游戏战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
所述服务端接收所述游戏战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并返回给所述客户端;
所述客户端根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果;所述战斗逻辑代码可完整地重现玩家的操作过程;
所述服务端接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果;
所述服务端根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
8.根据权利要求7所述的游戏战斗校验方法,其特征在于,所述服务端根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验的结果向所述客户端返回对应的信息,包括:
所述服务端判断所述第一战斗结果与所述第二战斗结果是否完全一致;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
9.根据权利要求7所述的游戏战斗校验方法,其特征在于,所述服务端根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验的结果向所述客户端返回对应的信息,包括:
所述服务端判断所述第一战斗结果与所述第二战斗结果的差是否在预设的范围内;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
10.根据权利要求7所述的游戏战斗校验方法,其特征在于,
所述第一战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子;和/或,
所述第二战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子。
11.根据权利要求7至10任意一项所述的游戏战斗校验方法,其特征在于,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗结束时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成;或者,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗进行至预定比例时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成。
12.根据权利要求11所述的游戏战斗校验方法,其特征在于,所述服务端接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果,包括:
所述服务端接收所述客户端发送的战斗逻辑代码及第一战斗结果,并判断所述第一战斗结果是否为玩家失败;
若否,则所述服务端确定对所述第一战斗结果进行校验,并根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算,生成第二战斗结果;
若是,则所述服务端不对所述第一战斗结果进行校验,并直接向所述客户端返回失败信息。
13.一种服务端,其特征在于,包括:
指令接收单元,用于接收来自客户端的战斗指令,其中,所述战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
查询单元,用于根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并发送至所述客户端,以使所述客户端根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果;所述战斗逻辑代码可完整地重现玩家的操作过程;
结算单元,用于接收所述客户端发送的战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果;
校验单元,用于根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
14.根据权利要求13所述的服务端,其特征在于,所述校验单元具体用于,
判断所述第一战斗结果与所述第二战斗结果是否完全一致;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
15.根据权利要求13所述的服务端,其特征在于,所述校验单元具体用于,
判断所述第一战斗结果与所述第二战斗结果的差是否在一预设的范围内;
若是,则向所述客户端返回通过校验的信息;
若否,则向所述客户端返回警报信息。
16.根据权利要求13所述的服务端,其特征在于,
所述第一战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子;和/或,
所述第二战斗方的战斗数值包括随机战斗值及用于生成所述随机战斗值的随机种子。
17.根据权利要求13至16任意一项所述的服务端,其特征在于,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗结束时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成;或者,所述战斗逻辑代码及所述第一战斗结果由所述客户端在游戏战斗进行至预定比例时根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值执行数值结算生成。
18.根据权利要求13所述的服务端,其特征在于,所述结算单元具体用于,
接收所述客户端发送的战斗逻辑代码及第一战斗结果,并判断所述第一战斗结果是否为玩家失败;
若否,则对所述第一战斗结果进行校验,并根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果;
若是,则确定不对所述第一战斗结果进行校验,并直接向所述客户端返回失败信息。
19.一种游戏战斗校验系统,其特征在于,包括客户端及服务端,其中,
所述客户端,用于根据玩家的操作生成战斗指令,并将所述战斗指令发送至服务端;其中,所述战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
所述服务端,用于接收所述战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并发送至所述客户端;
所述客户端,还用于根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果;所述战斗逻辑代码可完整地重现玩家的操作过程;
所述服务端,还用于接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果;
所述服务端,还用于根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并根据校验结果向所述客户端返回对应的信息。
20.一种游戏战斗校验方法,其特征在于,包括如下步骤:
客户端根据玩家的操作生成游戏战斗指令,并将所述游戏战斗指令发送至游戏服务端;其中,所述游戏战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
所述游戏服务端接收所述游戏战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并返回给所述客户端;
所述客户端根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果;所述战斗逻辑代码可完整地重现玩家的操作过程;
所述游戏服务端接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,将所述第一战斗方的战斗数值、所述第二战斗方的战斗数值、所述战斗逻辑代码及所述第一战斗结果发送给校验服务端;
所述校验服务端根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果,根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并将校验结果返回给所述游戏服务端;
所述游戏服务端根据所述校验结果向所述客户端返回对应的信息。
21.一种游戏战斗校验系统,其特征在于,包括客户端、游戏服务端及校验服务端,其中,
所述客户端,用于根据玩家的操作生成战斗指令,并将所述战斗指令发送至服务端;其中,所述战斗指令至少包括第一战斗方的标识及第二战斗方的标识;
所述游戏服务端,用于接收所述战斗指令,并根据所述第一战斗方的标识及所述第二战斗方的标识,查询所述第一战斗方的战斗数值及所述第二战斗方的战斗数值,并发送至所述客户端;
所述客户端,还用于根据玩家的操作对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成战斗逻辑代码及第一战斗结果;所述战斗逻辑代码可完整地重现玩家的操作过程;
所述游戏服务端,还用于接收所述战斗逻辑代码及第一战斗结果,并在确定需要对所述第一战斗结果进行校验时,将所述第一战斗方的战斗数值、所述第二战斗方的战斗数值、所述战斗逻辑代码及所述第一战斗结果发送给校验服务端;
所述校验服务端,用于根据所述战斗逻辑代码对所述第一战斗方的战斗数值及所述第二战斗方的战斗数值进行数值结算,生成第二战斗结果,根据预设的校验标准对所述第一战斗结果及所述第二战斗结果进行校验,并将校验结果返回给所述游戏服务端;
所述游戏服务端,还用于根据所述校验结果向所述客户端返回对应的信息。
22.一种计算机可读存储介质,其存储有与计算设备结合使用的计算机程序,所述计算机程序被处理器执行以实现权利要求1至12以及权利要求20任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510673117.0A CN105214310B (zh) | 2015-10-13 | 2015-10-13 | 一种游戏战斗校验方法、系统及服务端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510673117.0A CN105214310B (zh) | 2015-10-13 | 2015-10-13 | 一种游戏战斗校验方法、系统及服务端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105214310A CN105214310A (zh) | 2016-01-06 |
CN105214310B true CN105214310B (zh) | 2019-03-29 |
Family
ID=54983796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510673117.0A Active CN105214310B (zh) | 2015-10-13 | 2015-10-13 | 一种游戏战斗校验方法、系统及服务端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105214310B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509329B (zh) * | 2017-02-24 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 对客户端上执行的操作进行验证的方法及装置 |
CN107433037A (zh) * | 2017-07-07 | 2017-12-05 | 天脉聚源(北京)科技有限公司 | 一种参数处理方法及装置 |
CN107451477A (zh) * | 2017-07-28 | 2017-12-08 | 腾讯科技(深圳)有限公司 | 一种恶意程序检测的方法、相关装置及系统 |
CN107450957B (zh) * | 2017-08-09 | 2020-10-27 | 网易(杭州)网络有限公司 | 游戏配置的处理方法、装置、存储介质、处理器及终端 |
CN109499069B (zh) * | 2017-09-14 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 操作结果校验方法、装置、存储介质及电子装置 |
CN108261762B (zh) * | 2017-12-18 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 数据同步方法和装置、存储介质及电子装置 |
JP6473259B1 (ja) * | 2018-05-01 | 2019-02-20 | 株式会社Cygames | ゲームにおけるユーザの不正を検出するためのシステム、サーバ、プログラム及び方法 |
CN109173254B (zh) * | 2018-07-27 | 2022-06-21 | 努比亚技术有限公司 | 游戏数据显示方法、移动终端及计算机可读存储介质 |
CN109675318A (zh) * | 2018-12-29 | 2019-04-26 | 苏州玩友时代科技股份有限公司 | 一种游戏战斗验算方法及系统 |
CN109847356B (zh) * | 2019-02-25 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 一种回合制游戏的数据处理方法、装置、终端及服务器 |
CN110327625B (zh) * | 2019-07-08 | 2023-07-21 | 网易(杭州)网络有限公司 | 文件的处理方法、装置、处理器、终端及服务器 |
CN110324651B (zh) * | 2019-07-24 | 2021-10-15 | 广州方硅信息技术有限公司 | 直播互动方法、服务器、直播互动系统以及存储介质 |
CN110597657B (zh) * | 2019-09-16 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 客户端数据的校验方法、系统及服务器 |
CN111068334A (zh) * | 2019-12-18 | 2020-04-28 | 上海米哈游天命科技有限公司 | 离线检测作弊方法、装置、设备和存储介质 |
CN111084990A (zh) * | 2019-12-18 | 2020-05-01 | 上海米哈游天命科技有限公司 | 在线检测作弊方法、装置、设备和存储介质 |
CN113181656A (zh) * | 2021-04-23 | 2021-07-30 | 深圳市忒爱玩科技有限公司 | 外挂检测方法、设备及介质 |
CN113827984B (zh) * | 2021-09-27 | 2023-12-12 | �田�浩 | 一种动作类游戏反外挂方法及系统 |
CN117244254A (zh) * | 2022-11-04 | 2023-12-19 | 腾讯科技(深圳)有限公司 | 游戏数据校验方法、装置、设备、存储介质和程序产品 |
CN117046103B (zh) * | 2023-07-18 | 2024-07-12 | 广州三七极梦网络技术有限公司 | 游戏战斗处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335916A (zh) * | 2008-07-22 | 2008-12-31 | 中山大学 | 一种通用的手机角色扮演(rpg)网络游戏引擎 |
CN102120084A (zh) * | 2010-02-01 | 2011-07-13 | 北京万豪天际文化传播有限公司 | 一种棋类游戏数据处理系统 |
CN102413097A (zh) * | 2010-09-21 | 2012-04-11 | 江苏立方网络科技有限公司 | 客户端与服务器的通信系统及方法 |
CN103840979A (zh) * | 2012-11-22 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 用于碰撞检测的数据处理装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101696009B1 (ko) * | 2013-02-27 | 2017-01-12 | 한국전자통신연구원 | 게임의 특성을 이용하여 부정 사용자를 검출하기 위한 게임 특성 검출 장치 및 방법 |
-
2015
- 2015-10-13 CN CN201510673117.0A patent/CN105214310B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335916A (zh) * | 2008-07-22 | 2008-12-31 | 中山大学 | 一种通用的手机角色扮演(rpg)网络游戏引擎 |
CN102120084A (zh) * | 2010-02-01 | 2011-07-13 | 北京万豪天际文化传播有限公司 | 一种棋类游戏数据处理系统 |
CN102413097A (zh) * | 2010-09-21 | 2012-04-11 | 江苏立方网络科技有限公司 | 客户端与服务器的通信系统及方法 |
CN103840979A (zh) * | 2012-11-22 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 用于碰撞检测的数据处理装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105214310A (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105214310B (zh) | 一种游戏战斗校验方法、系统及服务端 | |
US20200406138A1 (en) | Game control method, system, and non-transitory computer-readable recording medium | |
US9089778B2 (en) | Video game with expedited combat | |
US8827788B2 (en) | Server device, and non-transitory computer-readable storage medium storing game program | |
US8585508B1 (en) | Non-transitory computer-readable storage medium and information processing device | |
US8790171B2 (en) | Non-transitory computer-readable storage medium storing game program, and game system | |
US20200164271A1 (en) | Method of controlling a server, server, and non-transitory computer-readable recording medium | |
US20200330865A1 (en) | System and method for dynamically altering an in-game experience based on a user's connection to the game | |
US20140325070A1 (en) | Usage consumption for an invitee of a cloud system | |
US20140378202A1 (en) | Non-transitory computer-readable storage medium storing game program, and information processing device | |
CN114288639A (zh) | 画面显示方法、提供方法、装置、设备及存储介质 | |
US9176925B2 (en) | Non-transitory computer-readable storage medium storing game program, and information processing device | |
CN111045946A (zh) | 一种游戏测试的方法、装置及电子设备 | |
JP5271442B1 (ja) | ゲームシステム | |
KR20130137871A (ko) | 다른 게임 사용자에게 게임 플레이를 대리하게 하는 방법, 이를 수행하는 게임 서버 및 이를 기록한 기록매체 | |
KR101441464B1 (ko) | 부활 강화 버프 기능을 제공하는 온라인 게임 제공 방법 및 그 게임 제공 서버 | |
CN107609895B (zh) | 一种合并业务区域的处理方法及其设备 | |
JP6060044B2 (ja) | ゲームを提供する装置 | |
CN112057875B (zh) | 游戏装备分配方法、设备和存储介质 | |
JP7492045B1 (ja) | プログラム、及びゲーム装置 | |
JP7341697B2 (ja) | プログラム、情報処理装置、ゲームシステム及びゲーム提供方法 | |
US10449449B2 (en) | Reducing the bandwidth requirements of multiplayer gaming sessions | |
KR101171709B1 (ko) | 온라인 게임에서의 순위 정보를 제공하는 방법 및 서버 | |
KR20130103229A (ko) | 펫 아바타를 이용하여 랜덤 아이템을 제공할 수 있는 온라인 게임 제공 방법 및 그 시스템 | |
KR20200052813A (ko) | 게임 프로그램의 친구 추천 방법 및 서버 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |