專利名稱:一種可結(jié)合游戲特征的機器人外掛識別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到網(wǎng)絡(luò)信息安全領(lǐng)域,是使用可結(jié)合網(wǎng)絡(luò)游戲自身特征的機制來防止游戲機器人外掛的可結(jié)合游戲特征的機器人外掛識別方法,本發(fā)明適用于各個網(wǎng)絡(luò)游戲運營商。
背景技術(shù):
隨著互聯(lián)網(wǎng)的不斷普及,在線網(wǎng)絡(luò)游戲蓬勃發(fā)展,吸引為數(shù)眾多的玩家,形成了一個龐大的游戲產(chǎn)業(yè),但是游戲外掛的出現(xiàn),給游戲的娛樂性、公平性以及整個游戲產(chǎn)業(yè)造成了巨大的破壞。
游戲外掛是故意編制的、以對網(wǎng)絡(luò)游戲或者包含網(wǎng)絡(luò)游戲在內(nèi)的一系列程序產(chǎn)生直接或間接影響的、并非網(wǎng)絡(luò)游戲本身客戶端程序的程序。玩家利用外掛這種作弊手段可以輕易得到其他正常玩家無法得到,或必須通過長期運行程序才能得到的游戲效果。游戲外掛通常會使用某種手段來盜取使用者的游戲裝備,從而謀取更多利益;這對玩家造成了極大的心理打擊,也給游戲官方帶來了服務(wù)上的麻煩。游戲外掛不但侵犯游戲軟件著作權(quán)人的著作權(quán)利,還侵犯了游戲運營商的權(quán)益,危及信息網(wǎng)絡(luò)安全,從而影響游戲產(chǎn)業(yè)的健康發(fā)展。
目前,游戲運營商采用的防外掛的方法,識別率不高,未能有效的防止外掛。例如由人類可以辨別圖像及查表而計算機程序不能識別的差異,在執(zhí)行網(wǎng)絡(luò)游戲過程中加入詢問步驟以達到阻斷外掛程序破壞網(wǎng)絡(luò)游戲的目的(專利公開號CN1716146,發(fā)明名稱是“一種阻斷網(wǎng)絡(luò)游戲外掛程序的方法”),該發(fā)明專利的不足之處是(1)驗證碼的清晰程度各有差異,人辨別驗證碼的能力因人而異,網(wǎng)絡(luò)上出現(xiàn)不少玩家因為驗證碼不清晰而無法識別達到3次就被封號的投訴;(2)驗證碼技術(shù)對快節(jié)奏的游戲而言,中斷游戲給玩家造成的影響非常大,從而影響整個游戲的進程,甚至導(dǎo)致游戲最終失??;(3)通過分析游戲的驗證碼機制,了解驗證碼數(shù)字的產(chǎn)生規(guī)律,屏幕抓取驗證碼圖片以及使用專門的文字識別軟件可以破解驗證碼,從而做出驗證碼識別的針對性機器人外掛。
還有一些利用游戲內(nèi)在線問答的方式逐步判定玩家是否使用外掛,做法是玩家在戰(zhàn)斗過程中累計一定的打怪數(shù)量就會彈出問答對話框,玩家必須在一分鐘內(nèi)回答,如果玩家第一次沒有在1分鐘內(nèi)正確回答,則會出現(xiàn)第二個問答對話框,玩家必須在1分鐘內(nèi)給予正確回答,如果玩家第二次沒有在1分鐘內(nèi)正確回答,則會出現(xiàn)數(shù)字問答對話框,同時玩家角色將被置于保護狀態(tài),玩家不會受到傷害,并被暫時限制部分游戲功能,玩家正確進行回答之后,才可取消被保護狀態(tài)并恢復(fù)被限制的游戲功能。該技術(shù)的不足之處是(1)對于玩家回答問題的時間死板,玩家有可能因為其他原因暫時離開幾分鐘而錯過第一次回答問題時間;(2)此機制嚴重影響游戲的平滑度,打亂玩家的思維;(3)誤判導(dǎo)致的封號將打擊玩家的積極性,從而造成游戲玩家的流失;(4)可以結(jié)合圖形匹配算法生成一定的外掛。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種可結(jié)合游戲特征的機器人外掛識別方法,更加準確地區(qū)分人和機器人外掛,使得針對此機制的機器人外掛的生成難度系數(shù)大大增加。
本發(fā)明是在游戲服務(wù)器設(shè)置問題數(shù)據(jù)庫和機器人外掛識別任務(wù),游戲服務(wù)器根據(jù)一定的調(diào)度算法,調(diào)度機器人外掛識別任務(wù),并通過網(wǎng)絡(luò)傳送問題到游戲客戶端,游戲客戶端接收到問題后,以語音的形式播放,在接收輸入后,把結(jié)果傳送給游戲服務(wù)器,游戲服務(wù)器根據(jù)選擇的問題,查找問題的答案,再與返回的結(jié)果進行比較,根據(jù)比較的結(jié)果,來識別是否是機器人外掛。具體的方法如下(1)調(diào)度機器人外掛識別任務(wù),啟動問題發(fā)放模塊;(2)所述問題主要分為固有問題和結(jié)合游戲特征的問題,固有問題以系統(tǒng)語音方式發(fā)放并以圖像形式存放的,語音發(fā)放的聲源由多種聲源組成,語音文件采用密鑰加密;其中結(jié)合游戲特征的問題是根據(jù)游戲特征生成的,其根據(jù)答案類型分為圖像和非圖像兩大類,其中圖像類的結(jié)合游戲特征的問題的發(fā)放與固有問題相同,非圖像類的結(jié)合游戲特征的問題的發(fā)放前則要根據(jù)參數(shù)類型做相應(yīng)的轉(zhuǎn)換;(3)將步驟(2)中選取的問題發(fā)送給客戶端并等待響應(yīng);(4)服務(wù)器端接收步驟(3)中客戶端響應(yīng)的信息,并與所述問題的正確答案比較,若與答案匹配,則判斷客戶端為人而非機器人;否則就判斷不匹配的次數(shù)是否超過所設(shè)答錯問題的閾值,若超過所述閥值,則判斷客戶端為機器人,否則跳轉(zhuǎn)至步驟(1)。
所述問題數(shù)據(jù)庫由題目類型表、題目表、答案圖像表、系統(tǒng)函數(shù)表、參數(shù)類型表和題目轉(zhuǎn)換表組成,用以對問題數(shù)據(jù)庫進行增刪改操作,完成對問題數(shù)據(jù)庫的問題更新,系統(tǒng)函數(shù)表是存放得到結(jié)合游戲特征的問題的答案,需要調(diào)用的當前游戲的接口函數(shù)名稱;問題轉(zhuǎn)換表則存放非圖像類的結(jié)合游戲特征的問題的轉(zhuǎn)換規(guī)則,從而可以對問題進行相應(yīng)的轉(zhuǎn)換,以增加外掛識別的難度。
對于問題的選取均采用隨機數(shù)的形式隨機選取,固有問題以及結(jié)合游戲特征的圖像類問題以語音的形式發(fā)放,備選答案由游戲服務(wù)器隨機抽取,并和正確答案一起發(fā)送給游戲客戶端,每個圖形在客戶端屏幕上以逆時針隨機角度旋轉(zhuǎn)顯示,則玩家必須根據(jù)聽到的問題通過分析問題答案發(fā)放的畫面的邏輯關(guān)系做出準確的回答;非圖像類的結(jié)合游戲特征的問題,則需經(jīng)過轉(zhuǎn)換后以文本的形式發(fā)放,玩家需根據(jù)當前游戲的狀態(tài)以文本的形式輸入正確答案。
由于采取了上述技術(shù)方案,本發(fā)明的有益效果是(1)綜合利用人的聽覺和視覺特征,利用語音發(fā)放題目,有效的利用了人不同于機器人的區(qū)別進而有效的防止外掛程序。
(2)對于固有問題要求玩家利用視覺和邏輯思維能力回答,對于結(jié)合游戲特征的問題通過函數(shù)庫中的函數(shù)隨機動態(tài)生成結(jié)合當前玩家游戲狀態(tài)和角色特征來設(shè)置。
(3)游戲管理員可以對問題數(shù)據(jù)庫進行增、刪、改操作,使得問題數(shù)據(jù)庫不斷更新,有效防止外掛的破解。
(4)對于答案為圖形的問題,答案選項以圖形表示,每個圖形逆時針隨機角度旋轉(zhuǎn)顯示,從而使得機器人的識別度提高。
圖1是本發(fā)明系統(tǒng)結(jié)構(gòu)框圖;圖2是本發(fā)明方法的流程圖;圖3是圖1中問題數(shù)據(jù)庫模塊的實體關(guān)系圖;圖4是本發(fā)明方法實施例的流程圖。
具體實施例方式
下面以實施例的方式說明本發(fā)明的具體實施過程。
如圖1所示是本發(fā)明的系統(tǒng)結(jié)構(gòu)圖,由服務(wù)器、機器人外掛識別任務(wù)、問題數(shù)據(jù)庫、游戲數(shù)據(jù)庫、其他任務(wù)系統(tǒng)、任務(wù)調(diào)度服務(wù)和游戲玩家客戶端組成,所述機器人外掛識別任務(wù)和其他任務(wù)是分開表示和管理的,結(jié)合圖2所示,當游戲服務(wù)器調(diào)度機器人外掛識別任務(wù),啟動問題發(fā)放模塊,服務(wù)器已完成其他任務(wù),游戲玩家當前游戲狀態(tài)已保存,以待其他游戲任務(wù)執(zhí)行時恢復(fù),此時調(diào)用問題發(fā)放模塊,準備發(fā)送問題數(shù)據(jù)包至游戲玩家(客戶端)并等待響應(yīng),等待直至接收到玩家響應(yīng)信息,將響應(yīng)的信息和問題正確答案比較,若與答案匹配則判斷玩家為人而非機器人,否則判斷不匹配的次數(shù)是否超過規(guī)定的閾值,若超過閥值則判斷玩家為機器人,否則返回執(zhí)行問題發(fā)放模塊。
所述問題發(fā)放模塊中的數(shù)據(jù)主要存儲在問題數(shù)據(jù)庫中,如圖3所示,問題數(shù)據(jù)庫主要由題目類型表、題目表、答案圖像表、系統(tǒng)函數(shù)表、參數(shù)類型表和題目轉(zhuǎn)換表構(gòu)成,題目類型表用來存放問題的題型類別,表示問題類型的文本描述,比如抽象事務(wù)、具體事務(wù)問題的類型;題目表是用來存放問題的題目信息;答案圖像表用于存放對應(yīng)問題答案的圖像信息;系統(tǒng)函數(shù)表是存放得到結(jié)合游戲特征的問題的答案,所需要調(diào)用的當前游戲的接口函數(shù)名稱;參數(shù)類型表是用來存放函數(shù)所針對的參數(shù)類型,例如文本、數(shù)字和圖形等;題目轉(zhuǎn)換表是通過此庫中的函數(shù)對結(jié)合游戲特征的非圖像問題進行函數(shù)變換形成新的問題進行發(fā)放。
如圖4所示,游戲服務(wù)器根據(jù)隨機數(shù)生成算法生存隨機數(shù),然后根據(jù)該隨機數(shù)從問題庫中提取題目,若抽取題目為固有問題,則根據(jù)該問題(如“以下哪個圖像是火車?”)查找得到正確答案的圖像(如果有多個正確答案,則再隨機取一個),再隨機從答案圖像表中提取其他若干個圖像與問題數(shù)據(jù)中的正確答案的圖像組成答案選項數(shù)組,然后將問題和答案一起加密后發(fā)送給游戲客戶端,游戲客戶端接收數(shù)據(jù)并解密出問題和答案,以語音的形式播放題目并把答案選項以圖像的形式顯示出來,同時等待玩家的響應(yīng)信息,然后再把響應(yīng)信息發(fā)送給游戲服務(wù)器,游戲服務(wù)器驗證答案的正確性,如果正確,則判定為玩家,如果錯誤,則錯誤計數(shù)值加1,如果錯誤值大于游戲管理員設(shè)定的閾值,則識別為機器人外掛。
若抽取題目為答案不是圖形的結(jié)合游戲特征的問題,則根據(jù)該問題(如“您目前的經(jīng)驗值”)查找對應(yīng)的系統(tǒng)函數(shù)表,獲取需要調(diào)用的函數(shù)名稱,并根據(jù)參數(shù)類型從問題轉(zhuǎn)換函數(shù)表中隨機選取轉(zhuǎn)換函數(shù)(如“乘5”),并把原問題轉(zhuǎn)換為新的問題(“您目前的經(jīng)驗值乘5是?”),根據(jù)系統(tǒng)函數(shù)名調(diào)用游戲的接口函數(shù)得到問題的答案,然后把問題加密后發(fā)送給游戲客戶端,游戲客戶端接收數(shù)據(jù)并解密出問題,以文本的形式顯示出來,并等待玩家輸入答案,然后再把響應(yīng)信息發(fā)送給游戲服務(wù)端,游戲服務(wù)器驗證答案的正確性,如果正確,則判定為玩家,如果錯誤,則錯誤計數(shù)值加1,如果錯誤值大于游戲管理員設(shè)定的閾值,則識別為機器人外掛。
若抽取題目為答案是圖形的結(jié)合游戲特征的問題,則根據(jù)該問題查找對應(yīng)的系統(tǒng)函數(shù)表,獲取需要調(diào)用的函數(shù)名稱,從而確定該問題的答案,其它方面與固有問題的處理方式相同。
對問題數(shù)據(jù)庫主要有添加、刪除和更新方面的操作。游戲管理員添加具有游戲特征的問題必須完成以下工作(1)往系統(tǒng)函數(shù)表中添加可用記錄(如表1),問題的題目部分用文本形式表示(例如玩家的ID),創(chuàng)建一個服務(wù)器端問題類變量,接收游戲管理員輸入的問題題目內(nèi)容。
(2)提示游戲管理員通過麥克風錄入題目內(nèi)容,語音為WAV文件格式保存。
(3)問題類型設(shè)置為結(jié)合游戲特征的類型,然后從系統(tǒng)函數(shù)表中關(guān)聯(lián)對應(yīng)的函數(shù)ID,以便在獲取該問題答案時,調(diào)用關(guān)聯(lián)的系統(tǒng)函數(shù)。
(4)調(diào)用數(shù)據(jù)庫表插入函數(shù),將上述問題類變量信息添加至問題數(shù)據(jù)表1中。
表1
權(quán)利要求
1.一種可結(jié)合游戲特征的機器人外掛識別方法,其特征在于,在游戲服務(wù)器增加問題數(shù)據(jù)庫和機器人外掛識別任務(wù),所述游戲服務(wù)器根據(jù)一定的調(diào)度算法調(diào)度機器人外掛識別任務(wù),并通過網(wǎng)絡(luò)傳送的方式將問題發(fā)送到游戲客戶端,所述游戲客戶端接收到問題后以語音或者文本的形式發(fā)放并等待響應(yīng),再把響應(yīng)信息傳送給游戲服務(wù)器,所述游戲服務(wù)器將游戲客戶端的響應(yīng)信息與正確答案進行比較,若與正確答案匹配,則判斷玩家為人而非機器人外掛,否則判斷不匹配的次數(shù)是否超過規(guī)定的閾值,若超過則判斷玩家為機器人外掛。
2.根據(jù)權(quán)利要求1所述的一種可結(jié)合游戲特征的機器人外掛識別方法,其特征在于,包括以下步驟(1)調(diào)度機器人外掛識別任務(wù),啟動問題發(fā)放模塊;(2)所述問題主要分為固有問題和結(jié)合游戲特征的問題,所述固有問題答案是以圖像形式存放并以系統(tǒng)語音方式發(fā)放;所述結(jié)合游戲特征的問題根據(jù)答案類型分為圖像和非圖像兩大類,若問題答案為圖像,則發(fā)放形式與上述固有問題相同,若問題答案非圖像,則在所述問題發(fā)放前根據(jù)參數(shù)類型做相應(yīng)的轉(zhuǎn)換;(3)將步驟(2)中選取的問題發(fā)送給客戶端并等待響應(yīng);(4)服務(wù)器端接收步驟(3)中客戶端響應(yīng)的信息,并與所述問題的正確答案比較,若與答案匹配,則判斷客戶端為人而非機器人;否則就判斷不匹配的次數(shù)是否超過所設(shè)答錯問題的閾值,若超過所述閥值,則判斷客戶端為機器人,否則跳轉(zhuǎn)至步驟(1)。
3.根據(jù)權(quán)利要求2所述的一種可結(jié)合游戲特征的機器人外掛識別方法,其特征在于,步驟(2)中所述問題答案為圖形時,每個圖形在客戶端屏幕上以逆時針隨機角度旋轉(zhuǎn)顯示,同時一個問題可以對應(yīng)多個正確答案,答案不為圖形的結(jié)合游戲特征的問題則是以文本方式顯示。
4.根據(jù)權(quán)利要求2所述的一種可結(jié)合游戲特征的機器人外掛識別方法,其特征在于,步驟(2)中的問題數(shù)據(jù)庫由題目類型表、題目表、答案圖像表、系統(tǒng)函數(shù)表、參數(shù)類型表和題目轉(zhuǎn)換表組成,用以對問題數(shù)據(jù)庫進行增刪改操作,完成對問題數(shù)據(jù)庫的問題更新。
5.根據(jù)權(quán)利要求2所述的一種可結(jié)合游戲特征的機器人外掛識別方法,其特征在于,步驟(2)中所述答案為圖形的問題題目是以語音形式播放給客戶端,而非圖像類的結(jié)合游戲特征的問題則經(jīng)過轉(zhuǎn)換后以文本的形式發(fā)放。
全文摘要
本發(fā)明提供一種可結(jié)合游戲特征的機器人外掛識別方法,是采用在游戲服務(wù)器增加問題數(shù)據(jù)庫,以及機器人外掛識別任務(wù),游戲服務(wù)器根據(jù)一定的調(diào)度算法,調(diào)度機器人外掛識別任務(wù),并通過網(wǎng)絡(luò)傳送問題到游戲客戶端,游戲客戶端接收到問題后,以語音或者文本的形式發(fā)放,并等待響應(yīng)。然后再把響應(yīng)信息傳送給游戲服務(wù)器,游戲服務(wù)器對游戲客戶端的響應(yīng)信息與正確答案進行比較,若與正確答案匹配,則判斷玩家為人而非機器人外掛;否則判斷不匹配的次數(shù)是否超過規(guī)定的閾值,若超過則判斷玩家為機器人外掛,從而達到有效地防止機器人外掛的目的。
文檔編號G06F19/00GK101059830SQ200710028388
公開日2007年10月24日 申請日期2007年6月1日 優(yōu)先權(quán)日2007年6月1日
發(fā)明者李 東, 郭芬, 葉友 申請人:華南理工大學(xué)