https://www.pcgamer.com/vacnet-csgo/
https://goo.gl/h7idP9
原文自PCgamer 5EPlay.Lisp翻譯整理
所有的多媒體遊戲都在與作弊者進行無止境的鬥爭。CS:GO在2014年快速發展,成為世界
上最受歡迎的FPS遊戲,同時某些原因讓它更容易被黑。
CS:GO作為基於Source引擎開發的第10款遊戲(CS主系列的第三款),早已經有一堆關於
如何篡改V社引擎的資料。一些給諸如半條命2一樣的老遊戲所開發的外掛,只需要經過幾
分鐘的修改,也許就能在CS:GO裡面使用(雖然V社聲稱外掛會被檢測到)。作為一款與角
度和準確度相關的熟練性遊戲,從設計上看,這一點也讓外掛更加有效率。遊戲中的武器
傷害很高,所以它們在外掛玩家手裡更具有破壞性。CS:GO中的信息和隱藏非常重要,知
曉對手的位置信息價值連城,這使得透視掛在遊戲裡面如魚得水。
按照V社的說法,反外掛鬥爭是「很重要的,很有價值的工作」。如果你玩過FPS遊戲,你
可能已經注意到從幾年前開始,遊戲環境變得更好了。不僅表現在Reddit上的投訴和外掛
視頻出現頻率變低了,而且作弊行為(這種行為與其他損害競技遊戲健康的行為一樣有危
害性)似乎消失了。伴隨著一次大規模封禁作弊者的新聞浪潮,我們也高調發佈了關於禁
用帳號的一些故事。這些被禁用掉的,是作弊者中的一大部分,那麼V社是如何清理出這
些混蛋的呢?
作弊者不知道我們要這麼做,遊戲玩家對此反應很開心,我們重拳打擊了作弊者,這感覺
太棒了。——McDonald
上週在舊金山舉行了遊戲開發者大會,深入探討反外掛這一話題的機會不多,在這唯一機
會上,V社的程序設計師Jhon McDonald講述了他和V社如何利用深度學習技術來解決CS:GO
的作弊問題。這一方法非常有效,因此V社正嘗試使用深度學習技術來解決一系列的問題
,例如從反作弊到DOTA2的方方面面。並且V社正在積極尋找其他工作室一起合作,想要在
Steam平台的其他遊戲上也部署他們的這一基於深度學習的反作弊方案。
解決CS:GO的外掛問題
McDonald有一個專門用來接收CS:GO玩家電子郵件的私人電子郵箱。在2016年項目之間的
某個時候,基於在線討論和那個私人電子郵箱裡的信息,McDonald注意到「整個社區在討
論的唯一的一件事情就是作弊」。他說,那些關於作弊的討論無處不在,VAC系統的禁用
數量大大增加,這也佐證了V社所收到的作弊氾濫信息。
為瞭解決作弊問題,V社和McDonlad把目光轉向了深度學習。深度學習有很大的潛力,它
能夠隨著時間來變化和調整,能更好的應對新出現的作弊技術,這一點對V社很有吸引力
。比起來僱傭成百上千的員工來處理作弊,深度學習能夠自動應付Stream上的多個方面的
問題,選用深度學習方案更是歷史的選擇。經過一年時間的開發,V社推出了被大家所熟
知的VACnet。
Overwatch是面向CS:GO玩家的重播工具,可以用來評估那些因不良行為而被舉報的玩家。
VACnet可以和Overwatch協同工作。老VAC是V社使用多年的客戶端和服務器端技術,當有
玩家在遊戲中運行不良程序時,VAC用來識別這一行為。但是VACnet不是老VAC的新形式。
VACnet是一個新的附加系統,使用了深度學習技術來檢測玩家在遊戲中的行為,它熟悉作
弊的行為方式,然後根據動態標準來發現並禁用作弊者。
McDonald表示一些「微妙」的作弊還是難以發現,在開發VACnet時,V社決定首先解決射
擊模式。因為在遊戲裡面進行射擊時,所表現出的射擊模式很特別,很容易定義。可以用
角度來衡量玩家在瞄準時的俯仰(Y軸)和偏移(X軸)變化。V社可以建立一套系統,這
套系統可以捕捉射擊前0.5秒,射擊後0.25秒這期間的瞄準角度變化。這些數據和其他的
信息,例如玩家持有的武器,敵我之間的距離,射擊結果(打中了,沒打中,爆頭?),
都是獨立的「數據粒子」,他們一起構成V社所稱的「數據原子」,其中包含了描述每次
射擊的數據包。
與過去相比,玩家遇到的外掛更少了,與作弊相關的討論也大大減少。——McDonald
但是VACnet不能只基於一個數據原子就識別出作弊者。「我們需要一系列數據原子,實際
上我們需要140個,或者說目前我們的模型裡面需要這麼多……隨機從八個回合抽取140個
數據原子,把數據導入模型中,然後我們會想,「如果你在人類陪審員面前展示這140次
射擊,你有可能被定罪麼?」。
事實證明,這效果很好。遊戲玩家和VACnet都會舉報需要在Overwatch中進行裁決的疑似
作弊者。但是VACnet舉報的疑似作弊者,他們幾乎都作弊了。
「當有人向Overwatch提交一個舉報時,被舉報玩家開掛的可能性只有15%到30%,這一概
率隨著一系列因素變化,例如不同的時間,遊戲的發售情況,當前是不是在春假期間等等
。雖然有很多情況,但重點是:人舉報的準確率很低。」,McDonald這麼說。「VACnet的
準確率很高。當VACnet提交一個舉報案例時,被舉報玩家開掛的幾率是80%到90%。」
但這並不意味著V社打算逐步淘汰它的作弊者劇院——Overwatch。二者協同工作:VACnet
從Overwatch中學習檢測技術。McDonald說,「我們正在使用Overwatch,而且事實上我們
沒能取代所有的玩家舉報,我們只是做了補充。這意味著VACnet有機會和人類審判員一起
發展。所以當人類審判員發現新的作弊行為時,VACnet有機會做到同樣的事情。
McDonald補充說,為了使VACnet發現新型作弊,使用玩家數據對其再訓練,剛訓練完成那
段時間,在作弊者沒有作出相應應對前,檢測準確率可能能接近100%。V社在本月早先時
候悄悄在CS:GO的2V2模式加入了VACnet,McDonald說「這一模式下的檢測準確率一度高達
99%,這很漂亮。作弊者不知道我們要這麼做,玩家們對此反應很開心,我們重拳打擊了
作弊者,這感覺太棒了。」
大型的反作弊系統
為了使VACnet能充分發揮,必須建立一個服務器集群,用來處理CS:GO數百萬的玩家,海
量的數據,並且這個服務器集群要隨著CS:GO的增長而拓展。現在每天大約有600000場5V5
的CS:GO比賽,每場比賽V社需要大約4分鐘來運算,為了評估所有這些比賽中的所有玩家
,每天的CPU工作量加起來有240萬分鐘,需要大約1700個CPU來完成這項日常工作。
所以V社買了1700個CPU,後來又額外買了1700個。「所以我們有拓展的空間」,McDonald
這麼說,暗示V社有意把VACnet引入其他遊戲。保守的說,V社在這些硬件上必須花費至少
幾百萬美元:64個刀片式服務器,每個有54個CPU,128GB內存。僅在2017年,CS:GO預估
的銷售額就有1.2億美元,服務器的花費相比較之下,微不足道。但是這可能是為單個遊
戲構建的最強大,最好的反作弊系統。
這項工作仍在繼續進行中,但在McDonald看來,VACnet很強大,有潛在的應用價值,不僅
能在非V社遊戲上應用部署,也能在Stream上的其他遊戲上部署。「深度學習對行為進化
而言是變革性的技術」,McDonald這麼說。「我們認為深度學習的確幫助開發者從單調的
重複性工作中解放出來,同時不會對玩家產生任何負面影響。與過去相比,我們的玩家現
在遇到作弊者的次數更少。比起來剛開始進行反作弊工作那會,現在關於作弊的討論也大
大減少。
2017年12月初,這套反作弊系統迎來新的里程碑:在Overwatch中,VACnet的判定準確率
更高了。McDonald說,「這套系統工作的非常好」。