로컬/서버 시간 검증을 안 할 수 없나요?

  • 프로젝트명 : SunlessCity
  • 뒤끝SDK 버전 : 5.4.4
  • 에러 코드 : 401

최근 인도네시아 시장에 게임을 출시하였습니다.
제법 많은 수의 사람들이 (CustomLogin 접속자입니다.)

statusCode : 401
errorCode : BadUnauthorizedException
messgae : bad client_date 잘못된 client_date 입니다

오류로 접속을 못 하고 있다고 합니다.
현지에 무슨 사정이 있는지는 모르겠지만 폰 로컬 시간을 변경하고 사는 것 같은데요.

자체 테스트 결과
미래로 시간을 앞당기는 것은 아무 상관 없지만
과거로 10분까지는 접속이 되는 것 같습니다.

게임 로직은 서버 시간을 받고 그걸 기준으로 동작하게 만들었기에
자체적으로 시간 조작 문제는 없을 듯 한데 뒤끝에서 로그인을 시켜주지 않는 상황입니다.
로컬 시간과 뒤끝 UTC 시간을 아예 비교하지 않고 접속을 허용할 수는 없나요?

안녕하세요 개발자님,
안타깝게도 로컬/서버 시간 검증은 뒤끝 정책상 필수로 진행되도록 되어있습니다.
서버와 클라이언트의 시간이 UTC+9(한국시간) 기준 10분 이상 차이가 나는 경우 해당 에러가 발생하는 점 참고하여 이용해 주세요.
도움 드리지 못해 죄송합니다.

추가적인 확인을 통해 안드로이드의 시스템 언어 로컬을 인도네시아어로 설정하면 이 문제가 발생하는 것을 확인하였습니다.

테스트 기기가 타임존 설정이 잘 안되어서 시간을 한국 기준으로 받아 오길래 혹시 이 문제인가 싶어서
인도네시아어(UTC+7)가 아닌 중국어(UTC+8)로도 테스트를 해봤더니 또 접속이 됩니다.
카자흐스탄어(UTC+6)로 테스트하니 접속이 됩니다.

한국어를 포함 네 가지 시스템 언어를 테스트할 때, 모두 로컬 시계상으로 한국 시간이었습니다.

말씀해주신 내용 개발부서로 전달하여 확인 후 안내 드리겠습니다.
감사합니다.

확인 시, 인도네시아의 시간 표기 방식으로 인해 발생하는 문제로 확인됩니다.
일반적으로 시간 표기를 시간과 분 사이 ‘:’ 를 사용하는데 반해
인도네시아의 경우 '.'을 사용해 12시 30분을 예로 들면 12:30이 아니라 12.30으로 표기하고 있습니다.

이를 해결할 수 있는 방안을 논의중에 있으며 확인 후 다시금 안내드리겠습니다.

void Awake() 
{
System.Globalization.CultureInfo.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
} 

프로그램 시작 시 위 코드를 넣어 문화권은 고정 문화권으로 변경해주시면 감사하겠습니다.
만약 게임 내에서 문화권을 사용하는 기능이 있다면 제대로 실행이 되는지 확인 부탁드리겠습니다.
이후 해당 이슈는 SDK 오류 픽스를 통해 수정될 예정이며 해당 코드 없이도 모든 문화권에서 함수가 원할히 실행될 수 있도록 하겠습니다.
이용에 불편을 드려 죄송합니다.

이 문제 해결 됐나요?

안녕하세요 개발자님,
지난 10월 24일 업데이트를 통해 픽스 되었습니다.
SDK 5.5.2 버전부터 픽스 내용을 적용받아 이용할 수 있습니다.

[Fixed]

  • 시간 표기가 다른 국가에서 함수 호출 시 bad client_date 에러가 발생하던 문제를 수정하였습니다.