개요
8월 말, 라이브 서비스에 문제가 발생하여 며칠 동안 다수의 플레이어께 영향을 미쳤습니다. 이로 인해 일부 플레이어는 로그인 접근이 불안정해지고, 진행 상황이 손실된 것처럼 보이며, 일일퀘스트를 완료할 수 없는 문제가 발생하였습니다.
이러한 경험은 여러분께 제공하고 싶은 것과 전혀 다릅니다. 소프트웨어 개발 과정에서 불가피하게 오류가 발생할 수 있지만, 문제가 발생하는 경우에는 개발, QA, 업데이트 배포 과정에서 그 영향을 최소화하기 위해 노력하고 있습니다.
이 문제가 해결된 후 몇 주간, Sky팀에서는 문제의 원인을 파악하고 이를 예방하기 위한 구체적인 조치를 논의했습니다. 이 글은 그 내부 논의 내용을 요약한 것입니다.
사건 요약
라이브 서비스에서 발생한 문제를 간단히 요약하자면 다음과 같습니다:
태평양 표준시 기준 8월 26일 자정 직후, 커뮤니티 팀에서는 플레이어들이 게임에 로그인 할 수 없고, 일부 Android 플레이어는 신규 플레이어가 되어 게임이 시작된다는 제보 내용을 인지했습니다. 0시 10분, 백엔드 팀에서는 클라우드 서비스에서 이러한 비정상적인 동작을 확인했습니다.
이후 로그인 문제와 진행 상태 문제를 해결하기 위해 데이터 베이스 설정을 조정했습니다. 한 시간 안에 플레이어들이 로그인이 가능해졌다는 보고가 들어왔으나, 여전히 많은 플레이어의 계정이 신규 계정 상태로 보이는 문제가 발생했습니다. 또한 일일퀘스트를 완료할 수 없다는 보고도 추가로 접수되었습니다.
이로 인해 해결해야 할 세 가지 주요 문제가 있었습니다:
- 불안정한 로그인
- 진행 상태가 손실된 것처럼 보이는 현상
- 일일퀘스트 완료 불가
조사 및 해결
로그인 및 진행 상태 문제:
클라우드 플랫폼 팀은 로그인 과정에 필수적인 두 서비스가 타임아웃되고 있다는 것을 여러 모니터링 도구를 통해 발견했습니다. 즉, 한 서비스가 다른 서비스로부터 데이터를 요청할 때, 두 번째 서비스가 특정 시간 안에 응답하지 않을 경우 첫 번째 서비스는 연결을 종료하고 응답이 너무 오래 걸렸다는 사실을 보고합니다.
그 결과, 일부 플레이어는 Sky에 로그인할 수 없었고 로그인에 성공하더라도 계정 진행 데이터에 정상적으로 접근할 수 없었습니다.
해당 문제를 해결하기 위한 방법은 다른 백엔드 서비스에 영향을 미치지 않도록 호환 가능해야 했으며, 추가적인 영향을 방지하기 위해 신속하고 신중한 테스트가 필요했습니다.
엔지니어링 팀에서는 이러한 조건을 반영하여 해결책을 마련하고, 클라우드 플랫폼 팀과 협력하여 진행 데이터 문제와 데이터베이스 문제 모두에 대한 수정안을 개발, 테스트 및 검토했습니다.
일일 퀘스트 완료 문제:
일일퀘스트 문제를 조사하던 중 잘못된 퀘스트 시스템이 사용되고 있었음을 발견했습니다.
여러분께서도 알고 계시듯이, 현재 Sky의 퀘스트 시스템을 대대적으로 개편 중이며 이를 위해 신규 퀘스트 시스템을 개발하고 있습니다. 이 시스템은 내부적으로 테스트 중이며, QA 팀에서 내부적으로 필수 테스트를 수행할 수 있도록 라이브 게임에 임시적인 설정으로 안전하게 활성화됩니다. 테스트가 완료되면 해당 설정이 제거되고 신규 퀘스트 시스템은 완전히 비활성화됩니다.
그러나 조사 과정에서 신규 퀘스트 시스템이 0.26.5 업데이트와 함께 실수로 게임의 라이브 환경에 적용된 사실이 파악되었습니다. 그 결과, 신규 시스템과 기존 시스템이 모두 활성화되었고 기존 시스템은 새로운 일일퀘스트를 처리할 수 없게 되었습니다. 즉, 플레이어가 신규 퀘스트를 완료하려고 할 때마다 기존 시스템에서 오류가 나는 현상이 발생했습니다.
이 상황에서 Sky가 실행되는 기기와 플랫폼의 특정 상호작용 방식을 고려할 때, 신규 퀘스트 시스템을 비활성화하면 더 많은 문제가 발생할 가능성이 높았습니다. 따라서 신규 퀘스트 시스템의 문제를 해결하는 방안을 테스트하고 적용했으며, 기존 퀘스트 시스템을 비활성화했습니다.
모든 문제에 대한 조치는 8월 29일 00시 15분에 완료되었습니다. 커뮤니티로부터 첫 번째 문제가 보고된 지 72시간 만이었습니다.
결과적으로, 로그인 문제는 약 1시간 동안 지속되었고, 진행 상태 타임아웃 현상은 37시간, 일일 퀘스트 완료 오류는 72시간 동안 지속되었습니다.
향후 계획
이와 같은 문제가 다시 발생하지 않도록 하기 위해 다음과 같은 조치를 시행할 예정입니다.
- 라이브 버전 배포 준비 체크리스트 업데이트: 새로운 체크리스트는 Sky와 같은 라이브 서비스 게임에 필요한 부분을 더 잘 반영하도록 개선되며, 새 기능에 대한 명확성 및 추가 점검 항목을 더욱 강조합니다.
- 신규 기능 승인 프로세스 강화: 신규 기능 개발 시 라이브 서비스에 영향을 미칠 경우 대비한 더욱 견고한 롤백 계획을 포함할 예정입니다. 팀 간 추가 검증 단계를 통해 기능 준비 및 품질 기준을 보다 엄격히 검토할 예정입니다.
성공을 축하하는 것은 쉽지만, 실수로부터 배우는 것은 것은 훨씬 어렵고 중요한 일입니다. 이 글의 목적은 해당 문제로 인해 플레이어 여러분이 느끼셨을 우려를 해소하고 감사를 표하는데 있습니다. 문제를 해결하는 동안 보여주신 인내와 피드백에 감사드립니다.
이러한 진행상황을 공유함으로써 플레이어 여러분께 Sky에서의 시간이 더욱 긍정적인 경험이 될 수 있도록 스튜디오의 의지를 보여드리고, 게임플레이 경험의 품질을 개선하기 위해 어떤 조치를 취할 예정인지 전달드리고 싶었습니다.
언제나 그렇듯이 여러분의 피드백을 기대합니다. 공식 디스코드 서버(https://discord.gg/thatskygame)에서 소중한 여러분의 의견을 나누어 주세요.