游戲才剛上線沒多久,就遭遇了眾多游戲工作室一波接一波的外掛洗禮。游戲工作室很喜歡新游戲,因為新游戲沒有太多對抗外掛的手段和技術,漏洞也較多,而且新游戲會不斷燒錢導量,游戲工作室也借機找到了大量的客戶。
在經歷了一番實戰(zhàn),或多或少總結了一些經驗和技巧,這里和大家做個分享。文章分別從常見外掛對抗、安全日志對抗、安全預警對抗、策劃層面對抗、其他技術對抗探討網絡游戲外掛的對抗措施。
常見外掛對抗
這里列舉下網絡游戲影響較大的3類外掛,分別做說明:
1)產生經濟利益的
a. 利用游戲漏洞獲拳濟利益
游戲漏洞,這是最常見且最致命的外掛了。盡管做了足夠多的代碼review、大量的測試,還是無法完全避免漏洞的出現(xiàn)。
對付這種外掛,比較常用的對抗策略是:
1、玩家收益預警,高出預估值的收益做預警
2、安全日志的記錄,遇到玩家作弊,能快速定位問題,熱修復
3、根據(jù)玩家舉報,查看被舉報玩家數(shù)據(jù)及日志。(這個看似沒用,實際效果顯著。游戲中的獲利最終要轉化成現(xiàn)金,這樣他們就要給玩家推銷)
b. 利用運營弱點獲拳濟利益
游戲為了增加留存,某些嘲必然實打實給玩家送福利。工作室就利用這些嘲反復刷獲益。
對付這種外掛,比較常見的對抗策略是:
1、劃分新手區(qū),高等級玩家無法到新手區(qū)
2、限制沒充值的,且剛注冊不久的玩家
3、限制領獎次數(shù)(這是廣義的,除了游戲中明確每人只能領幾次,還包括內定限制)
2)減少重復勞動的
游戲為了增加玩家的在線時長,有很多重復性的勞動,比如任務打怪200只、收集道具50個。像這些,外掛可以幫玩家自動打怪,自動收集道具,自動交任務,自動接任務,然后再重復這個過程。
對付這種外掛,比較常見的對抗策略是:
1、適當增加內掛,即游戲內置的自動掛機
2、增加此類任務的隨機性,變換任務數(shù)量、嘲
3、隨機增加一些確認對話框,如驗證碼
3)影響游戲平衡的
這種外掛,在競技類游戲較為常見,如CF透視外掛、CF自動瞄準、LOL野怪計時、LOL技能閃避、王者榮耀透視外掛。像這些外掛,影響了游戲平衡。
對付這種外掛,比較常見的對抗策略是:
1、加強客戶端對外掛的檢測
2、根據(jù)外掛盈利點優(yōu)化游戲,如LOL增加了野怪刷新提示
3、內存數(shù)據(jù)加密 (自定義的安全類型,用來代替語言原生的int、string等類型進行數(shù)據(jù)存儲,還可重載運算符。這種可以有效對抗內存修改器)
4、客戶端加殼(增加反編譯的成本,減少游戲被反編譯的可能性)
5、協(xié)議加密(增加修改協(xié)議的成本)
安全日志對抗
安全日志有別于游戲日志,是關系到游戲經濟、游戲公平的玩家行為日志。
為什么要有安全日志?
你知道一個玩家有問題,但沒有日志支撐,你不知道他怎么獲利的,是否真的不符游戲規(guī)定。另外,還可以根據(jù)這個玩家的特征,找到其他作弊玩家。
安全日志采集那些數(shù)據(jù):
根據(jù)玩家的獲利點:
1、游戲幣:游戲幣的獲得與使用,需要記錄理由、增量、總量、時間
2、道具:道具的獲得與使用,需要記錄理由、增量、總量、時間
3、技能:比如技能釋放次數(shù)、技能釋放的最大范圍,技能命中目標總數(shù)、單個技能命中目標最大數(shù)、單個技能的獲利值、技能消耗的能量總數(shù)、技能的最大傷害、技能的總傷害
4、怪物:怪物的產出數(shù)量、被擊敗數(shù)量、受創(chuàng)值、受創(chuàng)次數(shù)、初始地圖位置、被擊敗位置
5、玩法:每個玩法的情況,包括初始游戲幣、結束時間、分數(shù)、獲得游戲幣,獲得道具、對局時長、客戶端對局時長
6、交易:交易雙方的信息、交易道具、交易游戲幣、時間
當然,安全日志不止這些,需要根據(jù)不同游戲,制定不同的安全日志。
安全預警對抗
這是在安全日志的基礎上做的預警,比如剛注冊當天沒充值就獲利1億游戲幣,這種玩家就需要預警了。預警的目的在于查找可能作弊的玩家,提醒運營人員發(fā)現(xiàn)作弊玩家,就好像美劇《疑犯追蹤》。
安全預警的手段主要有兩種:
1、線上預警:線上即時預警,對一些對局、或產出數(shù)值嚴重超過預警值的要預警,這種是線上統(tǒng)計,在玩家上報分數(shù)及發(fā)獎時hook處理
2、離線預警:作弊玩家收益可能不是一兩局比賽就得到了,可能要累計一段時間反復刷獲得大量收益。所以要離線分析,通過分析安全日志,定制一些規(guī)則找到這些玩家。
根據(jù)作弊玩家的行為:
1、貧民富翁:剛注冊當天沒充值就獲利巨額游戲幣
2、一夜暴富:一天獲得的游戲幣數(shù)額超過同等玩家N倍,且沒有充值、沒有交易
3、明目張膽:對于排行榜前N名的玩家重點關注
4、百戰(zhàn)百勝:沒有玩家是百戰(zhàn)百勝的,屢次都是前幾名,這樣的玩家多數(shù)是有問題的
5、雨后春筍:剛放出去的功能還沒有受到實戰(zhàn)考驗,出錯的可能性很大,要監(jiān)控產出,針對一個功能設置當日產出預警值
當然,安全日志不止這些,需要根據(jù)不同游戲,制定不同的安全日志。
帳號封禁對抗
如果確定了玩家行為嚴重違反了游戲規(guī)則,就要考慮封禁玩家。封禁主要的好處是,將作弊太猖狂的玩家踢出眾人視野。同時封禁的存在,相當于告訴玩家別使用外掛。除了這兩個,還可以有效對抗游戲工作室轉移資產,提高作弊成本。有一大部分工作室是靠售賣游戲貨幣、道具、高級游戲賬號為生,而經營工作室又需要大量的成本,購置機器、網絡、員工、游戲賬號等,如果大量賬號被封,可能會導致工作室周轉遇到問題。
封禁類別:
1、限制登錄:限制玩家無法登錄游戲,也就是封號。短時間封禁、永久封禁
2、限制玩法:限制玩家獲得收益、限制分數(shù)上榜
3、限制聊天:屏蔽不良信息
封禁的難點是,怎么篩選出有作弊的玩家,避免誤傷正常玩家:
1、剛注冊,就有作弊行為,是封禁的重點,特別是收益巨大的
2、長時間在線的,每天日活躍達到15小時以上,甚至23小時以上
3、充值較大的玩家,就算使用過作弊器,影響不大的,也可以忽略。(畢竟是衣食父母,適當給于提示或警告)
4、同個設備號,或同個ip的多個玩家?guī)ぬ柖加凶鞅讛?shù)據(jù)
5、游戲日志、或安全日志有較多的作弊日志
策劃層面對抗
1、增加交易成本,限制玩家交易
增加交易成本是很有效的,工作室通常就利用多個小號刷,再匯總到一起售賣。限制的方法很多,如等級開放(30級開啟),或VIP2開放,需充值多少錢可達到;蚪灰卓凼掷m(xù)費。
2、玩法(或功能)設定數(shù)值上限
每一關的最大分數(shù),每個技能的最大傷害等,就算屬性過多或其他理由,也要計算好這個上限,做出限制。不要單純?yōu)榱梭w驗的東西,太大放寬這個限制。
3、玩法(或交易)次數(shù)限制
玩法如每人每天只能玩3次,交易如VIP2每天可交易2個道具、VIP3每天可交易5個道具。
4、限制較大收益路徑,必須有時間成本
工作室經常都會研究出最快獲利的路徑,定制外掛獲利。那么這個收益路徑,必須要有時間成本,比如雖然是概率出,但還是限制了一天最多一次。
5、降低重復性任務所獲得收益
很多外掛是通過長時間刷來累計收益,正常玩家不會長時間重復無腦勞動。對于同一種任務的收益,應該隨時間增加而減少。
6、適當提供自動掛機功能
游戲中很多任務是重復性的,可以適當提供自動掛機。
其他技術對抗
1、客戶端加殼(增加反編譯的成本,而且,不同版本加殼做一點變化)
2、通信加密(增加修改協(xié)議的成本,而且,密匙要不定期更新;蛘,密匙可做成動態(tài)的,比如自增1)
3、內存數(shù)據(jù)加密 (自定義的安全類型,用來代替語言原生的int、string等類型進行數(shù)據(jù)存儲,還可重載運算符。這種可以有效對抗內存修改器)
4、協(xié)議通信頻率限制(限制同一個協(xié)議兩次請求的間隔)
5、防加速(客戶端連接服務器后,服務器把當前時間發(fā)給客戶端,以后客戶端發(fā)協(xié)議都加上自己算出的服務器時間,服務器檢測到這個時間超過了實際時間,就認為加速)
6、頂號、重復登錄處理(必須將上次登錄踢出,并且數(shù)據(jù)保存完畢后,才允許本次登錄)
7、關鍵數(shù)據(jù)服務器校驗(如技能CD、移動速度及位置)
8、定期上報客戶端核心資源或者配置文件md5,服務端做校驗
9、客戶端配置文件、資源文件加密
10、協(xié)議過期(避免截韌戶端發(fā)包,重復發(fā)送)
最后語
寫到最后發(fā)現(xiàn),這是我第一篇不怎么講技術的文章,我很少談及游戲設計、開發(fā)經驗、職業(yè)規(guī)劃等,可能以后會花點精力搞下。畢竟技術只是幫你開啟新世界的大門,而過程和結局怎樣,還要靠你怎么運用它。
投稿郵箱:chuanbeiol@163.com 詳情請訪問川北在線:http://m.fishbao.com.cn/