본문 바로가기

재미있는 이야기

로스트아크 글로벌 서버는 봇 문제가 심각할까?

통합 문서1.xlsx
0.50MB

저는 응애입니다. 아는 거 없으면서 여기저기 자료 긁어다가 모양맞추기를 하고 있는 중입니다. 글에 대해 의견이 있으시다면 댓글로 남겨 글을 더 풍성하게 하는 데 도움을 주시면 정말 감사하겠습니다.

 

 

 

 

오늘 로스트아크 글로벌 서버의 봇 문제가 걱정된다는 글을 보았습니다. 얼마나 심각한 문제가 있는지 한번 여러가지 정보를 종합해서 문제의 규모를 추산해보겠습니다.

 

 

먼저 구글 트렌드입니다. 검색량을 기준으로 1월 1일부터 오늘까지의 관심도를 정리해 보았습니다.

'lost ark' 키워드에 대한 구글 트렌드

2.8 글로벌 서버를 스팀에서 유료구매한 사람들을 위한 head start가 진행되었습니다.

2.11 글로벌 서버가 출시되었습니다. F2P이기 때문에 head start의 홍보 효과를 최대로 받은 모습입니다.

이 구간에서 2.8까지의 관심도를 로스트아크를 기다려온 해외 유저들, 2.11까지의 관심도를 MMORPG 팬층이라고 볼 수 있을 것 같습니다.

 

3.10 아르고스 업데이트

5.19 발탄 업데이트

두 업데이트는 관심도에 큰 영향을 끼치지 못한 것으로 보입니다. 글로벌 서버 발탄이 크게 호평받은 것을 보았을 때 실제 유저의 관심이 적어진 것이 아닌, 정보를 습득하기 위한 방법으로 레딧이나 다른 채널을 구성한 것으로 보입니다. 관련 검색어로 나타나는 것이 "maxroll"이라는 키워드인데, 이 키워드는 로스트아크의 공략과 각종 정보들을 종합하는 사이트입니다.

maxroll의 로스트아크 메인 페이지입니다.

'lost ark'키워드에 비해 2%정도의 검색량을 보유하고 있지만, 공략사이트라는 특성상 해당 키워드의 추세를 분석한다면 아주 active한 유저들의 관심도 추세를 바로 볼 수 있을 것으로 기대가 됩니다.

 

'maxroll'에 대한 구글 트렌드

 

3.10 아르고스 업데이트와 5.19 발탄 업데이트에 대한 내용을 두드러지게 찾을 수 없습니다. 관련 공략 내용은 영상매체를 통해(유튜브) 또는 다른 채널을 통해 유저들이 정보를 습득한다고 보는 것이 타당할 것 같습니다. 실제 maxroll 내부 문서 내용도 유튜브 영상으로 이루어진 것을 확인할 수 있습니다.

반면 도드라지는 상승은 4.20을 기점으로 일어났습니다. 이 경우, 창술사와 베른 남부 업데이트로 인해 관련 정보 수요가 늘어났기 때문이라고 볼 수 있을 것 같습니다. 이를 바탕으로 maxroll 사이트의 주요 사용 이유는 모험의 서, 모코코, 퀘스트 등 정적인 정보를 습득하기 위함임을 알 수 있겠습니다.

 

maxroll을 이용하는 이용자층은 active user로 분류할 수 있을 것 같습니다. 따라서 창술사 업데이트(4.20) 당시 maxroll을 이용하는 active 유저는 고점대비 50%라고 볼 수 있겠습니다. 이는 정보 사이트를 보며 각종 모험의서 등을 채우는 아주 액티브한 유저이기 때문에, 일반 유저의 잔존률은 50%에서 20%를 감소시킨 40%가 실제 적용 가능한 잔존률이라고 예상해보겠습니다.

 

그리고 검색량을 나타내는 해당 그래프가 동접자 수와 직접적으로 연관 가능한지에 대해, 직관적으로 판단할수 있다고 생각하기에 별도 설명 없이 넘어가겠습니다.

 

 

이제 상대값을 찾았으니 절대값을 찾아보겠습니다.

알려진 로스트아크의 글로벌 서버 최대 동접자 수는 132만명입니다. 위의 결과로 추산되는 4.20 당시의 active 유저는 52.8만명으로 예상됩니다.

steamdb.info 사이트에 기록된 바에 의하면, 4.28에 기록된 동접자 수는 63.7만명이었습니다. 상승세를 고려해 4.20의 동접자 수를 이전 구간과의 중간값인 60만명으로 보겠습니다.

 

잔존률 50%로 예상한 것에 대해 완벽히 일치하는 것을 볼 수 있고, 20% 감소시킨 잔존률 40%에 대해 7.2만명정도의 차이가 발생함을 볼 수 있습니다. 이 두 결과는 추산한 수치와 실제 기록된 값이 어느정도 일치함을 보여주는 결과입니다.

 

 

얻은 정보: 이벤트*에 대한 분석이 타당하다면 구글 트렌드*가 실제 유저층을 추론할 수 있는 자료로 사용될 수 있음

 

 

 

이제 본 주제로 돌아와서, 봇 문제가 심각하다는 이유로 제시된 그래프가 있습니다.

5.31 14:00 UTC부터 6.7 14:00 UTC까지 기록된 로스트아크 동접자 수.

근 1주일간 동접자 피크는 82.3만명이었습니다. 급격히 하강한 부분은 점검일입니다.

해당 그래프를 보면 동접자 수가 큰 폭으로 움직이지 않고 꾸준히 상승하는 모습을 볼 수 있습니다.

 

반면 다음은 카운터 스트라이크: 글로벌 오펜시브의 그래프입니다.

5.31 14:00 UTC부터 6.7 14:00 UTC까지 기록된 CS:GO 동접자 수.

앞서 본 그래프와 달리 일정한 범위 내에서 크게 움직이는 것을 관찰할 수 있습니다. 다른 유명 게임들도 이와 비슷한 양상을 띄고 움직이고 있습니다.

 

이를 바탕으로 "로아에 작업장 봇들이 엄청나게 많다"는 유추를 한 글을 보았습니다. 그리고 이에 앞선 동일한 내용으로 한 달 전 업로드된 유튜브 영상도 있습니다. 그렇다면 이게 타당한 추론일지 확인해보겠습니다.

 

 

일단 두 그래프 모두 0에서 출발하는 스케일이니 큰 문제는 없어 보입니다.

 

로스트아크의 경우 상승하는 정현파의 형태를 띕니다. 그런데 CS:GO의 그래프에선 독특한 모양이 관찰됩니다.각 그래프마다 양쪽에 어깨가 관찰되는데 이건 무엇을 의미할까요?

 

CS:GO의 데이터 중 하나. 예쁜 선들을 추가하였다

제 눈엔 이러한 그래프 들이 더해진 모양으로 보입니다.이건 과연 무엇을 의미할까요? 이것을 알아보기 위해 먼저 가장 적게 플레이되는 시간을 생각해보겠습니다.

 

매일 UTC 0:00를 기준으로 가장 적은 플레이어층이 관찰됩니다. 이건 무슨 의미일까요? 단순히 밤 12시이기때문에 가장 적은 유저들이 플레이하는걸까요?  여기서 생각을 넓혀 CS:GO가 글로벌한 게임임을 고려한다면 많은 것들을 생각할 수 있습니다. 그 말은, 한국에서 제가 자느라 CS:GO를 플레이하지 않더라도, 저 멀리 터키에선 이제 피크타임이라는 말이 되겠습니다. 그럼 지역별로 어떻게 계산을 해야 할까요? 제가 두 자료를 가지고 왔습니다.

 

CS:GO 전적분석 사이트 Leetify의 국가별 이용자 통계. 이미지 클릭시 출처로 이동
나스미디어의 2022 NPR 요약보고서 중 PC 게임 주 이용시간대 분석 그래프 9시가 피크 시간대이다. 이미지 클릭시 출처로 이동

위 두 자료를 가지고 분석을 진행해보겠습니다. 해외 여가 생활 자료에 의하면 6시가 피크가 되겠으나, 그대로 적용하겠습니다.

 

 

먼저, 위 그래프를 계산 가능한 형태로 근사해보겠습니다.

NPR 보고서의 내용 중 PC 게임 일일 사용량에 대한 근사

이러한 식을 사용하였습니다.

=(NORM.DIST((A4),$E$4,$E$5,FALSE)*3.3+NORM.DIST((A4),$E$4-9,$E$5,FALSE)*0.6+NORM.DIST((A4),$E$4-5,$E$5,FALSE)*0.6)+(NORM.DIST((A4-24),$E$4,$E$5,FALSE)*3+NORM.DIST((A4-24),$E$4-9,$E$5,FALSE)*0.6+NORM.DIST((A4-24),$E$4-5,$E$5,FALSE)*0.6)+(NORM.DIST((A4+24),$E$4,$E$5,FALSE)*3+NORM.DIST((A4+24),$E$4-9,$E$5,FALSE)*0.6+NORM.DIST((A4+24),$E$4-5,$E$5,FALSE)*0.6)+B4

빨갛게 표시한 부분이 하루치를 나타내는 것으로 앞뒤를 표현하기 위해 총 3일차의 분량을 연산합니다.

 

 

그리고 국가별 사용자를 시간대별 사용자로 정리합니다.

미국, 러시아의 경우 UTC가 여러 시간대에 걸쳐 있으므로 인구 분포를 확인하여 각각 UTC를 적용해주어야 합니다.

 

미국은 이 자료를 이용하였습니다. 클릭시 출처로 이동합니다.

 

러시아의 인구 밀도 지도. 지역 구분 없이 모스크바로 한정하였습니다. 클릭시 출처로 이동합니다.
국가별 비유. 그래프의 추세만 볼것이기 때문에 값의 비율들만 지켜지면 된다.

 

UTC를 시간 변수에 추가로 넣고

=(NORM.DIST(($A4+M$2),$E$4,$E$5,FALSE)*3.3+NORM.DIST(($A4+M$2),$E$4-9,$E$5,FALSE)*0.6+NORM.DIST(($A4+M$2),$E$4-5,$E$5,FALSE)*0.6)+(NORM.DIST(($A4-24+M$2),$E$4,$E$5,FALSE)*3+NORM.DIST(($A4-24+M$2),$E$4-9,$E$5,FALSE)*0.6+NORM.DIST(($A4-24+M$2),$E$4-5,$E$5,FALSE)*0.6)+(NORM.DIST(($A4+24+M$2),$E$4,$E$5,FALSE)*3+NORM.DIST(($A4+24+M$2),$E$4-9,$E$5,FALSE)*0.6+NORM.DIST(($A4+24+M$2),$E$4-5,$E$5,FALSE)*0.6)+$B4

이런 식을 엄청나게 돌려주면?

 

 

 

07시부터 31시까지 보면 된다. 우측 어깨를 제외하곤 잘 표현되었다.

어깨는 실제 그래프보다 많이 내려왔지만, 대충 근사한 것 치고는 꽤나 정확한 분석이 나온 것 같습니다. 그러나 이 모델에선 19시가 피크 시간대라고 하는데, 실제론 14:00 UTC가 피크 시간대라고 합니다. 여러 번 재검토를 해봤는데 실질적인 이유로 꼽을 수 있는건, PC게임 주 이용 시간대의 문제입니다. 외국의 자료를 찾아보면 주 여가 시간대는 18:00 정도로, 한국의 21:00보다 3시간 이릅니다. 두 번째 이유로는 러시아 유저가 통계에 상당수 반영되지 않은 듯 합니다. 러시아 유저가 늘어날수록 피크는 18:00시에 가까워지며 여기에 3시간을 빼주면 실제 피크와 동일한 시간대가 추정됩니다.

오른쪽 어깨의 문제는 미국에서 찾을 수 있습니다. 인구비율로 단순히 나눠주기만 하였는데, 중부,서부 지역의 비율을 미국 동부로 옮긴다면 오른쪽 어깨가 올라오는 것을 확인할 수 있습니다.

 

따라서, 봇이 없는 게임의 경우 위의 추측들로 어느 정도 비슷한 추세를 잡을 수 있음을 알게 되었습니다.

 

 

 

그렇다면 위에서 사용한 통계를 가지고 로스트아크의 접속자 수를 분석해보겠습니다.

 

CS:GO와 달리 '봇이 있을 것이다'라는 명제를 가지고 출발하기 때문에 간단한 추론을 할 수 있습니다. '봇이 있다면 봇을 돌리는 없체는 24시간 계속 돌릴 것이다' 타당하게 들리는 명제인가요? 저는 그렇다고 생각합니다.

 

그렇다면, 방금 보았던 CS:GO 모델에 봇을 살포해보겠습니다.

평균 유저 수 0.007을 일괄적으로 더했습니다.

평균적인 유저 수 만큼 더하자 조금 쪼그라든것처럼 보입니다. 실상은, 최소값은 동일하지만 최대값이 달라 발생하는 스케일의 문제입니다.

기본 CS:GO그래프와 동일한 값에서 최대값을 같게 해 스케일도 위와 같게 바꾼 경우

스케일을 같게 한 경우 완벽히 동일한 그래프가 나타납니다. 따라서 단순 봇의 추가로 인해 두께가 얇아진다는 것은 타당하지 않습니다.

 

하지만 이것만으론 진폭이 작은건 봇이 창궐한다는 증거다! 라는 주장을 무시하기엔 부족하다는 생각이 듭니다. 따라서 로스트아크로 CS:GO와 같은 모델을 구축해보겠습니다.

 

 

로스트아크는 아직 유저 비율, 인원 등이 공개된 자료가 없기 때문에 구글 트렌드에서 정보를 추출해 사용하겠습니다.

이러한 조건으로 CSV 파일을 다운받아 지역별로 분류해보겠습니다. 글로벌 서버 지원 대상이 아닌 국가들을 전부 제외해주겠습니다.

 

 

어깨가.. 있다?

무슨 일에서인지 CS:GO와 동일한 형태의 그래프가 도출되었습니다. 그렇다면 봇 문제가 있는것이 맞는걸까요?

 

 

두 그래프가 동일한 user base를 공유하기 때문에, 동일한 시간축으로 놓고 분석이 가능합니다. 로스트아크 그래프의 피크가 CS:GO와 같게 0.034가 되도록 조정해보겠습니다.

피크를 맞추어도 그래프의 모양은 상당히 동일한 모습을 띕니다. 어라? 그렇다면 봇 문제가 있는것이 확실해보입니다.

 

그러면 어떻게 봇을 살포했을 때 그래프가 상승하는 정현파의 형태를 띌까요? 정답은 대기열 문제가 아닐까 추측해 볼 수 있었습니다.

 

 

대기열이 걸릴 경우, 피크타임 이전의 봇 수와 피크타임 이후의 봇 수가 차이날 수 밖에 없습니다. 피크타임 이후에는 더욱 많은 봇들이 유입될 것이고, 그 봇들은 다음 피크타임 때 상승폭을 둔화시켜 뾰족하지 않은 그래프를 만들게 될 것입니다. 한번 시간에 따라 증가하는 봇을 투입시켜보겠습니다.

 

첫 피크타임 종료부터 투입되는 봇의 그래프입니다.

 

 

이렇게 봇이 투입된 결과는....

이런 세상에

네.. 봇이 맞았습니다. 봇이 투입됨으로 인해 발생하는 것은 단순히 그래프의 진폭이 작아지는 효과가 아니라, 대기열로 인해 봇의 투입이 지연되고, 피크타임이 종료되는 시점부터 봇의 비율이 서서히 늘어난다는 것에 있었습니다. 상승폭은 대기열로 인해 유지되지만, 강하율이 봇으로 인해 억제되는 효과로 인해 뭉툭한 그래프가 만들어지는 것이었습니다. 저는 단순히 피크타임 종료 시 전반적으로 강하되는 부분을더한 것이지만, 부분부분 모든 강하 구간을 뭉툭하게 만들고 상승폭을 더욱 크게 하여(대기열이 일찍 걸리게 만들어) 뭉툭한 그래프를 그려본다면....

 

 

 

실제 그래프와 정말로 유사한... 끔찍한 결과물이 나와버렸습니다.

 

솔직히 이 글을 시작할 때에는 봇 문제가 그리 심각하지 않다고 생각하며 자료를 모았지만, 결과가 이렇게 나오니 정말 당혹스럽기 그지없습니다.

 

아무튼.. 여기서 투입된 봇의 양을 추정해볼 수 있습니다. 두 저점의 차이가 봇의 유입으로 인해 증가한 분량이라고 파악할 수 있는데, 

 

네... 20만입니다.. 제가 뭐 전문가도 아니고 정보 조립해서 끼워맞춰본거라 정확하지는 않겠지만 20만.. 20만...

로스트아크 특성상 숙제를 끝마치면 크게 골드를 벌 수단이 없기 때문에 모험의 서 파밍을 제외하고는 오래 잔류하지 않을 것입니다. 따라서 동접이 20만인거지 실제로는 몇배는 더 많은 봇 계정들이 존재할 것입니다. 점검 직후부터 유입되는 봇은 얼마나 많을지 상상도 가지 않습니다..

 

제가 계산한게 너무 믿기지가 않아서 주변 지인들에게 도움을 좀 구해볼까 합니다. 이 글을 읽어주시는 분 또한 오류라고 생각되는 부분이 있으면 아낌없는 조언 부탁드리겠습니다.

'재미있는 이야기' 카테고리의 다른 글

Float 자료형에 대한 이해 (Floating Point Converter)  (0) 2023.03.30
데이터 자료형  (0) 2023.03.30
아스키 코드표  (0) 2023.03.30