패스잇
게임 · 심화

서버 권위 구조로 만든 대전 게임에서 '특정 유저가 비정상적으로 빠르게 이동한다'는 제보가 들어왔습니다. 스피드핵 여부를 어떤 순서로 검증하고, 서버에 어떤 방어를 넣으시겠어요? 검증에 드는 비용도 함께 고려해 말씀해 주세요.

힌트 · 클라이언트 입력·위치를 신뢰하지 않는 검증(속도 상한, 서버 시계 기준 경과 시간)과, 로그·통계 기반 탐지, 그리고 전수 검증 대신 샘플링으로 비용을 조절하는 판단을 함께 말하면 좋습니다.

서버 권위이동 속도 검증서버 시계/타임스탬프위치 보정(클램프)통계 기반 탐지

모범답안

먼저 서버가 실제로 이동을 검증하고 있는지부터 확인합니다. 서버 권위라면 클라이언트가 보낸 위치를 그대로 반영하지 않고, 서버 시계 기준 경과 시간에 최대 이동 속도를 곱한 허용치와 비교해 초과분을 잘라내야 합니다. 진단은 로그로 합니다. 계정별 단위 시간당 이동 거리, 전송 입력 틱 수 분포를 뽑아 지연이나 패킷 몰림으로 생기는 정상 편차와 구분하고, 누적 초과량이 계속 한쪽으로 쌓이는 계정을 플래그합니다. 다만 매 틱 전체 경로를 재시뮬레이션하는 검증은 CPU 비용이 크므로, 가벼운 속도 상한 검증은 상시로 두고 충돌·경로 재검증은 의심 계정이나 샘플링으로 제한해 비용을 조절하겠습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 게임 개발 면접 질문

← 게임 개발 면접 질문 전체 보기