專利名稱:一種網絡游戲中防止作弊的方法及系統的制作方法
技術領域:
本發明涉及網絡游戲技術,特別涉及一種網絡游戲中防止作弊的方法及系統。
背景技術:
隨著網絡游戲的不斷推陳出新,越來越多的網絡用戶已成為網絡游戲的長期使用者。目前,棋牌類網絡游戲已成為主流的網絡游戲,而且這種棋牌類網絡游戲通常與即時通信(IM,Instant Messenger)平臺相結合來實現。下面對現有棋牌類網絡游戲的實現原理加以簡述。
用戶登陸游戲平臺之后,首先從目錄服務器(Dir-Svr)獲取所有游戲的目錄列表、以及每個游戲的相關信息包括有多少個房間和每個房間有多少玩家等。其中,對于用戶而言的房間就是具體的一臺游戲服務器(Game-Svr)。用戶可選擇某個游戲的某個房間,也就是選擇所要登錄的具體的游戲服務器。所述游戲服務器用于提供游戲服務程序,并緩存有在這個服務器上進行游戲的玩家信息,包括游戲次數、游戲積分等。而所述玩家信息則是從后臺的數據服務器(DB-Svr)上獲取的,每一玩家在游戲過程中的信息改變均將寫回至DB-Svr。比如在牌類游戲中,用戶如果需要進行游戲,必須先選擇一個桌子,然后待此桌子上聚齊參與者、并且大家都同意開始以后,才能進行游戲。Game-Svr上運行的游戲服務程序會隨機的給這一桌的參與者分發牌,并將任一參與者的出牌情況傳遞到另外三個參與者的客戶端并顯示出來。待一局游戲結束,游戲服務程序會根據規則判斷游戲結果,并將各個參與者最新的玩家信息寫回至DB-Svr。這里,所謂玩家就是參與游戲的用戶。
另外,在棋牌類網絡游戲中經常會出現作弊行為。由于目前可能存在作弊行為的棋牌類網絡游戲通常需要至少四個玩家共同游戲,參與游戲的玩家將被分成相互對峙的兩方,各個同屬一方的玩家就互為對家,而屬不同一方的玩家則互為對手。在公平合理的游戲環境中,游戲玩家不應再知道其他玩家未出的棋牌組合。但由于網絡游戲的特殊性,互為對家的兩個玩家往往可以通過即時通信等消息發送工具互相通報自己未出的棋牌組合,還可發消息商量該如何出牌,這樣就破壞了游戲的公平性。比如在四人參與的牌類游戲中,在一張桌子上,通常面對面的兩個玩家被分成一伙進行游戲。通常兩個準備作弊的玩家會故意選擇同一張桌子并選擇面對面的位置進行游戲,這樣在游戲過程中這兩個準備作弊的玩家可以互通自己未出的牌的組合,以實施作弊。這里,所述消息發送工具主要指即時通信工具。
這種作弊行為需要采用技術手段進行有效防范。目前棋牌類網絡游戲中存在一種防止作弊的技術。在該技術中,玩家選擇房間后不能自主選擇自身所在桌子中的游戲位置,游戲服務器程序將隨機為各個玩家分配位置,用戶也無法知道其它玩家的信息。此種情況下,有作弊企圖的玩家及其作弊配合者就無法選擇在一個桌子上作為對家進行游戲,也就是說玩家無法選擇自己的游戲對家,從而也就防止了傳遞各自棋牌信息的必要性和可能性。
但是上述防止作弊的技術還不夠理想。在很多情況下用戶是希望能選擇朋友作為對家來進行游戲的。用戶的這種需求正好與現有的防止作弊技術相矛盾。所以目前在網絡游戲領域,需要一種方案既能使用戶可以選擇自己的對家,又能防止用戶作弊,從而改善棋牌類網絡游戲的實現效果。
發明內容
有鑒于此,本發明的主要目的在于提供一種網絡游戲中防止作弊的方法及系統,能防止游戲玩家作弊,而且并不影響玩家選擇自己的游戲對家。
為達到上述目的,本發明的技術方案是這樣實現的本發明公開了一種網絡游戲中防止作弊的方法,該方法應用于包括參與游戲的各玩家所在的游戲客戶端和游戲服務器的系統,該方法包括游戲服務器實時接收各游戲客戶端上報的各玩家的信息;每次游戲開始時,游戲服務器根據當前接收到的玩家的信息確定本次游戲中各玩家的對家,并向每一玩家所在的游戲客戶端下發該玩家的對家信息;在游戲過程中,當玩家準備發送消息時,該玩家所在游戲客戶端判斷該消息是否發往該玩家的對家,如果是,則拒絕發送該消息;否則發送該消息。
其中,所述玩家的信息包括該玩家所在的計算機的地址、該玩家當前在線的用于消息發送的帳號、該玩家所確定的游戲位置;所述游戲服務器接收游戲客戶端上報的玩家的信息的處理包括在游戲開始之前,當游戲客戶端中有新的玩家登錄時該游戲客戶端上報自身所在計算機的地址給游戲服務器,當游戲客戶端中有玩家確定游戲位置時該游戲客戶端上報該玩家的游戲位置給游戲服務器;各游戲客戶端實時檢測各自對應的玩家當前在線的用于消息發送的帳號并上報給游戲服務器。
其中,所述當有新的玩家登錄時上報自身所在計算機的地址給游戲服務器的處理包括11)當有新的玩家登錄時,該新的玩家所在游戲客戶端上報自身所在計算機的地址給游戲服務器;12)游戲服務器判斷自身是否已記錄步驟11)上報的計算機地址,如果是,則不記錄該計算機地址;否則記錄該計算機地址。
其中,所述各游戲客戶端實時檢測各自對應的玩家當前在線的用于消息發送的帳號并上報給游戲服務器的處理包括21)每一游戲客戶端實時檢測自身所在計算機上各消息發送工具客戶端的啟動情況,將自身對應的玩家當前最新上線和/或下線的用于消息發送的帳號發送至游戲服務器;22)游戲服務器判斷自身是否已記錄該玩家的用于消息發送的帳號,如果是,則使用接收到的當前最新上線和/或下線的用于消息發送的帳號更新已有記錄;否則記錄接收到的該玩家當前最新上線和/或下線的用于消息發送的帳號。
其中,所述在游戲服務器向每一玩家所在的游戲客戶端下發該玩家的對家信息之后,進一步包括31)判斷當前開始的游戲中是否有玩家的用于消息發送的帳號有變化,如果是,則執行步驟32);否則不作其它處理;32)判斷該帳號發生變化的玩家是否還在本次游戲中,如果是,則將該玩家當前最新的用于消息發送的帳號發送給該玩家的對家所在的游戲客戶端;否則不作其它處理。
其中,所述向游戲客戶端下發的對家信息為對家的玩家當前在線的用于消息發送的帳號;所述玩家所在游戲客戶端判斷該消息是否發往該玩家的對家的方法為判斷該消息的目的帳號是否為所述對家對應的玩家當前在線的用于消息發送的帳號中的任一帳號,如果是,則該消息發往該玩家的對家;否則該消息并非發往該玩家的對家。
其中,所述用于消息發送的帳號為包含一個或多個帳號的帳號序列;和/或,所述帳號為即時通信帳號。
本發明還公開了一種網絡游戲中防止作弊的系統,該系統包括與參與游戲的各玩家一一對應的各個游戲客戶端,以及與各個游戲客戶端相連的游戲服務器;所述游戲客戶端,用于上報自身玩家的信息給游戲服務器,從游戲服務器接收對家信息,并依據該對家信息拒絕向自身玩家的對家發送消息;所述游戲服務器,用于從各個游戲客戶端接收各個玩家的信息,根據各個玩家信息確定各玩家的對家,并向各游戲客戶端下發其玩家的對家信息。
其中,所述游戲客戶端中包含玩家信息上報模塊和消息發送控制模塊;所述玩家信息上報模塊,用于上報自身玩家的信息給游戲服務器;所述消息發送控制模塊,用于從游戲服務器接收對家信息,并依據該對家信息拒絕向自身玩家的對家發送消息。
其中,所述游戲服務器中包含玩家信息收集模塊和對家確定模塊;所述玩家信息收集模塊,用于從各個游戲客戶端接收玩家信息并輸出給對家確定模塊;所述對家確定模塊,用于從所述玩家信息收集模塊接收玩家信息并確定各個玩家的對家,向各游戲客戶端下發其玩家的對家信息。
由上述方案可以看出,本發明的關鍵在于由游戲客戶端上報玩家信息給游戲服務器,游戲服務器通過收集各個玩家的信息確定各個玩家的對家,并在開始游戲時,向每一玩家的游戲客戶端下發該玩家的對家信息;之后,在游戲過程中,每一玩家所在的游戲客戶端根據接收到的對家信息識別發往該玩家的對家的消息并拒絕發送該消息。
因此,本發明所提供的網絡游戲中防止作弊的方法及系統,能有效防止互為對家的玩家在游戲過程中以消息發送的方式來進行作弊,而且并不防礙玩家在游戲過程中隨意選擇對家,尤其適合應用于目前流行的棋牌類網絡游戲。本方案構思巧妙,既能保證網絡游戲的公平性、又能提供用戶友好的游戲服務,且不必對現有游戲客戶端和游戲服務器做較多改動,可實施性較強,是對現有網絡游戲技術的有益補充和完善。
圖1為本發明方法中游戲服務器初始化的處理流程示意圖;圖2為本發明方法中游戲開始時游戲服務器的處理流程示意圖;圖3為本發明方法中游戲開始時游戲客戶端的處理流程示意圖;圖4為本發明系統一較佳實施例組成結構示意圖;圖5為采用本發明后各玩家所在計算機之間的連接關系示意圖。
具體實施例方式
下面結合附圖及具體實施例對本發明再作進一步詳細的說明。
本發明公開了一種網絡游戲中防止作弊的方法,該方法應用于各玩家所在的游戲客戶端和用于運行游戲程序的游戲服務器中。本發明方法主要就是針對背景技術所述對家之間互通棋牌組合的作弊行為而產生的,該方法的主要設計思想為各個玩家所在的游戲客戶端實時收集各自的玩家信息并上報給游戲服務器;當進行游戲時,游戲服務器根據從各玩家所在客戶端接收的各玩家信息確定各玩家的對家信息,并向每一玩家所在游戲客戶端發送該玩家的對家信息;玩家所在的游戲客戶端在準備向其它游戲客戶端發送消息時,依據自身接收到的對家信息確定當前發送的消息是否發往該玩家的對家,并拒絕發送發往對家的消息。
本發明方法主要分為獨立的兩部分處理一、游戲服務器端獲取玩家信息并下發對家信息;二、玩家所在游戲客戶端上報玩家信息并控制發往對家的消息。其中,一所述游戲服務器端獲取玩家信息并下發對家信息的處理還基本包括兩部分處理一、游戲開始之前的玩家信息獲取流程;二、游戲開始之后的玩家信息獲取及下發對家信息的流程。下面結合圖1至圖3依次對這幾部分處理加以詳細闡述。
圖1為本發明方法中在游戲開始之前游戲服務器的處理流程示意圖。如圖1所示,具體處理包括步驟101游戲服務器判斷當前游戲是否有新的玩家加入,如果是,則執行步驟102;否則執行步驟106。
步驟102游戲服務器獲取該新的玩家所在計算機的地址信息。所謂玩家所在計算機就是該玩家的游戲客戶端所在的計算機。
這里,所述計算機的地址信息可以為該計算機的IP地址。但是,考慮到通過同一局域網接入骨干網的數臺計算機具有相同的IP地址,而同一局域網中的兩臺計算機不可能具有相同的媒體訪問控制(MAC)地址。為更準確定位玩家所在的計算機,可以使用IP地址和MAC地址的組合來完全定位網絡中的一臺計算機。所以,所述計算機的地址信息也可以為IP地址與MAC地址的組合。
步驟103游戲服務器判斷自身是否已記錄過步驟102獲取到的計算機地址,如果是,執行步驟105;否則執行步驟104。
步驟104游戲服務器記錄該步驟102獲取的計算機地址信息。
步驟105游戲服務器獲取并記錄該玩家在本地計算機中已在線的用于消息發送的帳號。這里,同一玩家可能同時有多個帳號在線進行消息發送,比如一個用戶同時有多個即時通信帳號在線;所以游戲服務器獲取到玩家的用于消息發送的帳號可能為包含一個或多個帳號的序列。本文所述帳號均指在使用消息發送工具時用于消息發送的帳號,比如使用即時通信工具進行消息發送時使用的即時通信帳號。這里,需要特殊說明的一點是,本發明游戲服務器和游戲客戶端中均集成有消息發送模塊和游戲服務模塊,該消息發送模塊和游戲服務模塊之間能夠互通,因此,當玩家加入游戲時,該玩家游戲客戶端中的游戲服務模塊能夠從消息發送模塊中提取該玩家當前在線的用于消息發送的帳號,并將該用于消息發送的帳號包含在該玩家信息中發送至游戲服務器。
步驟106游戲服務器判斷當前游戲中是否有玩家確定游戲位置,如果是,則執行步驟107;否則返回步驟101。
步驟107游戲服務器記錄該玩家所確定的游戲位置。
當玩家準備加入游戲時,將通過自身所在游戲客戶端登錄游戲服務器并向游戲服務器發送加入游戲請求,該加入游戲請求可以攜帶玩家所要加入的游戲標識、該玩家所在計算機的地址信息、該玩家當前在線的用于消息發送的帳號等等。玩家也可通過游戲客戶端向游戲服務器發送用于確定游戲位置的游戲請求,游戲服務器通過玩家所確定的游戲位置能夠識別當前游戲中每一玩家的對家。
其中,游戲服務器為實現本發明的防作弊功能,除了運行游戲服務程序之外還要基于本發明方法來提供防作弊的功能,此時,游戲服務器要維護一種用于記錄玩家信息的內存表,本文所述玩家信息包括上述玩家所在計算機的地址信息、用于消息發送的帳號和游戲位置等信息,因此,游戲服務器將實時在該內存表中記錄每一玩家的所在計算機的地址信息、用于消息發送的帳號和游戲位置。
上述圖1所示流程中,步驟101至步驟105所述為針對一個新玩家的處理,而步驟106和步驟107所述為針對某一確定游戲位置的玩家的處理,這兩部分處理可以并行進行,本發明并不限定這兩部分處理的執行順序。另外,在步驟101至步驟105中,步驟102至步驟104所述為記錄玩家所在計算機地址的處理,該記錄玩家所在計算機地址的處理與步驟105所述記錄玩家用于消息發送的帳號的處理相互獨立,因此,也可在步驟101判斷有新玩家之后首先記錄該玩家的用于消息發送的帳號。
圖2為本發明方法中在游戲開始之后游戲服務器的處理流程示意圖。如圖2所示,具體處理包括步驟201游戲服務器判斷是否有桌子開始游戲,如果是,則執行步驟202;否則執行步驟204。
依據背景技術描述可知,對于當前某一種棋牌類游戲來說,參與該種游戲的玩家可以選擇某一房間,并進一步選擇房間中的某一桌子來進行游戲,然后再確定自己在該桌子上的游戲位置,所以每一次進行的游戲都是在某張桌子范圍內的各個玩家中進行的,所謂的游戲中的對家和對手都是針對一張桌子上的各個玩家而言的。因此,本步驟判斷實際上就是判斷是否有游戲開始了。
步驟202~步驟203游戲服務器獲取該開始游戲的桌子中各個玩家的信息,并針對每一玩家,下發其對家的信息給該玩家所在的計算機。
在圖1所示流程中,游戲服務器能夠實時維護用于記錄玩家信息的內存表,該內存表中記錄每一玩家所在計算機的地址信息、用于消息發送的帳號和游戲位置。因此,從該內存表中可以獲取到當前開始游戲的桌子中每一玩家的信息,并能根據每一玩家的游戲位置確定其對家,所述游戲位置可以由房間標識、桌子標識和座位標識這三者組合來構成。這里,下發給玩家的其對家的信息主要包括其對家當前在線的用于消息發送的帳號。
步驟204游戲服務器判斷當前開始的游戲中,是否有玩家當前在線的用于消息發送的帳號有改變,如果是,則執行步驟205;否則返回步驟201。
這里,玩家所在計算機可以在玩家當前在線的用于消息發送的帳號發生改變時通知游戲服務器,比如玩家的游戲客戶端可以定時檢測自身所在計算機上各個消息發送工具的客戶端啟動情況,將當前玩家最新上線和/下線的帳號發送至游戲服務器,從而游戲服務器可以進行步驟204所述判斷。
步驟205游戲服務器判斷步驟204所述帳號發生改變的玩家是否還在當前開始的游戲中,如果是,則執行步驟206;否則返回步驟201。
步驟206游戲服務器將該帳號發生改變的玩家最新的在線用于消息發送的帳號發送給其對家所在的計算機。
這里,可以按圖1所示流程中獲取的計算機的地址信息向玩家或某玩家的對家的游戲客戶端所在的計算機發送信息。
圖3為本發明方法中游戲客戶端的處理流程示意圖。如圖3所示,具體處理包括步驟301游戲客戶端啟動之后,上報自身所在計算機的地址信息給游戲服務器,該計算機地址信息可為前面所述的IP地址和MAC地址的組合。
步驟302游戲客戶端定時檢測自身所在計算機上各個消息發送工具的客戶端的啟動情況,將檢測得到的最新上線和/或下線的玩家的帳號發送給游戲服務器;還實時從游戲服務器接收自身玩家的對家信息。
步驟303游戲客戶端判斷當前是否有消息要發送,如果是,則執行步驟304;否則返回步驟302。
步驟304游戲客戶端判斷當前發送的消息是否發往對家,即判斷該消息的目的帳號是否為接收到的對家信息中任一對家的帳號,如果是,則執行步驟306;否則執行步驟305。
步驟305發送該消息,返回步驟302。
步驟306拒絕發送該消息,返回步驟302。
上述圖3的流程中,步驟302為游戲客戶端上報玩家帳號和接收對家信息的處理,而步驟303至步驟306則為針對消息發送的控制處理,這兩部分處理可并行進行,本發明并不限制這兩部分處理的先后順序,只要游戲客戶端獲取到對家信息就可以控制消息發送。
當一局游戲結束某玩家退出此游戲時,游戲服務器可以從自身保存的所述內存表中清空該玩家信息記錄中的游戲位置信息;此后,將有新的玩家加入該游戲,游戲服務器在該游戲開始時向各個玩家發送最新的對家信息。而當有玩家退出游戲服務器時,游戲服務器還可以進一步從所述內存表中刪除該玩家的全部信息記錄。
基于上述本發明方法,本發明還提供了一種網絡游戲中防止作弊的系統,該系統包括現有的游戲服務器及其連接的多個游戲客戶端,并對現有的游戲服務器和游戲客戶端加以改進。該多個游戲客戶端與參與游戲的各個游戲客戶端一一對應。其中,游戲客戶端用于上報自身玩家的信息給游戲服務器,從游戲服務器接收對家信息,并依據該對家信息拒絕向自身玩家的對家發送消息;游戲服務器,用于從各個游戲客戶端接收各個玩家的信息,根據各個玩家信息確定各玩家的對家,并向各游戲客戶端下發其各自玩家的對家信息。
為實現上述功能,所述游戲服務器中可以包含玩家信息收集模塊和對家確定模塊;每一游戲客戶端中可以包含玩家信息上報模塊和消息發送控制模塊。下面以一個玩家所在游戲客戶端、該玩家的對家所在游戲客戶端和游戲服務器之間的處理為例對本發明系統的工作原理加以說明。
圖4為本發明系統一較佳實施例組成結構示意圖。本實施例中,包括互為對家的玩家1和玩家2所在的游戲客戶端、以及游戲服務器。其中,在玩家1所在的游戲客戶端1中包含玩家信息上報模塊1和消息發送控制模塊1,在該玩家的對家即玩家2所在的游戲客戶端2中包含玩家信息上報模塊2和消息發送控制模塊2;在游戲客戶端1和游戲客戶端2連接的游戲服務器中包含玩家信息收集模塊和對家確定模塊。
其中,玩家信息上報模塊1和玩家信息上報模塊2分別用于上報自身玩家的信息給玩家信息收集模塊,其中,玩家信息上報模塊1上報玩家1的信息,該玩家1的信息可以包含玩家1所在計算機的地址信息、玩家1當前在線的用于消息發送的帳號、玩家1的游戲位置等等;玩家2玩家信息上報模塊2上報玩家2的信息,該玩家2的信息可以包含玩家2所在計算機的地址信息、玩家2當前在線的用于消息發送的帳號、玩家2的游戲位置等等。玩家信息收集模塊用于從玩家信息上報模塊1和玩家信息上報模塊2接收玩家1和玩家2的信息并輸出給對家確定模塊。對家確定模塊用于從玩家信息收集模塊提取玩家1和玩家2的信息,根據玩家1和玩家2的信息中的游戲位置確定玩家1和玩家2的對家,并將玩家1和玩家2的對家的信息分別下發給玩家1對應的消息發送控制模塊1和玩家2對應的消息發送控制模塊2,所述對家信息可以為對家所在計算機已在線的用于消息發送的帳號,如QQ號等。消息發送控制模塊1和消息發送控制模塊2分別用于在自身所在計算機準備發送消息時確定該消息的目的帳號是否為接收到的對家信息中的任一帳號,如果該消息的目的帳號為接收到的對家信息中的任一帳號則拒絕發送該消息;如果該消息的目的帳號并非接收到的對家信息中的任一帳號,則正常發送該消息。本實施例中,設定玩家1和玩家2互為對家,因此,發往消息發送控制模塊1的對家信息為玩家2的信息,而發往消息發送控制模塊2的對家信息為玩家1的信息;當準備發送消息時,消息發送控制模塊1用于判斷當前發送的消息是否發往玩家2的任一在線帳號,而消息發送控制模塊2則用于判斷當前發送的消息是否發往玩家1的任一在線帳號,從而能夠控制互為對家的玩家1和玩家2在游戲過程中互傳消息,有效防止作弊行為的發生。
圖4所示僅為兩個互為對家的游戲客戶端與游戲服務器構成的系統。而本發明系統針對的是一次游戲,參與本次游戲的每一玩家都將對應一個游戲客戶端,因此本發明系統就由每一參與本次游戲的玩家的游戲客戶端和游戲服務器構成,并且每兩個互為對家的游戲客戶端與游戲服務器之間的工作原理均與圖4所述相同,本文就不再對各種參與玩家數量下的系統組成一一舉例說明,但均在本發明的保護范圍之內。
圖5為采用本發明后各玩家所車計算機之間的連接關系示意圖。該圖5針對的是由四個玩家參與的游戲,該四個玩家包括玩家1、玩家2、玩家3和玩家4。在未應用本發明時,游戲過程中玩家1、玩家2、玩家3和玩家4的游戲客戶端所在的計算機之間可以互相建立點對點的連接實現點對點的消息發送。而在應用本發明時,如圖5所示,游戲服務器可以根據玩家1、玩家2、玩家3和玩家4的游戲客戶端上報的各個玩家的信息確定各個玩家的對家。圖5中設定玩家1與玩家4互為對家,玩家2與玩家3互為對家。因此,游戲服務器發送玩家4的信息給玩家1,之后玩家1所在計算機禁止發往玩家4的消息;游戲服務器發送玩家1的信息給玩家4,之后玩家4所在計算機禁止發往玩家1的消息;游戲服務器發送玩家3的信息給玩家2,之后玩家2所在計算機禁止發往玩家3的消息;游戲服務器發送玩家2的信息給玩家3,之后玩家3所在計算機禁止發往玩家2的消息。這樣,如圖5所示,在游戲過程中,玩家1和玩家4之間的消息發送被中斷,而玩家2和玩家3之間的消息發送也被中斷,從而有效防止了互為對家的玩家之間可能實施的作弊行為,保證了網絡游戲的公平性。
綜上所述,應用本發明方法及系統能有效防止互為對家的玩家在游戲過程中的作弊行為,本方案既能保證網絡游戲的公平性、又能提供用戶友好的游戲服務,且不必對現有技術做較多改動,具有較高可實施性。
以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。
權利要求
1.一種網絡游戲中防止作弊的方法,該方法應用于包括參與游戲的各玩家所在的游戲客戶端和游戲服務器的系統,其特征在于,該方法包括游戲服務器實時接收各游戲客戶端上報的各玩家的信息;每次游戲開始時,游戲服務器根據當前接收到的玩家的信息確定本次游戲中各玩家的對家,并向每一玩家所在的游戲客戶端下發該玩家的對家信息;在游戲過程中,當玩家準備發送消息時,該玩家所在游戲客戶端判斷該消息是否發往該玩家的對家,如果是,則拒絕發送該消息;否則發送該消息。
2.根據權利要求1所述的方法,其特征在于,所述玩家的信息包括該玩家所在的計算機的地址、該玩家當前在線的用于消息發送的帳號、該玩家所確定的游戲位置;所述游戲服務器接收游戲客戶端上報的玩家的信息的處理包括在游戲開始之前,當游戲客戶端中有新的玩家登錄時該游戲客戶端上報自身所在計算機的地址給游戲服務器,當游戲客戶端中有玩家確定游戲位置時該游戲客戶端上報該玩家的游戲位置給游戲服務器;各游戲客戶端實時檢測各自對應的玩家當前在線的用于消息發送的帳號并上報給游戲服務器。
3.根據權利要求2所述的方法,其特征在于,所述當有新的玩家登錄時上報自身所在計算機的地址給游戲服務器的處理包括11)當有新的玩家登錄時,該新的玩家所在游戲客戶端上報自身所在計算機的地址給游戲服務器;12)游戲服務器判斷自身是否已記錄步驟11)上報的計算機地址,如果是,則不記錄該計算機地址;否則記錄該計算機地址。
4.根據權利要求2所述的方法,其特征在于,所述各游戲客戶端實時檢測各自對應的玩家當前在線的用于消息發送的帳號并上報給游戲服務器的處理包括21)每一游戲客戶端實時檢測自身所在計算機上各消息發送工具客戶端的啟動情況,將自身對應的玩家當前最新上線和/或下線的用于消息發送的帳號發送至游戲服務器;22)游戲服務器判斷自身是否已記錄該玩家的用于消息發送的帳號,如果是,則使用接收到的當前最新上線和/或下線的用于消息發送的帳號更新已有記錄;否則記錄接收到的該玩家當前最新上線和/或下線的用于消息發送的帳號。
5.根據權利要求2所述的方法,其特征在于,所述在游戲服務器向每一玩家所在的游戲客戶端下發該玩家的對家信息之后,進一步包括31)判斷當前開始的游戲中是否有玩家的用于消息發送的帳號有變化,如果是,則執行步驟32);否則不作其它處理;32)判斷該帳號發生變化的玩家是否還在本次游戲中,如果是,則將該玩家當前最新的用于消息發送的帳號發送給該玩家的對家所在的游戲客戶端;否則不作其它處理。
6.根據權利要求2所述的方法,其特征在于,所述向游戲客戶端下發的對家信息為對家的玩家當前在線的用于消息發送的帳號;所述玩家所在游戲客戶端判斷該消息是否發往該玩家的對家的方法為判斷該消息的目的帳號是否為所述對家對應的玩家當前在線的用于消息發送的帳號中的任一帳號,如果是,則該消息發往該玩家的對家;否則該消息并非發往該玩家的對家。
7.根據權利要求4至6任一項所述的方法,其特征在于,所述用于消息發送的帳號為包含一個或多個帳號的帳號序列;和/或,所述帳號為即時通信帳號。
8.一種網絡游戲中防止作弊的系統,該系統包括與參與游戲的各玩家一一對應的各個游戲客戶端,以及與各個游戲客戶端相連的游戲服務器;其特征在于,所述游戲客戶端,用于上報自身玩家的信息給游戲服務器,從游戲服務器接收對家信息,并依據該對家信息拒絕向自身玩家的對家發送消息;所述游戲服務器,用于從各個游戲客戶端接收各個玩家的信息,根據各個玩家信息確定各玩家的對家,并向各游戲客戶端下發其玩家的對家信息。
9.根據權利要求8所述的系統,其特征在于,所述游戲客戶端中包含玩家信息上報模塊和消息發送控制模塊;所述玩家信息上報模塊,用于上報自身玩家的信息給游戲服務器;所述消息發送控制模塊,用于從游戲服務器接收對家信息,并依據該對家信息拒絕向自身玩家的對家發送消息。
10.根據權利要求8或9所述的系統,其特征在于,所述游戲服務器中包含玩家信息收集模塊和對家確定模塊;所述玩家信息收集模塊,用于從各個游戲客戶端接收玩家信息并輸出給對家確定模塊;所述對家確定模塊,用于從所述玩家信息收集模塊接收玩家信息并確定各個玩家的對家,向各游戲客戶端下發其玩家的對家信息。
全文摘要
本發明公開了一種網絡游戲中防止作弊的方法,該方法應用于包括參與游戲的各玩家所在的游戲客戶端和游戲服務器的系統,該方法包括游戲服務器實時接收各個游戲客戶端上報的各個玩家的信息;每次游戲開始時,游戲服務器根據當前接收到的玩家的信息確定本次游戲中各玩家的對家,并向每一玩家所在的游戲客戶端下發該玩家的對家信息;在游戲過程中,當玩家準備發送消息時,該玩家所在游戲客戶端判斷該消息是否發往該玩家的對家,如果是,則拒絕發送該消息;否則發送該消息。本發明還公開了一種系統,應用本發明方法及系統能有效防止網絡游戲的作弊行為。
文檔編號H04L12/58GK101038607SQ200610057088
公開日2007年9月19日 申請日期2006年3月17日 優先權日2006年3月17日
發明者楊謙 申請人:騰訊科技(深圳)有限公司