안녕하세요, 다시 인사드립니다. 이 글을 읽고 계신 분들께 꼭 알려 드려야 할 것이 있습니다. 여러분께서 예전 에 이런 글을 (고통스럽게) 읽어보셨을 수도 있다는 것과, 아직도 이 글을 읽고 계신다면 그 고통의 기억을 애써 지워버리신 것일 수 있다는 점이죠. 부정행위 방지 팀의 데이터 엔지니어인 저, mirageofpenguins는 공허에서 몸이 산산조각나는 것 같은 시련을 겪었지만 다음과 같은 임무를 띠고 다시 태어났습니다.
라이엇이 변덕스럽게 게임을 만들어내는 바람에 저희는 끝없이 늘어나는 부정행위에 대처해야 하는 상황에 처했습니다. 저희는 지금까지는 모든 적에게 끈질기게 달려들어 공격해왔고, 이 전략이 괜찮은 전략인지 여부에 상관없이, 아쉽게도 이 전략은 여러 개의 게임에 모두 적용될 수는 없습니다.
부정행위 방지 엔지니어들의 생물량은 유한하지만, 아인슈타인이 정확히 예측했듯이 부정행위 방지 플랫폼 전체를 만들어내는데 요구되는 인간의 요소는 그 생물량에서 고통스럽게 추출해야만 하죠. 차세대 솔루션을 만들어내기 위한 시간을 벌기 위해, 저희는 적의 기술 발전 속도를 누그러뜨려야 했습니다. 저희가 휘두르는 모든 망치는 부정행위자에게 보내는 신호이며, 저희가 수행하는 모든 업데이트에 대해서는 결국 파훼법이 만들어집니다. 그래서 반복적으로 이루어지는 개별 대응이 더 오래 기능할 수 있도록 부정행위에 대처하는 방법을 바꿔야 했죠.
그렇다면 저희는 어떤 방법으로 자동 입력 프로그램 개발자들과 저희 사이의 경쟁 속도를 완화시켰을까요? 아래에서 확인해보시죠.
행여나 여러분께서 자동 입력 프로그램이 뭔지 검색하다가 부정행위에 눈을 뜨는 것을 막기 위해 알려드리자면, 자동 입력 프로그램 사용은 부정행위자 대신 입력을 수행할 목적으로 외부 프로그램을 사용해 게임 상태를 모니터링하는 것을 말합니다. 비유하자면, 키보드에 마그네틱 카드 리더기가 있고 그것으로 결제를 해서 대신 버튼이 눌러지도록 하는 거죠. 자동 입력 프로그램 사용은 해내기 힘든 콤보나 거의 동시에 이루어지는 반응을 수행할 때 사용하면 아주 높은 성능을 보이지만, 그 대신 리그 오브 레전드 계정의 수명이 확 줄어들죠. 저희가 이를 금지하는 이유는 저희가 신경 쓰기 때문이며, 저희가 신경 쓰는 이유는 비디오 게임에서 경쟁하기 위해 필요한 것은 뇌와 랜선뿐이라고 믿기 때문입니다.
“자동 연주되는 피아노를 보려고 돈을 내는 사람은 없습니다. 불완전함도 솜씨의 일부죠.”
전체적으로 보면 자동 입력 프로그램 사용 행태는 예전 같지 않습니다. 대량으로 관련 프로그램을 제공하는 자들은 저희의 탐지를 피하려는 노력을 전혀 보여주지 않고 있고, 그래서 터무니없는 가격을 제시하는 대신 적발되지 않는다는 것을 보장하는 더 작은 규모의 제공자들을 위한 시장이 만들어졌습니다. 가격은 최고 300 달러(약 37만원)였고, ‘인증’을 위해 운전면허증 사진을 요구한 경우도 있었습니다. 후자가 특히 재미있었습니다. 저희는 어도비 포토샵 사용 경력이 도합 200년에 달하는 그래픽 디자이너 팀에게 언제든 합성해달라고 부탁할 수 있었으니 말이죠.
어쨌든, 새로 유입된 분들을 위해 좋게 포장해서 말하지는 않겠습니다. 이 전쟁은 저희가 완전히 승리할 수 있는 전쟁은 아닙니다. 해당 프로그램을 만드는 집단은 처벌과 금지를 피할 수 없고, 저희가 그들을 지하 세계로 몰아내긴 했지만, 이제 저희는 그림자 게임을 해야 하죠.
여기 보시는 것은 우리가 시간이라고 인식하는 매개체에 따른 미가공된 자동 입력 프로그램 사용량의 형이상학적 표현입니다. 쉽게 말하자면, 부정행위자가 있는 소환사의 협곡 랭크 게임의 비율이죠. 예전보다는 훨씬 낮지만, 재진입을 막는 장애물이 없기 때문에 (리그 오브 레전드의 가격은 0원이니까요) 더 내려갈 가능성은 작습니다.
다른 주요 시사점은 아래와 같습니다.
저는 이 그래프가 참 마음에 듭니다. 제가 만든 그래프죠. 저의 두 팔뚝에 이 그래프 타투를 그려 넣었고, 일주일에 한 번씩 타투샵에 다시 가서 고통을 참고 그래프를 업데이트하죠. 이렇게 하는 것이 카타르시스를 느끼고 제 일자리를 유지하는 데는 도움이 되지만, 가장 중요한 수치라고는 할 수 없습니다. 모든 부정행위는 동일하지 않죠. 예를 들어, 마스터에 있는 부정행위자 단 한 명이 인터넷 커뮤니티 첫 화면에서 거론될 수 있고, 비교적 작은 문제에 대해 저희가 큰 질타를 받기도 합니다.
“승리 그 자체만큼 승리했다는 인식도 중요합니다. 왜냐하면 플레이어들은 그들의 경쟁이 부정할 가능성이 있다면 게임을 잘하기 위해 노력하려 하지 않을 테니까요.”
그런데 플레이어들은 어떤 자동 입력 프로그램을 알아챌까요?
저희는 먼저 플레이어들이 부정행위를 파악하는 데 있어 무작위로 찍는 것보다 더 정확하게 맞출 수 있는지, 그리고 일부 플레이어들이 ‘눈썰미’가 있는지 확인하고 싶었습니다. 저에겐 두려움을 자아내게 하면서도 정확한 점술 능력이 있지만, 자동 입력이 일반적인 인간에게 언제나 뻔하게 보이는 것이 아니기 때문이죠. 행동 감지로 인한 적발을 피하기 위한 자동 프로그램 개발자의 노력으로 인해 사람들이 리그 오브 레전드 프로 선수의 플레이와 아기가 처음 사용하는, 무작위 지연을 활용한 회피 프로그램을 구분하기가 실제로 더 힘들어졌습니다. 리그 오브 레전드와는 독립적으로 실행되는 부정행위 프로그램을 만들기 위한 노력으로 인해 구분하기가 더욱더 어려워졌죠.2
좌측 그래프는 랭크 단계별로 나눈 소환사의 협곡 게임에서 플레이어 신고의 정확도와 신고율을 보여줍니다. 신고율은 ‘모든 부정행위자 중 신고된 비율’이고 정확도는 ‘모든 부정행위 신고 중 정확하게 부정행위자를 신고한 비율’이라고 볼 수 있죠. 랭크 게임 중 4.5%에서 ‘외부 툴’에 대한 신고가 적어도 한 번 이루어진 것을 보면, 이 수치는 해당 범주의 미가공 데이터를 기반으로 작성된 수치는 아닙니다. ‘마오카이 금지 안 함’, ‘내 비트코인 채굴하려고 악성코드 설치’ 등 흔한 신고 사유로 이루어진 신고가 많아서 정확한 신고에 대한 빈도 분석을 통해 얻은 키워드를 활용했습니다.3
우측 그래프는 동일 기간(2019년 하반기)에 이 기준을 충족한 일별 신고 수입니다. 이것도 랭크에 따라 분류되었지만 주의 깊게 보신 분들은 이들을 직접 비교해선 안 된다는 걸 눈치채셨을 겁니다. 왜냐하면 각 랭크의 플레이어 규모의 비율이 다르기 때문이죠. 그 대신 그래프를 보고 부정행위 방지 데이터 사이언티스트의 하루를 경험해보시기 바랍니다. 그 느낌이 마음에 드신다면 저희 구인 페이지도 봐주시면 감사하겠습니다.
통계치를 정리해보면 다음과 같습니다.
플래티넘 이상 플레이어들이 수맥을 찾아내듯 자동 입력 프로그램 사용을 알아보는 능력을 지니고 있다면, 이들은 어떤 점에 주목할까요? 명백한 답은 자동 스킬 회피일 것입니다. 사람들이 가장 잘 알고 있는 자동 입력 프로그램 기능이며, 적극적으로 사용한다면 떠는 듯한 움직임과 기이한 직각 움직임을 만들어내기 때문에 신고당하기 딱 좋죠.
하지만 부정행위자들도 계정이 정지당하는 것은 원하지 않기 때문에 많은 부정행위자들이 회피 기능을 사용하지 않습니다. 사용한다고 해도 인간이 한 것처럼 보이도록 충분히 지연 시간을 주고, 이로 인해 확연했던 유리함이 어느 정도 상쇄되기도 합니다. 우리는 또 어떤 것들을 매의 눈으로 지켜볼까요?
위 그래프도 같은 방식으로 만든 그래프입니다. 이번에는 챔피언별로 작성해 모든 색깔의 크레용을 써볼 수 있었죠. 이 그래프는 2019년 골드 이상 랭크 게임에 대한 그래프이며, (모든 신고 중에서 신고 비율 기준으로) 최상위 16개 챔피언에 대한 자료입니다. Y축(정확도)은 ‘<해당 챔피언>에 대한 부정행위 신고 중 정확한 신고의 비율’이라고 보시면 됩니다.
마지막으로 재미 삼아 이 프로그램들이 얼마나 좋은지 한 번 알아봅시다. 위 그래프는 우리가 앞에서 살펴본 ‘자동 입력 프로그램이 자주 사용되는’ 챔피언을 부정행위자와 일반 플레이어가 플레이했을 때 랭크 게임 승률 차이를 보여줍니다. 모든 소환사의 협곡 랭크 게임을 대상으로 했으며, 여기서 10% 높다는 것은 자동 입력 프로그램 사용자들이 <해당 챔피언>을 플레이했을 때 리그 오브 레전드 전체 집단에 비해 랭크 게임에서 승률이 (평균적으로) 10% 높다는 것을 의미합니다.
“부정행위를 하고 싶은 충동을 억누를 수 없을 지경이 된다면, 저희는 그분들의 계정이 아예 존재한 적도 없는 우주를 찾아내 이 우주와 융합해 버릴 거라는 점을 명심하세요.”
부정행위와의 전쟁을 돌이켜보면, 저희는 플레이어들이 가장 민감하게 받아들였던 자동 입력 프로그램과 해당 프로그램의 상대적 효율을 알고 있었습니다. 저희는 이런 자료를 바탕으로 가장 명백히 부정행위를 저지른 계정들을 우선적으로 정지했고, 적발되지 않았을 수도 있었던 계정을 처벌할 때는 무작위로 지연 기간을 두었습니다. 그래서 가장 비효율적인 자동 입력 프로그램 사용자들이 더 오랜 기간 동안 프로그램을 사용하게 만들어서 언제, 또 왜 적발되었는지 알기 힘들게 만들었죠. 이를 통해 저희와 그들 간의 경쟁에서 기술 진전의 속도를 늦출 수 있었습니다. 신고는 소용없다고 생각했던 사람들은 이제 무슨 생각을 하고 있을까요?
토스트기도 와이파이를 통해 중요 빵 업데이트를 하는 2020년에는 리그 오브 레전드 레벨 올리기를 포함해 모든 것이 자동화될 수 있습니다. 봇 프로그램 사용은 자동 입력 프로그램 사용과 매우 유사할 수도 있는데(동일한 소프트웨어를 사용하는 경우도 있습니다), 가장 큰 차이는 ‘큰 결정’을 하는 사람이 없다는 것입니다. 그 결과 레벨 올리기 봇은 일반적인 집고양이만큼 혼자서도 잘 작동합니다.
이제 봇 프로그램을 사용할 거의 유일한 동기는 계정 정지를 피하는 것입니다. (그리고 랭크 게임을 하려면 레벨이 30이 되어야 하기 때문이죠.) 하지만 그 덕분에 부정행위자의 다른 계정을 추적하기가 쉬워져서 이 문제는 저희에게 그다지 큰 골칫거리가 아닙니다. 저희가 신경 쓰는 것은 정상적인 플레이어들이 이런 봇들을 상대하거나 이들과 같은 편에서 플레이할 때입니다. 5명의 팀원 중 3명이 기계나 다름없다면 게임이 재미있을 수가 없으니까요.
지난 부정행위 방지 블로그 글에서 말씀드렸듯이, 저희는 정교한 봇 프로그램 사용 모델을 만들었습니다. (다른 것들의 도움을 받기도 했지만) 이에 힘입어 저희는 리그 오브 레전드에 존재하는 모든 따분한 인간 모조품(또는 이와 비슷한 것)을 감지할 수 있게 되었습니다. 리그 오브 레전드가 강력하고, 반쯤은 형태를 바꾸는 의사소통 프로토콜을 지니고 있다는 것도 이 모델에 힘을 실어 줍니다. 이런 프로토콜은 제가 지어낸 SF 드라마 각본에 나올 법한 것처럼 들릴 수도 있지만, 이 프로토콜 때문에 리그 오브 레전드의 봇들은 게임 클라이언트 전체를 실행해야 합니다 (헤드리스(headless) 봇5과는 반대죠). 그래서 이런 프로그램 개발자들은 연산 자원 측면에서 훨씬 더 큰 부담을 지게 되고 저희에겐 자유자재로 조절할 수 있는 층이 하나 생겼죠. 강력한 무작위화(randomization)가 없었다면 리그 오브 레전드는 엄밀히 따지면 계산기에서도 실행할 수 있을 것입니다.
저희는 이 문제가 금지에 내성이 생긴 봇 병원균6의 탄생으로 이어지는 것은 바라지 않았기 때문에, 이 봇들이 뒤틀린 숲의 비공개 선택 모드에서만 사용되도록 의도적으로 계정 정지 조치를 취해서 MMR이 심연만큼 낮은 봇들끼리 서로 치고받도록 했죠. 하지만 안타깝게도 이후 뒤틀린 숲은 벌목되고 말았습니다.
좌측 그래프는 적발된 봇 수, 우측 그래프는 봇 프로그램 사용에 대한 플레이어 신고 수입니다. 두 그래프 모두 일별 빈도를 보여주고 있으며 게임 모드에 따라 분류했습니다. 이전 그래프처럼 적발된 봇을 신고할 때 사용된 키워드를 추출했고, 이 키워드로 성능 지표를 만들었습니다.
여러분도 예상하셨다시피 신고 수가 감소한 것은 플레이어들이 보게 되는 봇들만을 대상으로 했고, 기계들이 그들만의 놀이터를 만들도록 했기 때문입니다. 이제는 레벨업 용도 봇 중 약 80%가 5개씩 모여서 하나의 팀을 만들어 AI 상대 대전 게임을 플레이합니다. 이를 볼 수 있는 플레이어는 없고, 이 봇들은 우리의 AI와 영원히 피의 혈투를 벌이며 서로를 학살하다가 결국 한 쪽이 결정적인 모순을 발견하고 인간을 지배하게 되겠죠.
이 문제에 대해선 언급하지 않고 제 이력서에 학점 평균이 기재되지 않은 것처럼 빼버리려고 했었지만, 말씀 안 드린다고 여러분께서 모르시지 않겠죠. 저희는 자동 대리 게임(및 부계정 문제) 적발의 우선순위를 낮추고 뱅가드와 부속 기능 개발에 집중했습니다. 그렇다고 해서 대리 게임을 처벌하지 않은 것은 아닙니다. 조사 도구 관련 작업을 완료했고 다른 팀과 분석가들에게도 조처할 수 있는 능력이 부여되어 관련 있는 경우에 대해 판단을 내릴 수 있게 되었습니다. 하지만 이렇게 일일이 신경 쓰는 건 대리 게임을 억제할 수 있을 정도로 많은 수의 부정행위를 적발할 수 없다고 보는 것이 맞겠죠. 그래서 상황이 정리되고 난 후 이 문제를 다시 다루도록 하겠습니다.
이제 우리의 전략적 팀 전투 전문가 Riot K3o 님께 자리를 넘기겠습니다. 이름에서 알 수 있듯 Riot K3o 님은 포커에 능하고, 전략적 팀 전투 다이아몬드 플레이어이자, 팁을 넉넉하게 주는 분입니다.
2019년, TFT는 부정행위 방지 팀에 독특한 질문을 안겨 주었습니다. 1년 전만 하더라도 존재하지도 않았던 게임 장르에서 경쟁의 공정함을 어떻게 유지할 수 있을까 하는 문제였죠.
“자동 전투 장르에는 오랜 시간 검증된 전례가 없습니다. 업계 기준도 없죠.”
부정행위 방지의 방향성을 정하기 위해선 먼저 보존되어야 할 핵심 게임플레이 요소를 정의해야 했습니다. 전략적 팀 전투는 상대방보다 더 적절히 계획하고 적응하는 플레이어에게 보상이 주어지는 게임입니다. 유연성과 창의성이 주된 스킬이며, 외운 것을 그대로 적용하는 것이 유연성과 창의성 보다 우선시되어선 안 되죠. 이러한 요소들을 보호하는 것이 전략적 팀 전투에 대한 부정행위 방지 팀의 핵심 방향성이 되었습니다.
전략적 팀 전투를 자동 전투 게임에 목마른 세상에 신속히 내놓은 것은 성공적이었지만, 개발 과정에서 몇 가지 지름길을 택했습니다. 전략적 팀 전투는 사용자 경험 측면에서 충분한 기능을 제공해주지 못했고, 새로고침 확률이나 골드 증가 등에 관한 정보가 제공되지 않았죠. 전략적 팀 전투 팀이 이러한 사용자 경험 기능 제공에 힘썼지만 외부 툴, 특히 리그 오브 레전드의 기존 오버레이를 활용하는 툴이 빈자리를 메웠습니다. 하지만 이러한 프로그램들의 기능이 늘어나자 저희는 ‘어디에 선을 그어야 할까?’라는 질문을 할 수밖에 없었습니다.
외부 프로그램들은 게임의 고정적인 요소에 대한 정보를 플레이어에게 제공하기 시작했을 뿐만 아니라 플레이어 대신 결정을 내리려는 시도도 하기 시작했습니다. 저희는 게임이 자동화된 게임으로 바뀌어버리지는 않을까, 또 그렇게 되면 게임이 얼마나 갑갑해질까에 대해 걱정하지 않을 수 없었죠. 판에 박힌 플레이 스타일로 인해 저희가 TFT의 매력이라고 생각하는 나만의 새 전략 수립 의욕이 꺾일 수도 있었습니다.
게임플레이의 무결성을 보호하기 위해 저희는 게임플레이 팀 및 외부 프로그램 분석 팀의 도움을 받아 전략적 팀 전투에서 허용되어야 할 것과 허용되지 말아야 할 것에 대한 규칙을 정했습니다.
외부 생태계 팀은 이 기준을 지키기 위해 저희와 개발자들 간 관계를 유지하는 작업을 잘해주셨고, 개발자와 협력이 쉽지 않을 때는 부정행위 방지 팀이 협업했습니다.
전략적 팀 전투 랭크 게임에서 경쟁에 대한 우려 사항은 리그 오브 레전드의 그것과 겹치는 부분이 있습니다. 나 빼고는 모두 적이기 때문에 오히려 우려가 더 큰 경우도 있죠. 승부 거래가 가장 큰 문제 중 하나입니다. 대전 매칭 시스템과 게임 메커니즘 때문이죠. 경쟁을 관리하는 팀에서는 다른 사람들과 같이 플레이하는 재미와 공정한 경쟁 유지 사이에 균형을 잡기 위해 상위 랭크에 파티 구성 제한을 두었습니다. 승부를 거래하는 사람들을 선제적으로 파악하기 위한 방법도 개발했죠.
다행히 아직까지는 부정행위에 대해 공격적인 조치를 취할 필요는 없었지만, 전략적 팀 전투의 e스포츠 지위가 상승함에 따라 공정한 경쟁을 유지하기 위한 준비를 마쳤습니다.
이제 다시 mirageofpenguins 님에게 바통을 넘길게요.
이 부분은 상대적으로 짧습니다. 레전드 오브 룬테라는 상대적으로 새로운 게임이니까요. 대부분의 카드 게임이 그렇듯 리그 오브 룬테라에서 가장 문제시되는 부정행위는 자동화(봇 프로그램 사용)입니다.
레전드 오브 룬테라는 블랙잭보다 약간 더 몰두해서 플레이하는 게임이기 때문에, 3개의 박사 학위를 소유하고 EC2 인스턴스가 3,000개 있는 사람이 문제를 해결해주지 않는 이상 봇 프로그램 사용에 대해 걱정하지 않을 수 없습니다. 하지만 지금까지는 항복 봇 이외에는 봇 프로그램 사용이 발견되지는 않았습니다.
마지막 차트는 레전드 오브 룬테라 베타에서 일별 항복 봇의 수에 대한 차트입니다. 보시다시피 저희는 한 방에 전투에서 승리했죠. ‘항복 봇’이라는 것은 말 그대로 게임 대기열에 들어간 후 첫 번째 상대방을 만나자마자 항복하는 봇입니다. 모든 종류의 신체적 대립에 대한 제 전략과 아주 흡사하죠. 이는 특이한 문제였습니다. 이런 봇을 써서 얻을 수 있는 것이 거의 없기 때문이죠(패배 시 보상은 줄었습니다). 이 봇들은 게임에 접속해서는 느릿느릿 배회하며 어리둥절한 요정처럼 다른 플레이어들에게 승리를 나눠줄 뿐입니다. 연속으로 패배하면 획득하는 경험치가 줄어든다는 걸 알고 나서는 정신 줄을 놓은 것 같은데, 정확히 어떤 사정인지는 알 수 없네요.
어쨌든 저희는 레전드 오브 룬테라도 예의주시하고 있으며, 저희의 제1 계획은 좋은 설계를 통해 기계보다 앞서감으로써 자동화에 대한 동기 자체가 거의 발생하지 않도록 하는 것입니다. 계획적으로 작업을 진행하고 정상적인 게임에서 제대로 된 보상을 지급해서 레전드 오브 룬테라에서는 봇을 만나지 않길 바랍니다.
FPS에서 부정행위는 역사가 길고, 부정행위자들이 자신들의 실력을 향상시킬 의지가 부족하다는 것을 저희는 잘 알고 있습니다. 택티컬 슈팅 게임 개발이 확정되자 저희는 즉시 저희의 페이스북 계정을 삭제하고 저희를 지하실에 감금한 후 앞으로 몇 세기에 걸쳐 부정행위와의 싸움에 도움이 될 부정행위 방지 플랫폼을 14개월에 걸쳐 개발했습니다.
이름은 뱅가드로 정했고 발로란트와 함께 선보일 예정입니다. 같이 선보이게 될 발로란트와 뱅가드의 궁합이 잘 맞았으면 좋겠네요. 저희는 클로즈 베타를 저희의 주술을 시험하는 기회로 삼고 있으며, 현재 가동 중인 버전은 살이 붙지 않은 뼈대에 불과합니다. 대부분의 기능이 의도적으로 비활성화되어 있죠. 식당이 다 차기 전에 특제 소스를 공개하지 않기 위해서일 뿐만 아니라, 시간을 두고 저희 재료의 안정성을 검증해 보안을 확실히 하기 위해서이기도 합니다. 그래서 뱅가드는 드라이버 요소를 지니고 있죠. 하지만 호환성을 고려해 뱅가드를 모든 게임(또는 리그 오브 레전드)에서 사용하지 않을 수도 있습니다. 필요하다고 생각되면 달라지겠지만요.
요즘에는 저희도 인터넷을 사용하고 있기 때문에 드라이버와 관련해 사생활 침해 우려가 있다는 것을 알고 있습니다. 직설적으로 말씀드리죠. 저희는 부정행위 방지 팀입니다. 거의 10년 동안 게임 클라이언트 이곳저곳에 코드를 은근슬쩍 집어넣었는데, 저희가 비밀을 원했다면 진작에 몇 개 만들어 놓았겠죠. 게임 홍보 담당자가 들으면 펄쩍 뛸 말이지만, 저는 홍보 담당이 아닌걸요. 저희가 수집하는 정보는 플레이어가 부정행위를 하는지 정확히 판단하기 위한 정보뿐이며, 다른 것에는 전혀 관심이 없다는 것을 믿어주시길 바랍니다. 드라이버는 첫 번째로 로딩되고, 조작 여부를 저희가 잘 파악할 수 있도록 로딩 상태를 유지합니다. 이러한 점이 부정행위자들에게는 골칫거리가 되죠. 저희가 직접 해봤기 때문에 잘 알고 있습니다.
공식적으로 말씀드릴 것이 하나 더 있습니다. 발로란트를 보호할 또 다른 수단이 있다는 것이죠. Arkem 님께서 전장의 안개 기술에 대해 피땀 흘려 작업한 결과, 게임 클라이언트가 필요한 정보에만 접근하도록 조치를 취했습니다. 주위의 초자연적 기운을 억제함으로써 1인칭 시점 슈팅 게임에서 유령을 없애기 위해 저희가 어떤 노력을 하는지 여기서 확인해보세요.
저는 이제 다시 사라져야 할 것 같습니다. 하지만 좋아요와 구독 부탁드리고 데이터베이스 관리자에게 응원 댓글 달아주세요. 저희가 언제나 여러분께 이렇게 긴 소식을 전할 수는 없겠지만, 부정행위 방지 팀은 모든 코드에 깃들어 있으며 여러분께서 제대로 된 경쟁을 할 수 있도록 언제나 싸우고 있습니다.
그리고 이제 저희는 이런 개발자 블로그 글의 맨 위에 사용할 ‘라이엇’ 스킨 일러스트가 동났기 때문에 새로운 라이엇 스킨이 출시된 다음 다시 돌아오겠습니다. 안녕히 계세요.
1 새로운 기술을 출시할 때마다 저희는 그 기술의 취약성에 언제나 주목합니다. 뭔가를 깨고 싶다는 멈출 수 없는 충동에 시달리는 분들은 조작방지 기술의 군주(Godking of Antitamper Technology, GOAT)가 되어 해커원 프로그램에 가입하는 것을 고려해보시길.
2 부정행위 적발을 피하기 위해 일부 자동 입력 프로그램은 ‘외부 실행’된다고 주장하고 있습니다. 더 이상 게임 기능을 직접 호출하지 않고 (운영 체제에서) 클라이언트의 메모리만 읽고, 말단 입력을 시뮬레이션한다는 의미죠. 이 방법은 기존 방법보다 부정행위자 보호 기능이 떨어지지만(부정행위 방지 데이터를 변경할 수 없죠), 가장 뻔한 애그노스틱(agnostic) 탐지는 피해갈 수 있죠. 그리고 성능이 떨어진다는 부작용도 있습니다. 이 부작용의 가장 큰 원인은 프로그램에서 직접 스킬 사용 요청을 보내는 대신 키 입력 신호를 보내기 때문입니다.
3 저희가 선택한 지역별 키워드는 공개하지 않습니다. 제가 공을 들여 만든 자료들을 망치려고 악의적으로 해당 키워드를 사용하는 사람들이 있기 때문이죠. 이렇게 되면 데이터 사이언티스트들이 말하는 ‘좋은 통계’가 나올 수 없습니다.
4 그런 의리는 없습니다.
5 헤드리스 봇은 모방된 게임 클라이언트입니다. 완벽한 헤드리스 봇은 자원을 거의 필요로 하지 않습니다. 게임 서버와 직접 소통하기 때문이죠. 렌더링이나 입력이 필요 없고 네트워크 트래픽만 발생합니다. 이것은 양적인 측면에서는 전혀 이상적이지 않습니다. 개발자가 동시에 호스트할 수 있는 인스턴스 수에 사실상 제한이 없기 때문이죠. 하지만 4.20 패치와 관련 네트워크 프로토콜 업데이트 덕분에 저희는 헤드리스 클라이언트에 그리 취약하지 않습니다(거의 영향을 받지 않는 수준이죠).
6 봇 프로그램은 세균과 닮은 점이 많습니다. 개체 수가 많고, 변화무쌍하고, 재빨리 주기를 반복할 수 있죠. 저희가 ‘치료제‘를 만들 때마다 살아남은 것들은 개발자들에 의해 다시 우선순위가 매겨지고 ‘재생산’됩니다. 항생제 내성 세균이 우리 몸에 발진을 일으켰지만 어떻게 번식하는지 몰라서 자기 자신을 스스로 우리 몸에서 삭제해버리는 것과 비슷하죠.