가방 순서 변경 기능 오류로 발생한 상황에 대하여
안녕하세요 밀레시안 여러분,
마비노기 디렉터 민경훈 입니다.
먼저, 7/29(목) 정기 점검 이후 발생한 오류와 긴급 점검, 복구, 회수 상황들로 인해
밀레시안 여러분께 불편을 드리게 되어 진심으로 죄송하다는 말씀을 드립니다.
공지를 빌어, 이번 문제가 발생한 배경과 개발팀에서 고민하고 진행한 내용들에 대하여 상세히 설명해 드리고자 합니다.
1. 문제 발생 원인
가방의 아이템 습득 순서 기능을 제작하면서 가방에 할당된 포켓 넘버를 변경하는 로직에 오류가 있었습니다.
정기 점검 이후 가방 순서를 변경하신 경우, 가방에 악보를 보유하고 계셨다면 해당 로직이 잘못 작용하면서
악보에 고유하게 존재하는 삭제 로직을 잘못 수행하게 됩니다.
이로 인해 악보가 삭제되거나 이상 동작하는 것과 동시에, 악보가 들어있던 가방 안의 전체 아이템을 함께 삭제하는 상황이 발생하게 되었습니다.
해당 기능이 긴급 점검을 통해 제거된 이후에도 발생한 것은,
위에 설명해 드린 잘못된 로직이 수행되고 아이템이 삭제되고 난 후엔 이미 포켓 넘버가 비정상적으로 할당되어 있는 상태였고,
첫 번째 긴급 점검 당시에 이를 미처 파악하지 못하였습니다.
면밀하지 못했던 탓에 밀레시안 여러분들께 불편을 끼쳐드린 점, 다시 한번 사과의 말씀을 드립니다.
2. 공개 테스트 서버를 사용하지 않은 이유
인벤토리의 로직은 마비노기의 기본 구성 중 하나이며, 코어 단의 레거시 코드들이 복잡하게 얽혀 있습니다.
관련 부분을 직접 수정했다면 당연히 공개 테스트 서버를 통해 밀레시안 여러분들께 미리 선보여드리고,
데이터를 수집해가며 안전성을 추가로 확보할 수 있었을 것 같습니다.
하지만 해당 기능은 코어단의 코드를 수정하는 케이스가 아니어서 다른 일반적인 편의성 개선들과 동일한 선상으로 취급하였습니다.
결국 예상하기 어려웠던, 악보의 로직과 충돌하는 현상이 발생하여 밀레시안 여러분들께 불편을 드렸습니다.
신중한 접근이 필요한 부분이 있다면 작은 변경점이라도 테스트 서버를 좀 더 활용하도록 노력하겠습니다.
3. 서버 롤백을 선택하지 않은 이유
밀레시안 여러분들께 치명적인 이슈가 지속되거나 서비스에 막대한 영향을 끼칠 만한 엄중한 사안이라면
최대한 빠른 타이밍에 서버 롤백을 선택하고 그에 합당한 조치를 취해야 할 것입니다.
다만, 이번 오류는 정식 서버에서 지속하여 발생하는 이슈가 아니고,
데이터를 통해 파악했을 때, 시장 경제나 아이템 시세에 크게 영향을 미칠 만한 수준의 큰 이득을 취하신 케이스는
없는 것으로 확인되었으며, 재차 추적하여 복구 및 회수 진행이 가능한 상황으로 확인하였습니다.
그래서, 밀레시안 여러분들께서 에린에 투자하신 소중한 시간과 경험, 그 안에서 습득하셨을 재화나 아이템들을
없던 일로 되돌려야 할 만큼 엄중한 사안이 아니라고 판단하였습니다.
상세한 상황을 좀 더 빠르게 안내해드렸어야 했는데, 제보되는 내용들에 대한 서버 내 플레이 기록을 확인하는 과정에서
명확한 사실을 파악하는 데에 시간이 걸린 점, 양해를 부탁드립니다.
4. 복구와 회수 현황
게임 내에서 정상 소실되는 아이템들은 별도 기록으로 보관하고 있습니다.
이번 복구는 해당 소실 기록과 악보 삭제 로그, 아이템 습득/파괴 로그 등 관련된 로그들을 매칭 시켜,
복구해야 할 아이템 리스트와 대상을 확보하였고, 해당 데이터를 토대로 7/30(금) 긴급 점검을 통해 복구를 진행하게 되었습니다.
이 과정에서 몇 가지 소모 가능성 있는 케이스가 누락되었고, 정상적으로 사용되었으므로 복구되지 않아야 했던
아이템들과 수표가 일부 잘못 복구된 상황이 발생하게 되었습니다.
해당 복구는 실제로 소실된 아이템에 한하여 동작하므로, 아이템의 복사나 고가의 장비들이 추가로 생성되는 케이스와 무관합니다.
저희 또한 긴급 점검 이후부터 현재까지 지속해서 데이터와 플레이 현황을 조사해본 결과,
걱정하시는 상황은 발생하지 않았음을 확인하였습니다.
약 800만 건에 해당하는 로그 데이터와 그 외 발생 가능한 케이스들을 놓고 반복하여 검증하면서 시간이 걸렸습니다.
기다려 주신 밀레시안 여러분들께 감사의 말씀을 드립니다.
긴급 점검으로 진행된 1차 회수 조치에 대한 자세한 내용은 아래 공지 링크를 참고 부탁드립니다.
[공지] 가방 순서 변경 기능으로 진행된 1차 복구의 8/2(월) 회수 내역 안내
추가 복구 조치도 현재 준비 중이며, 밀레시안 여러분의 피해를 빠르게 최소화 할 수 있도록 최선을 다하겠습니다.
이번 사안은 저희 개발팀에도 뼈아픈 경험이 되었고,
이슈와 해결 경과와 부족했던 점을 아카이빙하고 개발 프로세스 및 코드 검수 과정을 재정비하여 재발 방지에 힘쓰겠습니다.
심려를 끼쳐드려 정말 죄송합니다.
조만간 좀 더 좋은 이야기를 가지고 밀레시안 여러분들을 찾아뵙겠습니다.
감사합니다.
민경훈 드림.
마비노기 공식: 공지사항
- 137
- 138
- 139
- 140
- 141