한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

게임 렉 백서 › 일부에게만 생기는 문제

특정 통신사 사용자에게 몰리는 검증 오탐 Anti-cheat / movement validation false positives on bad ISPs

원인 ID pt-isp-validation · 주 담당 게임개발팀·서버 개발 · 함께 인프라팀·네트워크 인프라

그림과 실험이 있는 원본 카드로 열기 →

지터가 큰 회선을 쓰는 사람들은 입력이 몰려 도착해서 서버의 속도·쿨타임 검사에 자주 걸립니다.

왜 특정 통신사·지역 회선의 지터가 저녁에 커짐 → 그러면 몰려 도착한 정상 입력을 서버가 과속·쿨타임 위반으로 판단 → 화면에서는 그 통신사 사용자만 고무줄, 스킬 거절, 심하면 서버가 내보내 접속 끊김

증상
고무줄, 씹힘·롤백, 접속 끊김
요인
지터
누가 겪나
특정 지역·통신사, 나만
언제
저녁 피크 시간, 이동 중·지역 전환 때
담당
주 담당 게임개발팀·서버 개발 · 함께 인프라팀·네트워크 인프라
게임개발팀 할 일
검사는 몇 초에 걸친 누적 허용량으로, 회선 상태(핑·지터)를 참고해 기준 완화, 강제 종료 전 경고 단계, 플레이어별 입력 버퍼로 몰려 온 입력을 틱마다 고르게 나눠 오탐 자체를 줄이기.
인프라팀 할 일
통신사별 손실률·지터 분포를 시간대별로 확인해 게임팀에 공유, 해당 통신사 구간의 경로 점검(양방향 mtr), 필요하면 경로 변경·통신사 에스컬레이션.
그래프에서는
특정 시간대에만 높음 · 통신사(ASN)별 검증 거절·강제 종료 수, 통신사별 지터
확인할 곳
서버의 검증 거절·보정·강제 종료 로그에 접속 IP의 통신사(ASN)와 시각을 붙여 통신사·시간대별로 셈. 인프라팀은 같은 시간에 그 통신사 쪽으로 양방향 mtr을 돌려 지터·손실을 봄
이러면 맞음
거절·강제 종료가 특정 통신사에 몰리고 저녁에 늘며 같은 시간 그 통신사의 지터가 함께 높고 몇 초 단위로 합친 이동량은 규칙 안에 있음
이러면 아님
통신사와 상관없이 특정 계정만 반복되면 실제 치트 가능성. 모든 통신사에서 함께 늘면 서버 틱이 밀려 명령이 몰려 적용되는 서버 쪽 원인(틱 예산 초과)
확인 수단
게임 서버·클라이언트의 로그·지표가 필요

출처

  1. Source SDK 2013: player.cpp Valve
    틱마다 쌓이는 명령 예산으로 과속을 막되, 더 엄격한 제한은 정상 유저에게도 뚝뚝 끊김을 만든다는 개발 주석
  2. RFC 2697: A Single Rate Three Color Marker IETF
    토큰 버킷: 평균 속도와 허용 버스트 크기로 판정
  3. Understanding Networked Movement in the Character Movement Component for Unreal Engine Epic Games
    클라이언트·서버 타임스탬프 차이가 크면 이동을 버리거나 시간 차이 해소 절차로 처리, 서버 시각으로 계산해 속도 핵 방지

함께 보면 좋은 원인

같은 층: 일부에게만 생기는 문제

같은 증상(고무줄)의 다른 층 원인

그림과 실험이 있는 원본 카드 보기