亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法、裝置及游戲系統(tǒng)與流程

文檔序號(hào):11681132閱讀:381來(lái)源:國(guó)知局
一種游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法、裝置及游戲系統(tǒng)與流程

【技術(shù)領(lǐng)域】

本發(fā)明涉及游戲技術(shù)領(lǐng)域,特別是涉及一種游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法、裝置及游戲系統(tǒng)。



背景技術(shù):

游戲中,玩家常常使用加速器進(jìn)行游戲加速達(dá)到非法獲利。通過(guò)加速,玩家可以快速在場(chǎng)景中移動(dòng)、戰(zhàn)斗、完成任務(wù)等,影響游戲平衡性。不管是端游還是手游,通常游戲都是通過(guò)“幀”這一單位來(lái)進(jìn)行畫面刷新的,而每幀所需要的時(shí)間間隔依賴于客戶端系統(tǒng)函數(shù)的本地時(shí)間。加速軟件通過(guò)修改或注入本地系統(tǒng)函數(shù)篡改時(shí)間值,使得游戲進(jìn)程獲取到“更快”的時(shí)間,從而達(dá)到加速目的。

傳統(tǒng)的檢測(cè)技術(shù)以客戶端檢測(cè)為主,通過(guò)檢測(cè)客戶端常見(jiàn)加速器的進(jìn)程名或者相關(guān)時(shí)間函數(shù)有沒(méi)有被注入進(jìn)行防御,但是由于游戲進(jìn)程本身不具有系統(tǒng)級(jí)權(quán)限,加速器可以通過(guò)隱藏進(jìn)程名等方式繞過(guò)檢測(cè)。較新的檢測(cè)技術(shù)加入了服務(wù)器校驗(yàn),例如通過(guò)記錄客戶端完成某一副本的最小時(shí)間與服務(wù)端預(yù)設(shè)的最小時(shí)間進(jìn)行比較,如果時(shí)間更少則判斷為加速。但是,這種方法維護(hù)成本高,在游戲數(shù)值改動(dòng)后需要隨之調(diào)整。另外由于網(wǎng)絡(luò)延時(shí)等原因存在較高的誤報(bào)率,而且對(duì)于加速不夠明顯的情形或者客戶端加速后故意拖延副本完成時(shí)間的情形無(wú)法有效識(shí)別。再者,這些檢測(cè)方法一般都是通過(guò)日志記錄的方式,事后由運(yùn)營(yíng)進(jìn)行日志分析做進(jìn)一步處理,發(fā)現(xiàn)不夠及時(shí)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明其中一具體實(shí)施方式所要解決的技術(shù)問(wèn)題是:彌補(bǔ)上述現(xiàn)有技術(shù)的不足,提出一種游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法、裝置及游戲系統(tǒng),可穩(wěn)定地檢測(cè)到運(yùn)行速度異常情形,且檢測(cè)速度快,檢測(cè)也較為及時(shí)。

本發(fā)明其中一具體實(shí)施方式的技術(shù)問(wèn)題通過(guò)以下的技術(shù)方案予以解決:

一種游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法,包括以下步驟:s1,接收客戶端按照設(shè)定頻率發(fā)送的數(shù)據(jù)包;所述數(shù)據(jù)包攜帶有客戶端的唯一識(shí)別碼;s2,對(duì)預(yù)設(shè)定時(shí)時(shí)長(zhǎng)內(nèi)接收到的數(shù)據(jù)包的個(gè)數(shù)計(jì)數(shù);所述定時(shí)時(shí)長(zhǎng)大于等于最大網(wǎng)絡(luò)延時(shí)時(shí)長(zhǎng);s3,比較所述數(shù)據(jù)包的個(gè)數(shù)與第一閾值和/或第二閾值的大小,在所述數(shù)據(jù)包的個(gè)數(shù)大于所述第一閾值或小于所述第二閾值時(shí),記為一次運(yùn)行速度異常情形;其中,所述第一閾值根據(jù)所述定時(shí)時(shí)間、客戶端發(fā)送數(shù)據(jù)包的頻率以及加速倍率值k1確定得到,所述加速倍率值為設(shè)定的需檢測(cè)到的加速倍率;所述第二閾值根據(jù)所述定時(shí)時(shí)間、客戶端發(fā)送數(shù)據(jù)包的頻率以及減速倍率值k2確定得到,所述減速倍率值為設(shè)定的需檢測(cè)到的減速倍率;s4,統(tǒng)計(jì)連續(xù)出現(xiàn)所述運(yùn)行速度異常情形的次數(shù),在連續(xù)次數(shù)超過(guò)設(shè)定次數(shù)時(shí),判斷所述客戶端存在運(yùn)行速度異常。

本發(fā)明其中一具體實(shí)施方式的技術(shù)問(wèn)題通過(guò)以下進(jìn)一步的技術(shù)方案予以解決:

一種游戲內(nèi)運(yùn)行速度異常的檢測(cè)裝置,包括接收模塊,計(jì)數(shù)模塊,比較模塊,統(tǒng)計(jì)模塊和判斷模塊;所述接收模塊用于接收客戶端按照設(shè)定頻率發(fā)送的數(shù)據(jù)包;所述數(shù)據(jù)包攜帶有客戶端的唯一識(shí)別碼;所述計(jì)數(shù)模塊用于對(duì)預(yù)設(shè)定時(shí)時(shí)長(zhǎng)內(nèi)接收到的數(shù)據(jù)包的個(gè)數(shù)計(jì)數(shù);所述預(yù)設(shè)定時(shí)時(shí)長(zhǎng)大于等于最大網(wǎng)絡(luò)延時(shí)時(shí)長(zhǎng);所述比較模塊用于比較所述數(shù)據(jù)包的個(gè)數(shù)與第一閾值和/或第二閾值的大小,在所述數(shù)據(jù)包的個(gè)數(shù)大于所述第一閾值或小于所述第二閾值時(shí),記為一次運(yùn)行速度異常情形;其中,所述第一閾值根據(jù)所述定時(shí)時(shí)間、客戶端發(fā)送數(shù)據(jù)包的頻率以及加速倍率值k1確定得到,所述加速倍率值為設(shè)定的需檢測(cè)到的加速倍率;所述第二閾值根據(jù)所述定時(shí)時(shí)間、客戶端發(fā)送數(shù)據(jù)包的頻率以及減速倍率值k2確定得到,所述減速倍率值為設(shè)定的需檢測(cè)到的減速倍率;所述統(tǒng)計(jì)模塊用于統(tǒng)計(jì)連續(xù)出現(xiàn)所述運(yùn)行速度異常情形的次數(shù);所述判斷模塊用于在所述統(tǒng)計(jì)模塊統(tǒng)計(jì)的連續(xù)次數(shù)超過(guò)設(shè)定次數(shù)時(shí),判斷所述客戶端存在運(yùn)行速度異常。

一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行以實(shí)現(xiàn)上述所述的游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法。

一種游戲系統(tǒng),包括客戶端和接收端;所述接收端為游戲運(yùn)行對(duì)應(yīng)的服務(wù)器或者專用接收設(shè)備,所述接收端中處理器執(zhí)行上述所述的游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法。

本發(fā)明其中一具體實(shí)施方式與現(xiàn)有技術(shù)對(duì)比的有益效果是:

本發(fā)明其中一具體實(shí)施方式的游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法,通過(guò)檢測(cè)客戶端發(fā)送的數(shù)據(jù)包進(jìn)行異常情形判定,這樣,玩家只要對(duì)客戶端進(jìn)行了變速操作就必然導(dǎo)致數(shù)據(jù)包數(shù)目的變化,從而無(wú)需對(duì)客戶端本地進(jìn)行任何檢測(cè),不需要游戲客戶端具有系統(tǒng)權(quán)限,而且無(wú)論是微變速還是客戶端行為故意拖延的情形,都能檢測(cè)到,檢測(cè)更為全面。同時(shí),本發(fā)明其中一具體實(shí)施方式的方法中通過(guò)連續(xù)多次進(jìn)行異常情形檢測(cè)判定,綜合考慮了網(wǎng)絡(luò)波動(dòng)造成的影響,從而可有效避免網(wǎng)絡(luò)波動(dòng)帶來(lái)的誤判,確保檢測(cè)準(zhǔn)確性。本發(fā)明其中一具體實(shí)施方式的檢測(cè)范圍以及準(zhǔn)確性較高,從而檢測(cè)更為穩(wěn)定。再者,本發(fā)明其中一具體實(shí)施方式的檢測(cè)方法通過(guò)心跳包檢測(cè),檢測(cè)過(guò)程運(yùn)算量小,檢測(cè)速度快;而且無(wú)需等待副本完成即能隨時(shí)實(shí)現(xiàn)檢測(cè),識(shí)別到加速或減速行為,檢測(cè)也較為及時(shí)。

【附圖說(shuō)明】

此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,顯然,附圖所描述的實(shí)施方式僅僅是本發(fā)明一部分的實(shí)施方式,而不是全部的實(shí)施方式;本發(fā)明的示意性實(shí)施方式及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:

圖1是本發(fā)明具體實(shí)施方式一的游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法流程圖;

圖2是本發(fā)明具體實(shí)施方式一中在網(wǎng)絡(luò)波動(dòng)下假設(shè)只進(jìn)行一次加速檢測(cè)的流程示意圖;

圖3是本發(fā)明具體實(shí)施方式一中在網(wǎng)絡(luò)波動(dòng)下假設(shè)連續(xù)三次檢測(cè)到加速的流程示意圖;

圖4是本發(fā)明具體實(shí)施方式二的游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法流程圖;

圖5是本發(fā)明具體實(shí)施方式三的游戲內(nèi)運(yùn)行速度異常的檢測(cè)裝置的結(jié)構(gòu)示意圖。

【具體實(shí)施方式】

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施方式,而不是全部的實(shí)施方式?;诒景l(fā)明中的實(shí)施方式,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施方式,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。

下面結(jié)合具體實(shí)施方式并對(duì)照附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。

具體實(shí)施方式一

如圖1所示,為本具體實(shí)施方式中檢測(cè)游戲內(nèi)運(yùn)行速度異常的方法的流程圖,包括以下步驟:

s1,接收客戶端按照設(shè)定頻率發(fā)送的數(shù)據(jù)包;所述數(shù)據(jù)包攜帶有客戶端的唯一識(shí)別碼。

客戶端運(yùn)行游戲時(shí),按照設(shè)定發(fā)送頻率定時(shí)向服務(wù)器端發(fā)送數(shù)據(jù)包,本具體實(shí)施方式的檢測(cè)方法中接收該數(shù)據(jù)包,以便后續(xù)統(tǒng)計(jì)數(shù)據(jù)包個(gè)數(shù)識(shí)別速度異常情形。數(shù)據(jù)封包攜帶傳輸時(shí)的客戶端唯一識(shí)別碼以便于進(jìn)行后續(xù)識(shí)別??蛻舳税l(fā)送數(shù)據(jù)包的傳輸方式可采用tcp連接,優(yōu)選地,經(jīng)過(guò)一定的加密處理以防止數(shù)據(jù)包被截獲、篡改、模擬。

s2,對(duì)預(yù)設(shè)定時(shí)時(shí)長(zhǎng)內(nèi)接收到的數(shù)據(jù)包的個(gè)數(shù)計(jì)數(shù);所述預(yù)設(shè)定時(shí)時(shí)長(zhǎng)大于等于最大網(wǎng)絡(luò)延時(shí)時(shí)長(zhǎng)。

網(wǎng)絡(luò)最大延時(shí)時(shí)長(zhǎng)是指在一種連接傳輸方式下,例如tcp傳輸下,游戲中設(shè)定的所允許的網(wǎng)絡(luò)延時(shí)最大時(shí)間。設(shè)最大網(wǎng)絡(luò)延時(shí)時(shí)長(zhǎng)為t,則定時(shí)時(shí)長(zhǎng)設(shè)置為大于等于t。統(tǒng)計(jì)這一段定時(shí)時(shí)長(zhǎng)內(nèi)接收到的數(shù)據(jù)包的個(gè)數(shù)。假設(shè)最大延時(shí)為60s,定時(shí)時(shí)長(zhǎng)設(shè)置為60s,則最壞的情形下,如果60s內(nèi)都沒(méi)有收到任何數(shù)據(jù)包,那么游戲客戶端可判定為斷線。這樣設(shè)置的目的是使得當(dāng)游戲網(wǎng)絡(luò)出現(xiàn)異常無(wú)法正常連接的時(shí)候,可以有效發(fā)現(xiàn)并及時(shí)糾正判斷結(jié)果。

s3,比較所述數(shù)據(jù)包的個(gè)數(shù)與第一閾值和/或第二閾值的大小,在所述數(shù)據(jù)包的個(gè)數(shù)大于所述第一閾值或小于所述第二閾值時(shí),記為一次運(yùn)行速度異常情形;其中,所述第一閾值根據(jù)所述定時(shí)時(shí)間、客戶端發(fā)送數(shù)據(jù)包的頻率以及加速倍率值確定得到,所述加速倍率值為設(shè)定的需檢測(cè)到的加速倍率;所述第二閾值根據(jù)所述定時(shí)時(shí)間、客戶端發(fā)送數(shù)據(jù)包的頻率以及減速倍率值k2確定得到,所述減速倍率值為設(shè)定的需檢測(cè)到的減速倍率。

具體地,將預(yù)設(shè)定時(shí)時(shí)長(zhǎng)內(nèi)接收到的數(shù)據(jù)包的個(gè)數(shù)與第一閾值進(jìn)行比較,如果超過(guò),則表明定時(shí)時(shí)長(zhǎng)內(nèi)客戶端發(fā)送的數(shù)據(jù)包過(guò)多,即對(duì)應(yīng)客戶端中存在加速的情形。第一閾值的確定根據(jù)統(tǒng)計(jì)的定時(shí)時(shí)間時(shí)長(zhǎng)、客戶端發(fā)送數(shù)據(jù)包的頻率以及加速倍率值確定得到。具體地,假設(shè)定時(shí)時(shí)長(zhǎng)a=60s,心跳包發(fā)送頻率為4s,需檢測(cè)到加速0.6倍及以上的情形,即設(shè)定加速0.6倍及以上判定為異常非法,則計(jì)數(shù)器閾值為:60/4*(1+0.6)=24。也即,理論正常情形下,定時(shí)時(shí)間段60s內(nèi)應(yīng)該接收到15個(gè)數(shù)據(jù)包,當(dāng)接收的數(shù)據(jù)包括大于等于24個(gè)時(shí),可判定為超速,且超速0.6倍。當(dāng)然,如果需檢測(cè)到其余加速倍率下的異常情形,例如需檢測(cè)到0.4倍的加速,則按照式子a/f*(1+0.4)相應(yīng)確定出閾值的數(shù)值為21即可。通過(guò)加速倍率值綜合設(shè)定第一閾值的大小,可識(shí)別加速不明顯的微加速情形,通過(guò)比較數(shù)據(jù)包個(gè)數(shù)與相應(yīng)閾值的大小關(guān)系,即可判斷出相應(yīng)微加速的異常情形。當(dāng)然,如果要識(shí)別出微加速情形,后續(xù)統(tǒng)計(jì)的連續(xù)次數(shù)也相應(yīng)較多,可能耗費(fèi)的時(shí)間也較多。因此該加速倍率值、閾值等的設(shè)定可根據(jù)檢測(cè)方法的使用者對(duì)檢測(cè)靈敏度以及檢測(cè)效率的要求綜合設(shè)定。

與上述加速檢測(cè)類似,也可以實(shí)現(xiàn)減速檢測(cè)。具體地,將預(yù)設(shè)定時(shí)時(shí)長(zhǎng)內(nèi)接收到的數(shù)據(jù)包的個(gè)數(shù)與第二閾值進(jìn)行比較,在所述數(shù)據(jù)包的個(gè)數(shù)小于第二閾值時(shí),記為一次減速異常情形;其中,所述第二閾值根據(jù)所述定時(shí)時(shí)間、客戶端發(fā)送數(shù)據(jù)包的頻率以及減速倍率值確定得到,所述減速倍率值為設(shè)定的需檢測(cè)到的減速倍率。具體地,第二閾值n2的值根據(jù)如下過(guò)程確定得到:其中,a表示定時(shí)時(shí)長(zhǎng),f表示客戶端發(fā)送數(shù)據(jù)包的頻率,k2表示減速倍率值。例如,假設(shè)定時(shí)時(shí)長(zhǎng)為60s,心跳包發(fā)送的頻率為4s,需檢測(cè)到減速0.6倍及以上的情形,即減速0.6倍以上判定為非法,那么計(jì)數(shù)器閾值為:60/4*(1-0.6)=6。當(dāng)計(jì)數(shù)的60s內(nèi)接收的數(shù)據(jù)包個(gè)數(shù)少于6個(gè)時(shí),可判定是減速異常。

s4,統(tǒng)計(jì)連續(xù)出現(xiàn)所述運(yùn)行速度異常情形的次數(shù),在連續(xù)次數(shù)超過(guò)設(shè)定次數(shù)時(shí),判斷所述客戶端存在運(yùn)行速度異常。

當(dāng)出現(xiàn)一次運(yùn)行速度異常(加速異常或減速異常)情形時(shí),可能是由于網(wǎng)絡(luò)波動(dòng)造成延時(shí)導(dǎo)致的,因此,通過(guò)統(tǒng)計(jì)多次連續(xù)異常的情形,有效避免網(wǎng)絡(luò)波動(dòng)造成的影響,最終判斷出確系運(yùn)行速度異常。

具體地,當(dāng)檢測(cè)加速異常時(shí),設(shè)定次數(shù)n大于等于1/k1,這是因?yàn)楫?dāng)需檢測(cè)加速倍率為k1的情形時(shí),網(wǎng)絡(luò)波動(dòng)最多影響接下來(lái)1/k1次的檢測(cè)過(guò)程。具體地,在網(wǎng)絡(luò)不穩(wěn)定的情況下,客戶端上傳到數(shù)據(jù)接收端的心跳包可能并不是按照原有的上傳頻率,會(huì)隨著網(wǎng)絡(luò)的波動(dòng)而出現(xiàn)一定的波動(dòng)性,但是由于設(shè)置了合理的檢測(cè)間隔,網(wǎng)絡(luò)波動(dòng)最多影響相鄰幾次的數(shù)據(jù)接收。例如,假設(shè)設(shè)定次數(shù)n設(shè)置為1,客戶端沒(méi)有經(jīng)過(guò)加速,那么根據(jù)圖2,假設(shè)上次檢測(cè)由于網(wǎng)絡(luò)異常所有心跳包都將在下次檢測(cè)才接收到,那么會(huì)被檢測(cè)判定為加速1倍。假設(shè)設(shè)定次數(shù)n設(shè)置為3,客戶端沒(méi)有經(jīng)過(guò)加速,那么根據(jù)圖3,由于當(dāng)前檢測(cè)只會(huì)受到前一次檢測(cè)的影響,那么最壞情況,如果系統(tǒng)判定加速1/3倍以上為非法,那么根據(jù)前面異常計(jì)數(shù)的規(guī)則,為保證連續(xù)三次都能檢測(cè)到加速1/3倍以上,那么只能是:

上次檢測(cè)網(wǎng)絡(luò)異常,所有k個(gè)數(shù)據(jù)包全部延時(shí)在第一次檢測(cè)的時(shí)候收到,這里k是正常情況接收到的心跳包個(gè)數(shù)。此時(shí)第一次檢測(cè)時(shí)候應(yīng)該有2k個(gè)數(shù)據(jù)包。

為達(dá)到連續(xù)3次都有延時(shí)接收的數(shù)據(jù),需將k個(gè)數(shù)據(jù)包平均分配到3次檢測(cè)過(guò)程中,即第一次檢測(cè)時(shí)間段內(nèi)檢測(cè)其中的1/3k個(gè)數(shù)據(jù)包,余下2/3k個(gè)數(shù)據(jù)包延時(shí)到后面兩次檢測(cè)時(shí)間段內(nèi),此時(shí)第一次檢測(cè)最終接收到2k-2/3k=(1+1/3)k,第二次檢測(cè)時(shí)有k+2/3k個(gè)數(shù)據(jù)包。

第二次檢測(cè)時(shí)間段內(nèi)檢測(cè)其中的1/3k個(gè)數(shù)據(jù)包,余下1/3k個(gè)數(shù)據(jù)包延時(shí)到第三次檢測(cè),此時(shí)第二次檢測(cè)最終剩余k+2/3k-1/3k=(1+1/3)k,第三次檢測(cè)時(shí)有k+1/3k個(gè)數(shù)據(jù)包。

此時(shí)三個(gè)檢測(cè)時(shí)間段都能檢測(cè)到1/3倍加速。換言之,如果需要識(shí)別加速超過(guò)1/3倍以上的加速情況,一次網(wǎng)絡(luò)波動(dòng)導(dǎo)致的延時(shí)在最壞情況下是平均分配,最多會(huì)影響到接下來(lái)3次的檢測(cè)過(guò)程均出現(xiàn)異常情形,因此可設(shè)置n=3。當(dāng)連續(xù)超過(guò)3次出現(xiàn)異常時(shí),例如為4次出現(xiàn)了異常,則可確定確系是加速異常導(dǎo)致的,因?yàn)槿绻蔷W(wǎng)絡(luò)波動(dòng)延時(shí),最多是導(dǎo)致3次連續(xù)出現(xiàn)異常。

綜上,本具體實(shí)施方式在判斷異常時(shí),設(shè)置連續(xù)次數(shù)與n(大于等于1/k1)進(jìn)行比較,可有效避免網(wǎng)絡(luò)波動(dòng)造成的影響,避免誤判,確保方法檢測(cè)地準(zhǔn)確性。需說(shuō)明的是,對(duì)于大部分游戲,玩家選擇加速1/3倍或者以下幾乎不會(huì)影響游戲環(huán)境,因此對(duì)于k1=1/3的加速通常是容忍的,不將其視為非法。所以實(shí)際上,將n取值定為3或以上,可滿足大部分的檢測(cè)要求。

類似地,對(duì)于減速檢測(cè)的情形,設(shè)定次數(shù)n大于等于1/k2,這樣,通過(guò)統(tǒng)計(jì)連續(xù)多次出現(xiàn)減速異常的次數(shù),如果超過(guò)設(shè)定次數(shù),可確系是減速異常,從而有效避免網(wǎng)絡(luò)波動(dòng)造成的影響。

本具體實(shí)施方式的方法可以根據(jù)檢測(cè)精度的需求靈活調(diào)整n的值,檢測(cè)精度為1/n(可檢測(cè)到1/n的加速倍率或者減速倍率),檢測(cè)時(shí)間為n*t,n越大,精度越高,檢測(cè)時(shí)間越長(zhǎng)。

優(yōu)選地,步驟s3中還包括:在所述數(shù)據(jù)包的個(gè)數(shù)為0時(shí),判定為客戶端斷線情形。如果在預(yù)設(shè)定時(shí)時(shí)長(zhǎng)內(nèi)沒(méi)有收到任何數(shù)據(jù)包,那么判定游戲客戶端為斷線,從而有效發(fā)現(xiàn)游戲網(wǎng)絡(luò)出現(xiàn)異常無(wú)法正常連接的情形,及時(shí)糾正異常判斷結(jié)果。

本具體實(shí)施方式的檢測(cè)方法,通過(guò)檢測(cè)客戶端發(fā)送的數(shù)據(jù)包進(jìn)行異常情形判定,檢測(cè)更穩(wěn)定,檢測(cè)速度快而且檢測(cè)更及時(shí)。具體地:

1)穩(wěn)定性高:相比于客戶端檢測(cè)方法,本具體實(shí)施方式的方法中,由于保持了目的一致性,玩家只要對(duì)客戶端進(jìn)行了變速操作就必然導(dǎo)致心跳包數(shù)目的變化,無(wú)需對(duì)客戶端本地進(jìn)行任何檢測(cè),不需要游戲客戶端具有系統(tǒng)權(quán)限;相比于副本完成最小時(shí)間檢測(cè)方法,本具體實(shí)施方式的方法的檢測(cè)結(jié)果不受玩家行為控制影響,玩家可以通過(guò)不攻擊等方式故意不讓游戲結(jié)束影響完成時(shí)間,但玩家不能影響客戶端心跳包發(fā)送行為,檢測(cè)穩(wěn)定性更高。再者,本具體實(shí)施方式的將網(wǎng)絡(luò)延時(shí)作為技術(shù)處理的難點(diǎn)加以克服,通過(guò)設(shè)置設(shè)定次數(shù)的值大于等于1/k1或1/k2,可有效避免網(wǎng)絡(luò)波動(dòng)導(dǎo)致的誤判,確保準(zhǔn)確性。在此基礎(chǔ)上,通過(guò)第一閾值或者第二閾值的調(diào)節(jié)設(shè)定,可檢測(cè)到微加速或微減速的情形,檢測(cè)范圍更廣。

2)識(shí)別速度快:相比于副本完成時(shí)間檢測(cè)方法,需要等待副本完成才能檢測(cè),本具體實(shí)施方式通過(guò)心跳包檢測(cè),往往無(wú)需等待副本完成即可識(shí)別到加速或減速行為,識(shí)別速度快且及時(shí)。

本具體實(shí)施方式還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行以實(shí)現(xiàn)上述所述的游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法。

具體實(shí)施方式二

本具體實(shí)施方式相對(duì)于實(shí)施方式一為更具體的情形,通過(guò)計(jì)數(shù)器、檢測(cè)定時(shí)器、加速異常計(jì)數(shù)器和減速異常計(jì)數(shù)器的協(xié)同作用,實(shí)現(xiàn)上述檢測(cè)過(guò)程。

檢測(cè)系統(tǒng)中,針對(duì)數(shù)據(jù)發(fā)送設(shè)備通過(guò)網(wǎng)絡(luò)(tcp)鏈路向數(shù)據(jù)接收端發(fā)送數(shù)據(jù)封包,并啟動(dòng)發(fā)送定時(shí)器。

其中,數(shù)據(jù)發(fā)送設(shè)備是客戶端,數(shù)據(jù)接收端可以是游戲運(yùn)行對(duì)應(yīng)的服務(wù)器,也可以是專用接收設(shè)備。數(shù)據(jù)包攜帶有客戶端唯一識(shí)別碼便于進(jìn)行后續(xù)識(shí)別。傳輸方式采用tcp連接,并經(jīng)過(guò)一定的加密處理防止數(shù)據(jù)包被截獲、篡改、模擬。

發(fā)送定時(shí)器可以使用客戶端專用定時(shí)器,或者根據(jù)客戶端幀刷新時(shí)間設(shè)置定時(shí)器,發(fā)送定時(shí)器用于按照設(shè)定頻率定時(shí)發(fā)送上述數(shù)據(jù)包,根據(jù)其定時(shí)特點(diǎn),可以稱之為心跳包。本具體實(shí)施方式中,心跳包的發(fā)送頻率為4s。

數(shù)據(jù)發(fā)送設(shè)備只負(fù)責(zé)數(shù)據(jù)包的發(fā)送,不需對(duì)設(shè)備本身(客戶端)進(jìn)行其他任何檢測(cè),有效避免了游戲客戶端權(quán)限不夠的問(wèn)題。另外,由于發(fā)送定時(shí)器依賴于客戶端時(shí)間系統(tǒng),所以只要客戶端發(fā)生了加速或減速的異常行為,發(fā)送定時(shí)器必然也會(huì)準(zhǔn)確加速或者減速,從而發(fā)送數(shù)據(jù)包加速或減速,后續(xù)識(shí)別檢測(cè)可達(dá)到識(shí)別率100%。

數(shù)據(jù)接收端上運(yùn)行檢測(cè)方法,如圖4所示,包括以下步驟:

s101、數(shù)據(jù)接收端在接受到第一個(gè)數(shù)據(jù)包之后,啟動(dòng)并初始化數(shù)據(jù)接收端一端的計(jì)數(shù)器、檢測(cè)定時(shí)器。

其中,計(jì)數(shù)器有三個(gè),一個(gè)是數(shù)據(jù)包計(jì)數(shù)器,一個(gè)是加速異常計(jì)數(shù)器,一個(gè)是減速異常計(jì)數(shù)器。數(shù)據(jù)包計(jì)數(shù)器用于對(duì)數(shù)據(jù)接收端獲取到的數(shù)據(jù)包個(gè)數(shù)進(jìn)行計(jì)數(shù),初始化的時(shí)候即計(jì)數(shù)為1。加速異常計(jì)數(shù)器或者減速異常計(jì)數(shù)器用于記錄當(dāng)前連續(xù)檢測(cè)到加速/減速異常的次數(shù),初始化為0。

檢測(cè)定時(shí)器用于定時(shí)觸發(fā)數(shù)據(jù)接收端的檢測(cè)邏輯判斷是否加速/減速。檢測(cè)定時(shí)器的定時(shí)時(shí)間根據(jù)游戲的最大網(wǎng)絡(luò)延時(shí)時(shí)間設(shè)定,設(shè)最大網(wǎng)絡(luò)延時(shí)時(shí)長(zhǎng)為t,則定時(shí)時(shí)長(zhǎng)可設(shè)置為大于等于t,所指網(wǎng)絡(luò)最大延時(shí)時(shí)長(zhǎng)是指在tcp傳輸時(shí)游戲所允許的網(wǎng)絡(luò)延時(shí)最大時(shí)長(zhǎng)。

s102、數(shù)據(jù)接收端進(jìn)入消息處理循環(huán),不斷接收數(shù)據(jù)發(fā)送設(shè)備發(fā)送的數(shù)據(jù)。

接收端每接收到一個(gè)心跳數(shù)據(jù)包,數(shù)據(jù)包計(jì)數(shù)器+1。具體地,數(shù)據(jù)包計(jì)數(shù)器維護(hù)的是一個(gè)字典,鍵指向的是客戶端的唯一識(shí)別碼,鍵值為對(duì)應(yīng)客戶端已經(jīng)發(fā)送的數(shù)據(jù)包的個(gè)數(shù)。

s103、檢測(cè)定時(shí)器每隔定時(shí)時(shí)長(zhǎng)定時(shí)觸發(fā)比較檢測(cè)過(guò)程。比較檢測(cè)邏輯如下:

如果數(shù)據(jù)包計(jì)數(shù)器計(jì)數(shù)大于預(yù)設(shè)的第一閾值,則識(shí)別為加速,加速異常計(jì)數(shù)器+1,減速異常計(jì)數(shù)器清零。

這里預(yù)設(shè)的第一閾值n1根據(jù)定時(shí)時(shí)間a、數(shù)據(jù)包的發(fā)送頻率f以及需檢測(cè)到的加速倍率值設(shè)定。具體地,假設(shè)定時(shí)時(shí)間a=60s,數(shù)據(jù)包的發(fā)送頻率為4s,加速0.6倍以上判定為非法,則第一閾值n1為:60/4*(1+0.6)=24。

如果數(shù)據(jù)包計(jì)數(shù)器計(jì)數(shù)小于預(yù)設(shè)的第二閾值,則識(shí)別為減速,減速異常計(jì)數(shù)器+1,加速異常計(jì)數(shù)器清零。

這里預(yù)設(shè)的第二閾值n2根據(jù)定時(shí)時(shí)間a、數(shù)據(jù)包的發(fā)送頻率f以及需檢測(cè)到的減速倍率值設(shè)定。具體地,假設(shè)定時(shí)時(shí)間a=60s,數(shù)據(jù)包的發(fā)送頻率為4s,減速0.6倍以上判定為非法,則第二閾值n2為:60/4*(1-0.6)=6。

如果數(shù)據(jù)包計(jì)數(shù)器的計(jì)數(shù)在第一閾值和第二閾值之間,則識(shí)別為非變速,加速異常計(jì)數(shù)器清零,減速異常計(jì)數(shù)器清零。

如果數(shù)據(jù)包計(jì)數(shù)器為0,判定為客戶端已經(jīng)斷線,回到s101。

上述比較檢測(cè)邏輯執(zhí)行完畢,將數(shù)據(jù)包計(jì)數(shù)器清零。

同樣的,異常計(jì)數(shù)器維護(hù)的也是一個(gè)字典,鍵指向客戶端的唯一識(shí)別碼,鍵值為連續(xù)出現(xiàn)異常的次數(shù)。中間只要有一次沒(méi)有異常,則會(huì)清零。

s104、當(dāng)檢測(cè)到異常計(jì)數(shù)器達(dá)到一定的數(shù)值n,說(shuō)明當(dāng)前客戶端連續(xù)n次識(shí)別為加速(減速),判定游戲客戶端存在加速(減速)異常情形,可以直接給出提示并采取相應(yīng)措施,例如強(qiáng)制退出客戶端,同時(shí)異常計(jì)數(shù)器清零。

本具體實(shí)施方式通過(guò)計(jì)數(shù)器、檢測(cè)定時(shí)器、加速異常計(jì)數(shù)器和減速異常計(jì)數(shù)器的協(xié)同作用,實(shí)現(xiàn)上述加速(減速)異常情形的檢測(cè),控制過(guò)程簡(jiǎn)便,實(shí)現(xiàn)的檢測(cè)同樣具有穩(wěn)定性高、檢測(cè)速度快且及時(shí)的效果。

具體實(shí)施方式三

本具體實(shí)施方式中提供一種游戲內(nèi)運(yùn)行速度異常的檢測(cè)裝置,包括接收模塊100,計(jì)數(shù)模塊200,比較模塊300,統(tǒng)計(jì)模塊400和判斷模塊500。

接收模塊100用于接收客戶端按照設(shè)定頻率發(fā)送的數(shù)據(jù)包。接收的數(shù)據(jù)包攜帶有客戶端的唯一識(shí)別碼。優(yōu)選地,如果客戶端發(fā)送的數(shù)據(jù)包有經(jīng)過(guò)壓縮加密處理,則檢測(cè)裝置還可包括數(shù)據(jù)包解析模塊600,用于對(duì)壓縮加密數(shù)據(jù)進(jìn)行解壓解密處理,并解析出客戶端的唯一id。

計(jì)數(shù)模塊200用于對(duì)預(yù)設(shè)定時(shí)時(shí)長(zhǎng)內(nèi)接收到的數(shù)據(jù)包的個(gè)數(shù)計(jì)數(shù)。定時(shí)時(shí)長(zhǎng)大于等于最大網(wǎng)絡(luò)延時(shí)時(shí)長(zhǎng)。

比較模塊300用于比較數(shù)據(jù)包的個(gè)數(shù)與第一閾值和/或第二閾值的大小,在數(shù)據(jù)包的個(gè)數(shù)大于第一閾值或小于所述第二閾值時(shí),記為一次運(yùn)行速度異常情形;其中,第一閾值根據(jù)定時(shí)時(shí)間、客戶端發(fā)送數(shù)據(jù)包的頻率以及加速倍率值k1確定得到,加速倍率值為設(shè)定的需檢測(cè)到的加速倍率;第二閾值根據(jù)所述定時(shí)時(shí)間、客戶端發(fā)送數(shù)據(jù)包的頻率以及減速倍率值k2確定得到,所述減速倍率值為設(shè)定的需檢測(cè)到的減速倍率。

具體地,按照式子a/f*(1+k1)相應(yīng)確定出第一閾值的數(shù)值,a表示定時(shí)時(shí)間,f表示客戶端發(fā)送數(shù)據(jù)包的頻率。通過(guò)加速倍率值k1綜合設(shè)定第一閾值的大小,可識(shí)別加速不明顯的微加速情形,通過(guò)比較數(shù)據(jù)包個(gè)數(shù)與相應(yīng)閾值的大小關(guān)系,即可判斷出相應(yīng)微加速的異常情形。當(dāng)然,如果要識(shí)別出微加速情形,后續(xù)統(tǒng)計(jì)模塊需統(tǒng)計(jì)的連續(xù)次數(shù)也相應(yīng)較多,可能耗費(fèi)的時(shí)間也較多。因此該加速倍率值、閾值等的設(shè)定可根據(jù)檢測(cè)裝置的使用者對(duì)檢測(cè)靈敏度以及檢測(cè)效率的要求綜合設(shè)定。

按照式子a/f*(1-k2)相應(yīng)確定出第二閾值的數(shù)值,a表示定時(shí)時(shí)間,f表示客戶端發(fā)送數(shù)據(jù)包的頻率。通過(guò)減速倍率值k2綜合設(shè)定第二閾值的大小,可識(shí)別減速不明顯的微減速情形,通過(guò)比較數(shù)據(jù)包個(gè)數(shù)與相應(yīng)閾值的大小關(guān)系,即可判斷出相應(yīng)微減速的異常情形。當(dāng)然,如果要識(shí)別出微減速情形,后續(xù)統(tǒng)計(jì)模塊需統(tǒng)計(jì)的連續(xù)次數(shù)也相應(yīng)較多,可能耗費(fèi)的時(shí)間也較多。因此該減速倍率值、閾值等的設(shè)定可根據(jù)檢測(cè)裝置的使用者對(duì)檢測(cè)靈敏度以及檢測(cè)效率的要求綜合設(shè)定。

統(tǒng)計(jì)模塊400用于統(tǒng)計(jì)連續(xù)出現(xiàn)運(yùn)行速度異常情形的次數(shù)。

判斷模塊500用于在統(tǒng)計(jì)模塊400統(tǒng)計(jì)的連續(xù)次數(shù)超過(guò)設(shè)定次數(shù)時(shí),判斷客戶端存在運(yùn)行速度異常。通過(guò)記錄統(tǒng)計(jì)連續(xù)多次出現(xiàn)運(yùn)行速度異常的次數(shù),多次連續(xù)異常的檢測(cè)可以在網(wǎng)絡(luò)不穩(wěn)定的情況下有效地確保檢測(cè)準(zhǔn)確性,提高檢測(cè)精度。理論上,連續(xù)n次檢測(cè),可以準(zhǔn)確檢測(cè)到1/n倍以上的運(yùn)行速度異常情況,n越大精度越高。

本具體實(shí)施方式的檢測(cè)裝置,通過(guò)檢測(cè)客戶端發(fā)送的數(shù)據(jù)包進(jìn)行異常情形判定,檢測(cè)更穩(wěn)定,檢測(cè)速度快而且檢測(cè)更及時(shí)。

本具體實(shí)施方式還提供一種游戲系統(tǒng),包括客戶端和接收端。其中,客戶端按照設(shè)定頻率向數(shù)據(jù)接收設(shè)備發(fā)送數(shù)據(jù)包。接收端可為游戲運(yùn)行對(duì)應(yīng)的服務(wù)器或者專用接收設(shè)備。接收端中處理器執(zhí)行上述所述的游戲內(nèi)運(yùn)行速度異常的檢測(cè)方法。本具體實(shí)施方式的游戲系統(tǒng),可檢測(cè)出客戶端存在加速或減速異常的情形,且檢測(cè)更穩(wěn)定,檢測(cè)速度快而且檢測(cè)更及時(shí)。

以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下做出若干替代或明顯變型,而且性能或用途相同,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1