一种消除类网络游戏中前后端战斗一致性校验方法与流程

文档序号:34855307发布日期:2023-07-22 18:41阅读:149来源:国知局
一种消除类网络游戏中前后端战斗一致性校验方法与流程

本发明涉及游戏中前后端战斗一致性校验,具体是一种消除类网络游戏中前后端战斗一致性校验方法。


背景技术:

1、所有网络游戏的服务端都必须包含相应的数据验证方案,因为客户端是可能被篡改的,如果对客户端请求的数据没有相应验证,必然会导致玩家能够利用漏洞,获取大量非法利益,这将对其他玩家以及游戏开发方都造成严重的财产危害。其中,战斗系统,对大部分游戏来说,都是十分重要甚至核心的功能系统,而同时,由于游戏战斗逻辑的高度复杂性,如何对战斗数据进行校验,甄别其中是否有作弊的行为,一直受到广泛讨论。

2、目前,业界不少游戏都会采用前后端根据同一套战斗规则,各自实现一套代码逻辑的方案,例如同一个战斗技能,前后端开发人员会根据策划的需求文案,各自去进行代码逻辑的实现。这种方案,在战斗过程或结束时,客户端会将玩家的操作行为等数据发送给服务端,服务端再通过自身代码逻辑演算得出结果,最终和客户端的计算结果进行对比,判断其中是否有作弊等行为出现。但是这个方案,有以下几个明显的弊病:1.大部分情况下,前后端的代码开发语言是不一致的,例如当下流行的客户端unity引擎,主要使用c#语言,而后端,常为c++、java、go等语言,而不同的语言,不同的开发者,对于同一个逻辑规则,它的实现方案必然会有差异,甚至即使是同样语义的一句代码,在不同语言中,也有可能出现结果不一致的情况,例如对浮点数的计算,不同的语言会有不同的计算误差。这些差异都将导致一场战斗会有较低几率前后端得出不一致的战斗结果,从而影响战斗校验结论;2.由于实现上的差异,导致一旦出现验证失败的情况下,前后端开发人员常常需要对各自代码进行人工检查,这对于高度复杂的战斗逻辑来说,无疑是巨大的人力开销;3.积坏成患,一个简单的战斗技能的实现,就可能造成前后端逻辑上的差异,而一个完整的战斗逻辑,必然包含了大量的战斗技能逻辑,而小小的差异的一个个积累,必然造成整体差异会越来越大,导致随着系统的不断开发,维护所需要的人力不断增加,开发人员会疲于修复各种各样因为差异而导致的验证失败等情况。

3、为此,本发明提供了一种消除类网络游戏中前后端战斗一致性校验方法,以解决上述问题。


技术实现思路

1、针对现有技术的不足,本发明提供了一种消除类网络游戏中前后端战斗一致性校验方法,解决了上述问题。

2、为实现以上目的,本发明通过以下技术方案予以实现:一种消除类网络游戏中前后端战斗一致性校验方法,包括以下步骤:

3、步骤一:通过客户端代码编写游戏的战斗逻辑,将编写好的战斗逻辑以资源库方式导入客户端内,同时服务端将编写好的战斗逻辑独立部署为战斗服务器;

4、步骤二:客户端程序向服务端程序请求进入战斗;

5、步骤三:服务端初始化战斗数据并返回给客户端;

6、步骤四:客户端在战斗过程中或结束时将玩家战斗操作数据以及客户端的演算结果发送给服务端;

7、步骤五:服务端程序向战斗服务器发起请求,将战斗操作数据发送给战斗服务器;

8、步骤六:战斗服务器根据战斗操作对战斗进行再次演算,得到结果;

9、步骤七:服务端程序将两份战斗结果进行对比,判定是否有作弊情形,并将验证结果返还给客户端程序。

10、优选的,所述步骤一中客户端内战斗逻辑包括战斗规则逻辑和战斗显示逻辑,所述步骤一中服务端内战斗逻辑只包括战斗规则逻辑。

11、优选的,所述步骤一中战斗服务器对外开放http访问,便于服务端程序调用。

12、优选的,所述服务端和战斗服务器均采用docker和kubernetes的容器技术,对服务端和战斗服务器建立集群。

13、有益效果

14、本发明提供了一种消除类网络游戏中前后端战斗一致性校验方法。与现有技术相比具备以下有益效果:

15、本发明使用客户端代码编写战斗逻辑,客户端将其以资源库的方式引入,而服务端则将其独立部署为战斗服务器,再通过http协议的方式请求,再通过docker和kubernetes的容器技术体系实现微服务集群,保证战斗服的高可用性和低时延性,因此,能够保证战斗逻辑代码是一致的,而在这个基础上,就能够大幅降低战斗校验的失败率,同时减少维护人力。与常见的客户端服务端各自实现战斗逻辑,再分别自行验证的方案相比,本技术方案因为使用了同一份战斗逻辑代码,从实现上来说,天然地规避了很多语言差异上的影响,能极大地降低战斗校验的失败率和后期因为差异导致的人力排查成本,另一方面,从开发维护的角度来说,仅仅需要客户端开发人员开发战斗逻辑的人力以及初期kubernetes集群搭建人力,因此能够更多的节省开发人力以及后续维护人力。



技术特征:

1.一种消除类网络游戏中前后端战斗一致性校验方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种消除类网络游戏中前后端战斗一致性校验方法,其特征在于:所述步骤一中客户端内战斗逻辑包括战斗规则逻辑和战斗显示逻辑,所述步骤一中服务端内战斗逻辑只包括战斗规则逻辑。

3.根据权利要求1所述的一种消除类网络游戏中前后端战斗一致性校验方法,其特征在于:所述步骤一中战斗服务器对外开放http访问,便于服务端程序调用。

4.根据权利要求1所述的一种消除类网络游戏中前后端战斗一致性校验方法,其特征在于:所述服务端和战斗服务器均采用docker和kubernetes的容器技术,对服务端和战斗服务器建立集群。


技术总结
本发明公开了游戏中前后端战斗一致性校验技术领域的一种消除类网络游戏中前后端战斗一致性校验方法,包括通过客户端代码编写游戏的战斗逻辑,将编写好的战斗逻辑以资源库方式导入客户端内;同时服务端将编写好的战斗逻辑独立部署为战斗服务器;客户端程序向服务端程序请求进入战斗;服务端初始化战斗数据并返回给客户端等步骤,本发明使用客户端代码编写战斗逻辑,客户端将其以资源库的方式引入,而服务端则将其独立部署为战斗服务器,再通过http协议的方式请求,再通过docker和kubernetes的容器技术体系实现微服务集群,保证战斗服的高可用性和低时延性,能够大幅降低战斗校验的失败率,同时减少维护人力。

技术研发人员:刘宇宁,路继亮
受保护的技术使用者:北京羯磨科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1