[개발일지] 2020년 안티치트 & 퍼포먼스 개선 방향

안녕하세요, 플레이어 여러분.
PUBG PC 총괄 프로듀서 장태석 입니다.

전 세계가 유례없는 COVID-19의 위협을 받고 있습니다. 부디 플레이어 여러분이 항상 건강하시기를 기원합니다.

PUBG의 글로벌 팀 또한 글로벌 팬데믹의 영향으로부터 자유로울 수는 없지만,
창의적인 컨텐츠 제작과 지속적인 라이브 서비스를 플레이어 여러분께 제공할 수 있도록 노력하겠습니다.

새로운 맵 업데이트에서 신규 컨텐츠 그리고 다양한 편의성 개선 사항들까지 지난해 PUBG는 많은 컨텐츠를 선보였습니다.
이 중에는 플레이어 여러분의 높은 관심을 받은 컨텐츠도 있었고
개발 방향성에 대한 부족한 설명으로 인해 왜 만들었는지 알기 어려운 컨텐츠들도 있었을 것으로 생각됩니다.
또, 오랫동안 지속되어온 일부 버그들의 원인을 파헤치는데 어려움을 겪었고
비인가 프로그램들의 멈추지 않는 공격에도 맞서 싸워야 했습니다.
오늘, 이 부분들에 대하여 이야기를 나누어 보고자 합니다.

작년은 PUBG의 글로벌 팀이 급격하게 성장한 해였으며, 이 과정에서 큰 성장통을 겪기도 했습니다.
하지만 가장 안타까웠던 것은 급격한 성장으로 인해 플레이어 여러분과의 소통이 소홀해졌다는 것입니다.
결과적으로, 자연스레 PUBG가 더 이상 플레이어들과 소통하지 않고
목소리를 더 이상 듣지 않는다는 여론이 형성되었습니다.

PUBG가 성장할 수 있었던 이유는 여러분께서 보여주신 배틀그라운드에 대한 열정과 사랑 덕분이었음을 알고 있기에,
여러분께 저희와의 소통에 대한 어려움을 드렸다는 사실을 가장 죄송스럽게 생각합니다.
지난 3년 동안 여러분의 헌신이 있었기에 배틀그라운드가 있을 수 있었기에,
여러분께서 당면하고 계신 문제들의 해결에 집중하고
앞으로 배틀그라운드가 걸어갈 몇 년 동안 지속적인 게임 개선을 진행할 것을 다시 한 번 약속드립니다.

플레이어 여러분께서 생각하시는 여러 문제들을 다루기 위해 이번 개발일지에서는
불법 프로그램 대응 방안과 성능 및 안전성 개선이라는 두 가지 주제에 대해 우선 공유드리고,
후속 개발일지를 통해 못다룬 추가 내용들에 대해 말씀드리겠습니다.
불법 프로그램 대응 방안의 경우 해커들이 악용할 수 있는 정보를 주지 않으면서
최대한 자세하게 계획을 전달하기 위해 노력하였으며,
성능 및 안정성 개선 내용 전달을 위해 기술 용어가 많이 사용된 점 양해 부탁드립니다.

전체적인 개발일지 내용은 아래를 참고해 주시기 바랍니다.

 

  • 불법 프로그램 대응 방안
    • 선제 대응의 강화
    • 감시/제재의 강화
  • 성능 및 안정성 개선
    • 성능 개선
    • 안정성 개선
    • 네트워크 개선

 

불법 프로그램 대응 방안

PUBG는 지금까지 비인가(핵) 프로그램과의 끝없는 창과 방패의 전쟁을 치르며
비인가 프로그램을 근절시키기 위한 방법을 찾기 위해 줄곧 노력해왔습니다.
지난 한 해 동안에도 비인가 프로그램을 막기 위한 다양한 방법들을 시도했는데요.
비인가 프로그램의 수익성을 해치고 개발하기 더욱 어렵게 하는데 집중해왔습니다.

비인가 프로그램 개발자들은 저희가 두는 수를 매우 유심히 관찰하고 있기에,
어쩔 수 없이 저희는 불법 프로그램에 대한 저희의 대응을 최대한 대외비로 다룰 수 밖에 없었습니다.
이에 대한 부작용으로, 플레이어 여러분께 지금까지 최우선으로 대응했어야 할 비인가 프로그램들에 대한
저희의 대응이 전혀 없었던 것처럼 보여졌을 것으로 생각됩니다.
올해는 비인가 프로그램에 대한 저희의 개선사항을 여러분께서 피부로 체감하실 수 있도록 노력하겠습니다.

선제 대응의 강화

선제 대응은 비인가 프로그램을 이용하기 이전에 프로그램의 구동 자체를 불가능하도록 하는 것을 말합니다.
이는 주로 비인가 프로그램의 개발 자체를 불가능하거나 어렵도록 하여
개발에 들어가는 노력보다 가져갈 수 있는 이익이 적도록 하는 것입니다.
PUBG에서는 주로 다음과 같은 방법으로 선제 대응을 진행하고 있습니다.

  • 2차 보안 인증 시스템 도입
    • 현재도 하루 수십, 수백 건씩 스팀 계정 해킹으로 인해 PUBG 계정이 영구 이용 제한을 받았다는 문의가 접수되고 있습니다.
      비인가 프로그램 판매상들은 주로 고객들의 높은 계정 구매량을 충당하기 위해 해킹 계정들도 함께 거래합니다.
      해킹 피해를 입는 계정의 대부분은 계정 보안을 위한 스팀가드가 등록 되어있지 않았거나
      각종 아이템 등을 미끼로 스팀 계정의 로그인을 요구하는 피싱 사이트로 인해 해킹되는 것으로 보입니다.
    • 이런 문제를 방지하고 계정 보안 수준을 높이기 위해,
      SMS인증 기능 및 1회용 인증 번호를 제공하는 2차 보안 인증 수단을 도입할 예정입니다.
      또, 앞으로 선보일 경쟁전에서는 더욱 공정한 게임플레이 환경을 제공하기 위해
      2차 보안 인증 시스템을 활성화 한 계정을 보유한 플레이어만이 참여할 수 있도록 할 예정입니다.
  • 컨텐츠에서 해킹에 취약한 코드 개선:
    총기/차량/캐릭터 움직임과 관련된 코드에서 해킹에 취약한 코드를 개선할 예정입니다.

    • 총기
      • 총기의 발사각, 반동 및 총탄의 탄도, 탄속 등과 관련한 서버 검증 강화
      • 조준과 관련한 클라이언트 로직의 취약성 분석 및 강화
    • 차량
      • 차량의 속도, 이동 각도, 체공 시간 등과 관련한 서버 검증 강화
      • 발견 후 제재 뿐만 아니라 실시간으로 핵 기능 억제, 세션 추방, 즉시 제재 등도 적용 예정
    • 캐릭터 움직임
      • 캐릭터의 이동 속도, 체공 시간 등과 관련한 서버 검증 강화

감지/제재의 강화

현재까지 비 인가 프로그램이 사용된 수많은 계정들을 영구 이용 제한 시켜 왔으나
기존과 같은 방식으로는 공정한 게임 환경을 유지하는데 한계가 있다는 점을 확인했습니다.
2020년부터는 비인가 프로그램이 사용되는 계정, PC에 대한 감지 및 제재를 강화하여 결과를 보여드릴 수 있도록 하겠습니다.

  • 감지 범위의 확대
    • 비인가 프로그램의 감지 범위를 더욱 확대하고, 우회를 방지하겠습니다.
      저희가 비인가 프로그램을 감지할 있도록 Anti-cheat Solution 들의 기능을 업데이트 한 후
      일정 기간이 지나면 솔루션을 우회하는 기술이 비인가 프로그램에 적용되어
      해당 솔루션의 감지 범위가 낮아지는 현상이 발생되어 주기적인 업데이트를 통해 해당 현상을 완화하고 있었습니다.
    • 또한 커널 영역까지 확장되어 높은 수준에서 제재 기준을 피해가는 비인가 프로그램이 증가하고 있고,
      이런 상황을 근본적으로 보완하기 위해 Anti-Cheat Solution이 보다 높은 권한을 가지고
      시스템의 무결성을 확인하고 비인가 프로그램을 더 잘 감지할 수 있도록, 2020년 6월에 커널 드라이버를 추가 도입할 예정입니다.
  • 분석 자동화
    • 현재 저희가 진행 중인 수동 분석 방법의 아래와 같은 단점을 가지고 있습니다.
      • 비인가 프로그램의 지속적인 업데이트로 인한 반복적인 분석과 대응 작업 필요
      • 일부 프로그램의 경우, 덤프를 생성하면 자동으로 PC를 종료시키거나
        비인가 프로그램 분석에 사용되는 계정의 인증을 초기화 하는 방식으로 분석 방해
    • 자동으로 비인가 프로그램이 구동된 환경과 아닌 환경의 차이를 찾고
      그 특징을 대표할 수 있는 값을 추출하여 차단에 활용할 예정으로, 적용 예상 시점은 2020년 7월을 목표로 진행 중입니다.
  • 하드웨어 밴 강화
    • 하드웨어 밴이 활성화 될 경우, 사용자의 하드웨어 특정 정보들을 기록하여
      신규 계정 또는 해킹된 계정으로 교환할 경우에도 서버 측에서 블랙리스트에 등록된 PC를 식별할 수 있게 됩니다.
      더 많은 하드웨어 정보를 수집할수록 하드웨어 밴의 정확성은 높아지지만
      단순히 몇가지 부품을 교환하는 등의 사소한 하드웨어 정보의 변경만으로도 우회 가능성 높아지게 됩니다.
      또, 핵 개발자들은 하드웨어 정보를 변조할 수 있는 툴이나 이를 탑재한 비인가 프로그램으로 인해
      저희의 노력을 간단히 물거품으로 만들기도 하였습니다.
    • 저희는 기존 하드웨어 밴 시스템의 한계점을 인지하였고, 이를 개선하려고 합니다.
      이용자 레벨과 커널 레벨에서 다수의 하드웨어 정보를 식별 할 수 있는 특수 알고리즘을 사용하여
      비인가 프로그램이 우회를 하더라도 이를 분석하여 신속하게 재차단을 할 수 있도록 하고,
      이를 통해 비인가 프로그램을 사용할 경우 단순히 계정 뿐만 아니라 사용자의 PC도 밴할 수 있도록 개선할 것입니다.
  • 제재 수준의 강화
    • 비인가 프로그램 사용자의 감지는 플레이어 분들의 신고와 각종 게임 정보 및 로그를 기반으로 감지 하고 있습니다.
      이렇게 감지된 이용자중 증거가 확인된 이용자는 즉시 제재를 진행하고
      추가적인 조사가 필요한 이용자는 제재 여부 판단을 위한 24시간의 임시 제한 조치를 한 뒤,
      조사를 진행하여 제재로 전환합니다.
    • 임시 제한 조치 대상자의 상당수는 영구 제재로 전환이 되고 있습니다.
      하지만, 소수는 정확한 증거가 부족하여 다시 게임에 복귀하게 되거나
      다른 일부는 비인가 프로그램 사용과 무관한 이용자로 판단됩니다.
    • 저희는 지금까지 선의의 피해자가 발생하지 않도록 계정 제재에 대하여 조심스럽게 대응해 왔습니다.
      하지만 이런 조심스러운 접근 방식이 오히려 다수 이용자들의 피해를 방치하는 결과를 가져왔다는 판단을 하게 되었습니다.
      때문에 비인가 프로그램 사용 의심자에 대한 조사 방식을 더욱 강화할 예정입니다.
    • 또한, 의심 유저 표적 모니터링 제도를 도입하여 임시 제한 조치를 1회라도 당한 플레이어의 경우,
      지속적으로 관리 대상에 추가하여 기존 조사 방법 외에 게임을 직접 모니터링 하는 등의 방법을 통해 추적하도록 하겠습니다.
    • 임시 제한 조치를 당한 플레이어가 게임에 복귀한 뒤, 다시 비인가프로그램 사용 의심자로 분류될 경우에는
      기존 조사 기간 외에 가중 처리하여 보다 긴 시간의 임시제한 조치(예를 들어 1달)가 자동으로 진행되도록 할 예정이며,
      이와 반대로 무고하다고 판단되는 이용자에 대해서는 빠르게 게임에 복귀 할 수 있도록 조사 과정을 자동화할 예정입니다.
      이런 결과를 누적하여 무고한 이용자에 대해서는 임시 제한 조치를 받더라도
      빠르게 게임에 복귀 할 수 있도록 하는 시스템도 추가하도록 하겠습니다.
      이 내용들이 적용되기 위해서는 기존의 정책 기준을 재수립해야 하는 사항이 있어, 적용 시점은 2020년 6월로 예정하고 있습니다.

 

성능 및 안정성 개선

다음으로는 플레이어 여러분께서 가장 많이 언급하신 주제 중 하나인 게임 클라이언트의 안정성과 성능에 대한 계획을 말씀 드리겠습니다.

지속적으로 발생해온 네트워크, 서버, 그리고 클라이언트 문제들로 인해
안정성과 성능 개선과 관련하여 좋지 않았던 시기인 것을 알고 있습니다.
여러분께 최고의 게임 서비스 품질을 제공하는 것은 항상 최우선 과제 중 하나였습니다.
하지만 특히 최근 수 개월동안 눈에 띄게 증가한 히치(클라이언트 끊김) 현상과 게임 크래시 현상 등
지나치게 오랜 기간 동안 고쳐지지 않았던 일부 문제들로 인하여 저희가 선보이는 개선안들이 빛을 받지 못하였습니다.

최근 저희는 많은 여러분들이 체감할 수 있을 만큼 히치 현상을 개선하는 작업을 진행하였습니다.
또, 지난 업데이트 #5.3을 통해 적용했던 혈흔 효과가 일부 게임 크래시 현상의 원인으로 파악되어 변경을 진행하였습니다.
비록 이런 문제점들의 원인을 파악하고 해결책까지 발견할 수 있었지만,
더 빠른 대응과 애초에 이런 문제점들이 드러나기 이전에 처리를 했어야 한다는 여러분의 목소리에 공감하고 있습니다.
이에 따라, 저희는 여러분께 새로운 패치를 선보이기 이전, 더욱 더 효율적으로 검수를 진행할 수 있도록 개선하려 합니다.

게임 서버 관련 문제점들에 대다수는 수 개월동안 지속되어온 DDoS공격으로 인한 문제입니다.
올해 초, DDoS 공격에 효과적으로 대응하기 위해 자체개발 방어 솔루션을 도입하였습니다.
앞으로 지속적으로 방어 솔루션을 개선하여 DDoS 공격이 진행 중임에도
여러분의 게임 플레이에 영향이 없는 수준까지 도달할 수 있도록 하겠습니다.

성능 개선

  • Streaming/Hitch 최적화
    • 패키지(pak) 파일 최적화를 통해 패키지 내 내용물을 찾는 시간(Seek Time) 개선
      • 패키지 파일: 게임 내에 사용하는 모든 에셋(무기, 차량, 건물, 의상 등)을 압축한 파일을 의미
    • Level Streaming(레벨 스트리밍) 횟수를 줄이고 최적화하여 성능 개선
      • Landscape 병합 → 레벨 스트리밍이 줄어들고 GC(Garbage Collection) 횟수가 줄어듦 → 끊김 현상(hitch) 개선
    • 그래픽 데이터 로딩/언로딩으로 인한 hitch 개선
      • 레벨 스트리밍 방식을 그래픽 데이터가 한 프레임에 로딩하는 방식에서
        프레임 별로 분할 로딩하는 방식으로 변경하여 Hitch 현상 최소화
    • 그 외 끊김 현상 개선 리스트
      • 인벤토리를 열 때
      • 캐릭터 미리 보기를 켰을 때
      • 장비를 장착할 때
      • Kill 등의 상황이 발생할 때
      • 아이템을 던질 때
      • 옵션/미션등의 UI를 열 때
      • 인게임 내에서 사용되는 Font 종류를 간소화하여 최적화 진행
      • 게임 내에서 보여지는 다양한 스킨들을 최적화 – 아이템(무기,캐릭터)
      • 특히, 총기 스킨 중 로딩이 오래 걸리는 스킨에 대해 비동기로 로딩하는 방식으로 hitch 개선
  • GPU 최적화
    • HLOD 확대 활용을 통해 GPU 성능 최적화 및 개선
      • HLOD란 다수의 스태틱 메시 액터를 원거리에서 봤을 때 하나의 스태틱 메시 액터로 합치는 기법입니다.
        이를 통해 씬에 렌더링해야 하는 액터 수를 줄여, 프레임 당 드로콜 수를 낮춰 퍼포먼스를 향상 시키는데 도움이 됩니다.
    • Landscape 구조 개선을 통한 최적화
  • 애니메이션 최적화
    • 캐릭터 밀집 또는 과도한 액션에 따른 과부하 현상에 대하여 게임 플레이 측면의 우선순위를 바탕으로 계산량을 조절하는 최적화
  • 저사양 지원을 위한 개선
    • 여러 PC에서 성능 이슈로 게임이 플레이되지 않는 경우가 있습니다.
      이런 현상을 최소화하기 위해 CPU의 사용량에 따라 자동으로 최적화 정도를 조절하여
      저사양에서도 원활한 성능이 유지될 수 있도록 개선하겠습니다.
      또한, CPU 코어 수가 적은 머신에서 애니메이션 처리 비용을 낮추는 작업을 진행 중입니다.

안정성 개선

현재 로비, 인게임, 로딩 스크린 등에서 간헐적으로 크래시가 발생하고 있으며
이 문제를 해결하기 위하여 내부 검증 프로세스 강화 및 크래시 리포트 등을 적극 활용하여 문제를 해결하고 있습니다.

  • 클라이언트 크래시 현상 해결 및 빠른 대응
    • 클라이언트 크래시는 주로 메모리 부족으로 발생하며 빌드 생성시 마다 체크 프로세스를 진행
      • 지속적으로 메모리 프로파일링을 통해 불필요하게 사용되는 메모리 제거 작업
      • 필요 이상으로 크게 사용되고 있는 아트 리소스 최적화 작업
      • 코드 리팩토링을 통한 전반적인 컨텐츠 로딩 방식 최적화 작업
      • 라이브 프로파일링을 통한 메모리 누수 현상 방지 – 장시간 플레이를 하여도 문제가 발생하지 않도록 관리
  • 빌드 검증 프로세스 강화
  • 수동 검증 방법 강화와 동시에 자동 검증 툴 도입
  • 프로그램 Health 검진을 위한 다양한 검진 시스템 도입
    • 메모리 누수 검진 툴
    • 메모리 사용랑 체크 툴
    • 메모리 손상 감지 툴 – 의도치 않은 메모리 접근으로 인한 크래시 발생 감지
    • Hitch 검진
    • CPU/GPU State 검진
  • AI를 활용한 100인 테스트 환경 구축
    • PUBG는 100명으로 플레이가 진행되어야 정확한 성능 테스트가 가능하나
      성능 측정시마다 100명의 인원으로 테스트하는 것은 현실적으로 어려운 상황입니다.
    • 봇을 이용하여 실제 플레이 환경과 유사하게 대규모 테스트를 진행 중입니다.

네트워크 개선

  • DDoS
    • 많은 온라인 게임의 숙명과도 같이, PUBG도 때때로 DDoS(Distributed Denial-of-Service) 공격을 받아왔습니다.
      게임 서버가 DDoS 공격을 받으면, 해당 서버의 모든 유저는 네트워크 지연, 높은 핑, 패킷 손실 등 연결과 관련된 오류를 겪게 됩니다.
    • DDoS 공격이 작년 11월 부터 크게 증가했고 올 2월에는 매우 심각해졌습니다.
      저희 개발팀은 이를 막기 위해서 외부 솔루션 도입 및 자체 DDos 방어 솔루션도 개발했습니다.
      덕분에 현재는 대부분의 DDoS공격의 방어에 성공한 상황이며,
      DDoS와 관련된 저희의 대응 과정은 별도로 자세히 공유하도록 하겠습니다.
  • Packet Loss
    • 외부 DDoS 방어 솔루션 도입 이후 북미와 유럽 지역에서 이전보다 더 많은 패킷 손실이 발생한다는 광범위한 제보가 있었습니다.
      해당 문제를 어느 정도 완화하는 데 성공하였지만, 아직도 패킷 손실에 대한 제보가 유입되고 있는 상황입니다.
    • 이 현상에 대한 주요 원인을 지목하기에는 너무나 많은 오류들이 존재하기에
      우선 원인 분석과 함께 라우팅 경로 최적화를 통해서 패킷 손실을 더욱 최소화하고
      전반적인 네트워크 환경을 개선할 수 있도록 하겠습니다.

 

마치며

플레이어 여러분과의 소통이 적어질수록, 저희가 여러분께서 당면하고 있는 여러 문제들에 대해
아무런 관심을 가지고 있지 않다고 생각하게 된다는 점, 이해하고 있습니다.
하지만 위에서 언급된 다양한 문제들 뿐만 아니라 여러분과의 소통을 개선할 수 있도록 노력하고 있다는 점을 꼭 말씀드리고 싶습니다.

올 한 해 동안 여러분께 선보일 더 많은 컨텐츠들이 준비되어 있으며, 여러분께서 이 컨텐츠들을 즐기실 때
게임이 언제 또 말썽을 부릴지에 대한 걱정 없이 플레이하실 수 있도록 하는 것이 저희의 목표입니다.

여러분께 최대한 저희의 의도와 앞으로의 계획에 대해 정확히 전달할 수 있도록 심사숙고 하는 과정에서 시간이 필요했기에,
이번 개발일지를 준비하는 데 조금 많은 시간이 걸렸습니다.
그럼에도 불구하고 개발일지 발행까지 오랜 시간을 기다려 주신 여러분께 감사의 말씀을 드립니다.
곧이어, 다음 개발일지를 통해 여러분과 다시 만나 뵐 수 있도록 하겠습니다.

감사합니다.

PUBG 총괄 프로듀서 장태석 올림

 

 

이 기사에 대해 토론
이 기사 공유