网络游戏反外挂的实现方法.pdf

上传人:000****221 文档编号:1028999 上传时间:2018-03-26 格式:PDF 页数:12 大小:459.49KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910111799.0

申请日:

2009.05.13

公开号:

CN101557400A

公开日:

2009.10.14

当前法律状态:

授权

有效性:

有权

法律详情:

专利实施许可合同备案的生效IPC(主分类):H04L 29/06合同备案号:2015350000068让与人:厦门吉比特网络技术股份有限公司受让人:厦门雷霆互动网络有限公司发明名称:网络游戏反外挂的实现方法申请日:20090513申请公布日:20091014授权公告日:20120222许可种类:独占许可备案日期:20150814|||授权|||实质审查的生效|||公开

IPC分类号:

H04L29/06; G06F19/00

主分类号:

H04L29/06

申请人:

厦门市吉比特网络技术有限公司

发明人:

蔡 伟; 陈秋树; 徐 军

地址:

361009福建省厦门市软件园二期观日路26号205室

优先权:

专利代理机构:

厦门市新华专利商标代理有限公司

代理人:

朱 凌

PDF下载: PDF下载
内容摘要

本发明公开了一种网络游戏反外挂的实现方法,包括下述步骤:1)服务器端随机发送挑战信息到客户端,等待客户端应答;2)客户端在收到挑战信息后,在虚拟机中运行服务器端发送来的挑战信息脚本代码,并将结果发送给服务器端;3)服务器端接收到客户端返回的挑战应答后,和服务器端的预期结果进行比较,若结果符合预期,则认为该游戏客户端是合法、可被信任的;否则,认为该游戏客户端是非法、不被信任的。通过该方法可以有效、可靠的打击现有或潜在外挂,以维持正常用户及游戏公司的利益。

权利要求书

1、  一种网络游戏反外挂的实现方法,其特征在于包括下述步骤:
1)服务器端随机发送挑战信息到客户端,等待客户端应答;
2)客户端在收到挑战信息后,在虚拟机中运行服务器端发送来的挑战信息脚本代码,并将结果发送给服务器端;
3)服务器端接收到客户端返回的挑战应答后,和服务器端的预期结果进行比较,若结果符合预期,则认为该游戏客户端是合法、可被信任的;否则,认为该游戏客户端是非法、不被信任的。

2、
  如权利要求1所述网络游戏反外挂的实现方法,其特征在于:该方法还引入挑战超时机制,即服务器端在发送挑战信息之后同时启动挑战超时定时器,当客户端应答超时,则认为客户端挑战失败一次,发送新的挑战信息给客户端,再次启动挑战超时定时器,依次循环;当挑战超时定时器判断挑战失败次数超过设定警戒值时,则认为该游戏客户端是非法、不被信任的;挑战失败包括超时未收到答复和答复错误两种。

3、
  如权利要求1或2所述网络游戏反外挂的实现方法,其特征在于:所述的挑战信息包括服务器端随机加密生成的挑战问题和获取挑战问题答案的计算方法。

4、
  如权利要求3所述网络游戏反外挂的实现方法,其特征在于:所述的虚拟机为一脚本解释器,它可以对脚本进行解释、运行等操作。

5、
  如权利要求3所述网络游戏反外挂的实现方法,其特征在于:方法还包括步骤4),即当挑战超时定时器判断挑战失败次数超过设定警戒值,启动ECHO检查机制,同时启动ECHO超时定时器;启动ECHO机制之后,服务器端组织ECHO报文并发送给客户端,当客户端应答超时,则强制客户端下线;而当客户端及时应答成功,根据数据库设定配置进行对应的处理。

说明书

网络游戏反外挂的实现方法
技术领域
本发明涉及一种网络游戏的技术领域,尤指一种网络游戏反外挂的实现方法。
背景技术
网络游戏的构造,总体可分为服务器端、客户端两部分(如图1所示)。客户端是在用户本地运行的客户程序,服务器端是运行在远程的服务程序,两者通过网络相互通讯,如图2所示。
在现实中的大部分网络游戏一般都会遇到外挂的困扰。从服务器端负载能力方面考虑,外挂占用大量的服务器端负载资源;从正常用户体验方面考虑,由于服务器端负载资源被外挂大量占用,正常用户的体验严重收到影响;从游戏公司考虑,外挂有时会严重影响游戏的声誉及收益。
所谓外挂(“hack tools”,或称“cheating program”)就是指某些人利用自己掌握的计算机技术针对一个或多个网络游戏,通过改变网络游戏软件的部分程序,制作而成的作弊程序。
用户利用这种作弊程序可以轻易得到其他正常用户无法得到、或必须通过长期运行程序才能得到的游戏效果。
外挂的表现有很多种,有加速器、封包等,其最显著的特征就是为使用外挂的游戏者带来不同于正常用户的游戏效果,它能使使用外挂者比正常用户奔跑快、攻击威力加大、获得更多的游戏道具等。
外挂主要是通过破解游戏客户端代码和破解游戏客户端、服务器端之间的通讯机制,来伪造报文,实现其目的。
因此打击外挂,日益被各网络游戏开发公司所重视。
发明内容
本发明所要解决的技术问题在于提供一种网络游戏反外挂的实现方法,其可以有效、可靠的打击现有或潜在外挂,以维持正常用户及游戏公司的利益。
为解决上述技术问题,本发明的技术解决方案是:
一种网络游戏反外挂的实现方法,包括下述步骤:
1)服务器端随机发送挑战信息到客户端,等待客户端应答;
2)客户端在收到挑战信息后,在虚拟机中运行服务器端发送来的挑战信息脚本代码,并将结果发送给服务器端;
3)服务器端接收到客户端返回的挑战应答后,和服务器端的预期结果进行比较,若结果符合预期,则认为该游戏客户端是合法、可被信任的;否则,认为该游戏客户端是非法、不被信任的。
该方法还引入挑战超时机制,即服务器端在发送挑战信息之后同时启动挑战超时定时器,当客户端应答超时,则认为客户端挑战失败一次,发送新的挑战信息给客户端,再次启动挑战超时定时器,依次循环;当挑战超时定时器判断挑战失败次数超过设定警戒值时,则认为该游戏客户端是非法、不被信任的;挑战失败包括超时未收到答复和答复错误两种。
所述的挑战信息包括服务器端随机加密生成的挑战问题和获取挑战问题答案的计算方法。
所述的虚拟机为一脚本解释器,它可以对脚本进行解释、运行等操作。
方法还包括步骤4),即当挑战超时定时器判断挑战失败次数超过设定警戒值,启动ECHO检查机制,同时启动ECHO超时定时器;启动ECHO机制之后,服务器端组织ECHO报文并发送给客户端,当客户端应答超时,则强制客户端下线;而当客户端及时应答成功,根据数据库设定配置进行对应的处理。
采用上述方案后,由于本发明将在服务器端不定期地触发验证功能,通过指定的消息向游戏客户端发送脚本数据;由游戏客户端调用虚拟机进行相关计算、处理。服务器端可以灵活无规律地选择挑战问题和计算挑战问题答案的方法,挑战问题信息和计算挑战问题答案的方法完全独立于客户端,有效的杜绝了绝大部分外挂在客户端破解的可能性。可以达到以下的效果:
1、服务器端可以简单的利用服务器端充沛的代码资源进行挑战问题的挑选;且服务器端代码资源在不断的更新,因此保证了可以挑战资源的不断增长。
2、服务器可以灵活地配置使用计算挑战问题答案的方法,这种灵活的计算方式,便于调整反外挂的策略。
3、客户端相关处理运行在虚拟机中的机制,也提高了外挂破解的难度,提高了外挂的技术门槛,同时也提高了外挂的开销。
4、很好的保证了用户的正常游戏体验。
5、外挂被有效杜绝,维护其他用户的利益及游戏的公平性,同时可维护游戏公司的利益。
6、所付出的代价较低,不会对游戏的正常运行造成不良影响(游戏客户端表现卡、游戏客户端崩溃或游戏客户端内存泄露)。
附图说明
图1是当前网络游戏的框架拓扑示意图;
图2是网络游戏服务器端和客户端相互通讯的示意图;
图3是本发明挑战模块初始化流程示意图;
图4是本发明挑战模块执行流程示意图;
图5是本发明整体流程概要示意图。
具体实施方式
本发明所揭示的是一种网络游戏反外挂的实现方法,如图3至图5所示。
本发明将网络游戏系统分为游戏服务器和游戏客户端部分,且客户端和服务器端可以通过远程调用实现数据的通讯(配合图2所示)。当客户端连接到服务器端时,服务器端会每隔一定的时间就发送一次挑战信息到客户端,以验证客户端的有效性,客户端接收到挑战信息后会应答该挑战给服务器端,服务器端会将应答结果与服务器端的预期结果相比较,若结果符合预期,则认为该客户端是合法的、或可被信任的,若连续一定的次数没有收到客户端的挑战应答或没有得到正确的应答,则认为该客户端非法,相应的做一些非法客户端的处理,例如强制将该客户端与服务器端断开连接。
在运行这一过程前,要先进行挑战模块初始化:即服务器端读取计算挑战答案的脚本文件,加密生成计算挑战答案的脚本,发送给客户端;客户端检验合法性,在虚拟机中解密执行。如图3所示。
初始化后,即可执行这一过程。上述过程,主要有以下部分组成:
1.挑战信息的组织
组织挑战报文,随机加密生成挑战问题和要求计算答题脚本。
服务器端在组织挑战信息时,服务器端会随机产生一段脚本代码SCRIPT_A,该脚本只是一些完整的函数体,并将该部分代码加密。
同时服务器端会组织另外的一段脚本代码SCRIPT_B,该部分代码主要实现传入参数调用SCRIPT_A中的函数,以及将信息发送给服务器端的代码。
2.挑战信息的发送
发送信息前,服务器本身会运行一次SCRIPT_A,并将计算结果做记录,以被核查客户端返回的答案。
将脚本代码SCRIPT_A和SCRIPT_B做加密后发送给客户端,并将该脚本在服务器端做记录。
发送后启动挑战超时机制。
3.挑战信息的应答
客户端收到挑战信息后会在虚拟机中运行服务器端发送来的脚本代码,并将结果发送给服务器端。
具体的执行方法是:客户端在收到服务器发送过来的数据包后,按照约定的格式从缓冲区中获取数据,并将之组织成客户端可以接受的数据结构。然后在一个专门负责处理反外挂的类中解析服务器发送过来的数据:先把脚本数据从数据结构中抽取出来,然后进行一系列判断,如果不符合约定格式,则不再继续后续处理;如果符合约定格式则调用虚拟机执行该脚本数据,然后根据该结果进行相关处理。虚拟机是脚本解释器,用以对脚本进行解释、运行等操作。
4.挑战结果的验证
服务器端接收到客户端发送来的挑战应答后,停止挑战超时机制。
先判断挑战题目和挑战题目运行的结果是否正确,若正确则准备下一次挑战,若接收到的挑战题目或挑战题目运行的结果不正确,则累计挑战失败的次数,并再次尝试挑战客户端。
5.挑战超时机制
为了防止客户端不应答来规避挑战,服务器端在发送挑战信息后同时启动挑战超时定时器,即一定的时间间隔后检查一下是否收到了客户端的应答。当客户端应答超时,则认为客户端挑战失败一次,发送新的挑战信息给客户端,再次启动挑战超时定时器,依次循环。
6.启动ECHO机制
当挑战超时定时器判断挑战失败次数超过设定警戒值,则启动ECHO检查机制,同时启动ECHO超时定时器。挑战失败包括超时未收到答复和答复错误两种。
启动ECHO机制之后,服务器端组织ECHO报文并发送给客户端。当客户端应答超时,则认为客户端为非法、不被信任的,主动断开与该游戏客户端的连接,即强制客户端下线;而当客户端及时应答成功,根据数据库设定配置进行对应的处理。处理分类有:惩罚、踢人、断开连接、记录等等。
上述挑战机制负责的是判断客户端是否合法。ECHO机制处理的是非法客户端的惩罚,即验证客户端的情况,若没有收到验证客户端的应答信息,则直接和客户端断开连接;若收到了应答信息,则根据客户端返回的验证信息,做相应的处理。

网络游戏反外挂的实现方法.pdf_第1页
第1页 / 共12页
网络游戏反外挂的实现方法.pdf_第2页
第2页 / 共12页
网络游戏反外挂的实现方法.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《网络游戏反外挂的实现方法.pdf》由会员分享,可在线阅读,更多相关《网络游戏反外挂的实现方法.pdf(12页珍藏版)》请在专利查询网上搜索。

本发明公开了一种网络游戏反外挂的实现方法,包括下述步骤:1)服务器端随机发送挑战信息到客户端,等待客户端应答;2)客户端在收到挑战信息后,在虚拟机中运行服务器端发送来的挑战信息脚本代码,并将结果发送给服务器端;3)服务器端接收到客户端返回的挑战应答后,和服务器端的预期结果进行比较,若结果符合预期,则认为该游戏客户端是合法、可被信任的;否则,认为该游戏客户端是非法、不被信任的。通过该方法可以有效、可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1