專利名稱:一種有效防止棋牌游戲鎖牌器的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種有效防止棋牌游戲鎖牌器的方法,特別涉及一種通過服務(wù)器端邏 輯校驗(yàn),有效防止棋牌游戲鎖牌器的方法。
背景技術(shù):
目前大部分的棋牌網(wǎng)絡(luò)游戲平臺為了節(jié)省服務(wù)器的資源,都盡量把邏輯計(jì)算放在 客戶端,以C/S (Client/Server,即客戶機(jī)/服務(wù)器,服務(wù)器是網(wǎng)絡(luò)的核心,而客戶機(jī)是網(wǎng)絡(luò) 的基礎(chǔ),客戶機(jī)依靠服務(wù)器獲得所需要的網(wǎng)絡(luò)資源,而服務(wù)器為客戶機(jī)提供網(wǎng)絡(luò)必須的資 源。)模式實(shí)現(xiàn),這種做法也有一個明顯的缺點(diǎn)一旦客戶端和服務(wù)器之間的邏輯被破解, 如果服務(wù)器不做足夠的防范工作的話,平臺就很可能會被一些別有用心的人做一些外掛, 破壞游戲平衡?!版i牌器”也是一種外掛,一些玩家在發(fā)現(xiàn)自己無望取勝的時候,因?yàn)閺?qiáng)退會遭到 懲罰,他們就借用鎖牌器,收到服務(wù)器的通知后不做任何動作,結(jié)果整個游戲就卡著不動, 知道其他玩家等到最后難以忍受,首先撤出游戲,這種鎖牌器的濫用將會很大程度上影響 游戲的平衡,降低玩家對游戲的忠誠度。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種有效防止棋牌游戲鎖牌器的方法,防止用 戶使用鎖牌器破壞游戲規(guī)則。本發(fā)明所述的一種有效防止棋牌游戲鎖牌器的方法,該方法至少包括如下的步 驟步驟1 游戲房間服務(wù)在開始一場新游戲的時候,初始化一個牌桌上下文緩存器, 這個緩存器存儲當(dāng)前牌桌的各種信息,包括牌桌的合法用戶、每個用戶手中剩余的牌、當(dāng) 前輪到哪個用戶操作等;步驟2 同時,游戲房間服務(wù)初始化一個動作超時檢查器,它包含一個鬧鐘,定期 檢查每個牌桌上下文緩存器判斷是否有用戶超時未動作。如果當(dāng)前被輪到操作的用戶最后 動作的時間-當(dāng)前時間>允許用戶的最長動作超時時長,則斷定當(dāng)前活躍用戶出了問題, 把用戶從牌桌踢出,并通知同牌桌其他用戶這個用戶掉線了 ;步驟3 當(dāng)客戶端向游戲房間服務(wù)發(fā)送請求的時候,游戲房間服務(wù)器根據(jù)游戲上 下文判斷用戶動作是否合法;步驟4:游戲房間服務(wù)調(diào)用牌桌上下文緩存器,更新發(fā)起操作的用戶的最后活動 時間,同時,根據(jù)用戶的動作,更新牌桌上下文緩存器的其他信息;本發(fā)明所述的一種有效防止棋牌游戲鎖牌器的方法,當(dāng)客戶端向游戲房間服務(wù)發(fā) 送請求的時候,游戲房間服務(wù)器根據(jù)游戲上下文判斷用戶動作是否合法其步驟為步驟31 當(dāng)前用戶是否是當(dāng)前牌桌的合法用戶,如果不是,則踢出用戶;步驟32 當(dāng)前操作用戶是否是和牌桌上下文緩存器存儲的當(dāng)前活躍用戶一致,如果不一致,則踢出用戶;步驟33 根據(jù)牌桌上下文緩存器,判斷用戶的操作是否合法,如果不合法,則踢出 用戶;本發(fā)明涉及的一種有效防止棋牌游戲鎖牌器的方法,使得牌桌服務(wù)根據(jù)自己存儲 的上下文信息來判斷用戶的操作是否合法,并定期根據(jù)此上下文信息檢查用戶操作是否超 時,這些邏輯判斷不依賴客戶端。
具體實(shí)施例方式本發(fā)明的主要步驟如下步驟1 游戲房間服務(wù)在開始一場新游戲的時候,初始化一個牌桌上下文緩存器, 這個緩存器存儲當(dāng)前牌桌的各種信息,包括牌桌的合法用戶、每個用戶手中剩余的牌、當(dāng) 前輪到哪個用戶操作等;步驟2 同時,游戲房間服務(wù)初始化一個動作超時檢查器,它包含一個鬧鐘,定期 檢查每個牌桌上下文緩存器判斷是否有用戶超時未動作;步驟3 當(dāng)客戶端向游戲房間服務(wù)發(fā)送請求的時候,游戲房間服務(wù)器根據(jù)游戲上 下文判斷用戶動作是否合法;步驟4:游戲房間服務(wù)調(diào)用牌桌上下文緩存器,更新發(fā)起操作的用戶的最后活動 時間,同時,根據(jù)用戶的動作,更新牌桌上下文緩存器的其他信息;上述步驟3,當(dāng)客戶端向游戲房間服務(wù)發(fā)送請求的時候,游戲房間服務(wù)器根據(jù)游戲 上下文判斷用戶動作是否合法的具體步驟如下步驟31 當(dāng)前用戶是否是當(dāng)前牌桌的合法用戶,如果不是,則踢出用戶;步驟32 當(dāng)前操作用戶是否是和牌桌上下文緩存器存儲的當(dāng)前活躍用戶一致,如 果不一致,則踢出用戶;步驟33 根據(jù)牌桌上下文緩存器,判斷用戶的操作是否合法,如果不合法,則踢出 用戶;上述的技術(shù)方案實(shí)施時,牌桌服務(wù)根據(jù)自己存儲的上下文信息來判斷用戶的操作 是否合法,并定期根據(jù)此上下文信息檢查用戶操作是否超時,這些邏輯判斷不依賴客戶端, 這使得平臺的安全性得到了很大的提高,并且可有效防止非法用戶通過鎖牌器影響正常游 戲。最后所應(yīng)說明的是,以上實(shí)施例僅用以說明而并非限制本發(fā)明所描述的技術(shù)方 案;因此,盡管本說明書參照上述的實(shí)施例對本發(fā)明已進(jìn)行了詳細(xì)的說明,但是,本領(lǐng)域的 普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對本發(fā)明進(jìn)行修改或者等同地替換;而一切不脫離本發(fā) 明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
一種有效防止棋牌游戲鎖牌器的方法,其特征在于該方法至少包括如下的步驟步驟1游戲房間服務(wù)在開始一場新游戲的時候,初始化一個牌桌上下文緩存器,這個緩存器存儲當(dāng)前牌桌的各種信息,包括牌桌的合法用戶、每個用戶手中剩余的牌、當(dāng)前輪到哪個用戶操作等。步驟2游戲房間服務(wù)初始化一個動作超時檢查器,它包含一個鬧鐘,定期檢查每個牌桌上下文緩存器判斷是否有用戶超時未動作。如果當(dāng)前被輪到操作的用戶最后動作的時間-當(dāng)前時間>允許用戶的最長動作超時時長,則斷定當(dāng)前活躍用戶出了問題,把用戶從牌桌踢出,并通知同牌桌其他用戶這個用戶掉線了。步驟3當(dāng)客戶端向游戲房間服務(wù)發(fā)送請求的時候,游戲房間服務(wù)器根據(jù)游戲上下文判斷用戶動作是否合法。步驟4游戲房間服務(wù)調(diào)用牌桌上下文緩存器,更新發(fā)起操作的用戶的最后活動時間,同時,根據(jù)用戶的動作,更新牌桌上下文緩存器的其他信息。
2.根據(jù)權(quán)利要求1所述的一種有效防止棋牌游戲鎖牌器的方法,其特征在于當(dāng)客戶 端向游戲房間服務(wù)發(fā)送請求的時候,游戲房間服務(wù)器根據(jù)游戲上下文判斷用戶動作是否合 法,其步驟為步驟31 當(dāng)前用戶是否是當(dāng)前牌桌的合法用戶,如果不是,則踢出用戶。 步驟32 當(dāng)前操作用戶是否是和牌桌上下文緩存器存儲的當(dāng)前活躍用戶一致,如果不 一致,則踢出用戶。步驟33 根據(jù)牌桌上下文緩存器,判斷用戶的操作是否合法,如果不合法,則踢出用戶。
全文摘要
一種有效防止棋牌游戲鎖牌器的方法,首先游戲房間服務(wù)在開始一場新游戲的時候,初始化一個牌桌上下文緩存器,這個緩存器存儲當(dāng)前牌桌的各種信息;然后游戲房間服務(wù)初始化一個動作超時檢查器。當(dāng)客戶端向游戲房間服務(wù)發(fā)送請求的時候,游戲房間服務(wù)器根據(jù)游戲上下文判斷用戶動作是否合法;游戲房間服務(wù)調(diào)用牌桌上下文緩存器,更新發(fā)起操作的用戶的最后活動時間,同時,根據(jù)用戶的動作,更新牌桌上下文緩存器的其他信息。本發(fā)明使得牌桌服務(wù)根據(jù)自己存儲的上下文信息來判斷用戶的操作是否合法,并定期根據(jù)此上下文信息檢查用戶操作是否超時,這些邏輯判斷不依賴客戶端。
文檔編號G06F19/00GK101887484SQ20091008409
公開日2010年11月17日 申請日期2009年5月14日 優(yōu)先權(quán)日2009年5月14日
發(fā)明者劉立軍, 張守文, 王磊, 陶勇勝 申請人:灰熊(北京)科技有限公司