주간랭킹은 매주월요일마다 초기화가 된다고 적혀있는데요
UTC 시간으로 한국시간으로 월요일 오전9시인건가요
아니면 한국시간으로 일요일 밤12시인건가요
주간랭킹의 정확한 종료시간을 알고 싶습니다
안녕하세요 개발자님
뒤끝에서 제공하는 랭킹의 초기화 시간은 매일 새벽 4시~5시 사이입니다.
일일 랭킹은 매일 새벽 4~5시 사이,
주간 랭킹은 매주 월요일 새벽 4~5시 사이,
월간 랭킹은 매월 1일 새벽 4~5시 사이 초기화가 진행됩니다.
프로젝트명: 성디펜스RPG-무사키우기
SDK버전: 5.5.2
그렇다면
-
주간랭킹의 남은 시간을 표기하려고 한다면 월요일 새벽 4시기준으로 표기 하면 될까요
ex) resetDate = UIUtility.GetDdayFormat(endDate - serverDate + TimeSpan.FromHours(4)); -
또한 유저가 가지고 있는 랭킹 점수를 초기화하려면 주간랭킹 시간을 활용 해야할지 아니면 주간랭킹이 끝날시 구분할 수 있는 방법이 있을까요
-
뒤끝콘솔 - 게임정보관리에서 Rank라는 테이블을 만들어서 랭킹에 사용하는 데이터를 관리중인데요
기간랭킹이 종료가 된 이후에 재접속 해당 데이터가 초기화 되는데 이는 뒤끝에서 처리를 하는건가요
(게임 접속중에는 유저의 랭킹 데이터가 초기화가 되지 않아서 보완 방법을 파악중입니다)
-
주간랭킹은 월요일 새벽 4~5시에 초기화 및 보상 지급이 이루어지며 랭킹 갱신이 불가하므로
남은 시간은 월요일 새벽 4시 기준으로 진행해 주시면 됩니다. -
랭킹 점수의 경우 랭킹 생성당시 컬럼초기화를 선택하셨다면 월요일 4~5시를 기준으로 뒤끝 서버를 통해 자동 초기화가 됩니다.
-
접속을 유지하며 계속 갱신을 시도하는 유저는 말씀하신 것처럼 초기화 이후에, 요청을 하던 값으로 덮어 씌울 수 있습니다.
이 경우 4~5시 초기화 시간대에 갱신 자체가 불가하도록 로직처리를 하는 방법이 가장 편하게 이용하실 수 있는 방법이며, 불가한 경우 해당 시간에 갱신을 시도하면서 아래와 같은 에러가 발생하는 경우 별도의 예외 처리를 해서 진행하는 방법으로 구성해 주시면 됩니다.
UTC+9 04:00 ~ 05:00 사이에 랭킹 갱신을 시도한 경우
statusCode : 428
errorCode : Precondition Required
message : Precondition Required ranking is being counted
답변감사합니다
위 내용에서 추가적인 질문이 있는데요
주간랭킹 생성시 컬럼초기화를 선택시 새벽4~5시에 뒤끝 서버를 통해 유저의 랭킹 점수가 자동 초기화가 된다고 하면
그 시점에 접속중인 유저의 인게임화면에 표기하고 있는 랭킹점수도 초기화 된 값(0)으로 불러오고 바로 표기 할 수 있을까요?
(초기화가된 시점을 서버에서 알려주는 로직이 있는지)
초기화가 이루어진 이후에는 랭킹이 존재하지 않기에,
새벽 5시 이후 랭킹 갱신이 이루어지기 전까지는 랭킹 조회 함수를 이용하는 경우 아래와 같은 에러가 발생하게 됩니다.
statusCode : 404
errorCode : NotFoundException
message : userRank not found, userRank을(를) 찾을 수 없습니다
이를 활용해 게임 운영 방식에 따라 특정 정보를 보여주는 방식으로 구현해주시면 될 것 같습니다.
(단, 위 에러는 초기화가 이루어지는 새벽 4~5시 사이 외에도 랭킹 등록이 이루어지지 않은 유저는 발생할 수 있는 에러인 점을 고려하여 구성해주세요.)