<디아블로 2: 레저렉션>의 서버 문제를 두고 유저 사이에 터져 나오는 불만이다. 오리지널 <디아블로 2>가 출시됐을 때 겪었던 접속 장애가 또다시 발생하고 있어 원성이 자자한 상태다.
유저들의 불만에 <디아블로 2: 레저렉션> 개발진이 직접 해명에 나섰다. 개발진은 블리자드 공식 영문 홈페이지 내 포럼에 장문의 서신을 통해 현재 상황과 앞으로의 계획을 전했다. 이들은 “현재 여러 가지 서버 이슈를 경험하고 있다. 그 원인과 현재까지의 대응 방침에 대해 몇 가지 투명하게 밝히고 싶다. 그리고 앞으로 나아갈 방향에 대해서도 다소의 정보를 드리고 싶다”며 서문을 열었다.
현재 <디아블로 2: 레저렉션> 서버에는 단일한 문제가 아닌 여러 이슈가 얽혀 있다는 것이 서신의 골자다. 블리자드는 10월 9일(이하 현지시간)부터 현재까지 발생해 온 수 차례의 서버 다운에 대해 먼저 설명했다.
첫 번째로 언급된 원인은 역시 예상을 벗어난 수준의 트래픽 집중이다. 9일 아침, 현지 기준으로 주말이 찾아오면서 게임 론칭 당시를 상회하는 트래픽이 몰려 최초의 서버 다운타임이 발생했다. 이에 제작진은 전날 배포했던 업데이트가 서버 부하를 가중한다고 판단해 롤백했다. 이로써 일시적으로 문제가 해결되는 듯했지만, 다음날 더 많은 트래픽으로 인해 다시 서버가 다운됐다.
이후로 픽스와 코드 개선을 통해 이슈에 대응해 서버 부하를 감소시켰다. 그러나 화요일 다시 한번 동시접속자 수가 최고 기록을 경신하면서 퍼포먼스 문제가 재발했고, 블리자드 내 다른 팀 엔지니어 및 외부 파트너의 도움을 받아 가며 현재 해결 중이다.
서버 이슈의 원인은 게임의 근본적 구조와도 연관돼있다. <디아블로 2: 레저렉션>은 원작의 게임성을 최대한 계승하기 위해 레거시 코드 중 상당 부분을 약간의 업그레이드를 거쳐 사용하고 있다.
그 결과 레거시 서비스 하나가 ▲게임 생성/참가 ▲게임 리스트 업데이트/읽기/필터링 ▲게임 서버 상태 확인 ▲데이터베이스에서 캐릭터 정보 읽어 들이기 등 게임의 핵심적인 기능을 총괄하면서 이슈가 집중됐다. 현대 기술에 맞춰 서비스의 최적화를 거치기는 했으나 게이머들의 ‘새로운 플레이 양상’을 감당하기에는 역부족이었다.
여기서 ‘새로운 플레이 양상’이란 인터넷에서 풍부한 게임 정보를 습득해 처음부터 최대한 효율적으로 캐릭터를 육성하는 트렌드를 말한다. 이를테면 경험치 획득을 위한 ‘바알 런’ 등이 여기 속한다. 이런 ‘공략법’은 대부분 게임 생성/불러오기/파기 등 데이터베이스에 부하를 거는 일련의 행동을 빨리 반복하기에 서버 장애로 이어졌다는 것.
위와 같은 행동 패턴을 방지하기 위해 블리자드는 현재 게임을 반복 생성하는 유저에게 에러 메시지를 송출해 막고 있다. 물론 이는 데이터베이스를 부하를 줄이기 위한 임시방편이며, 장기적 해결책은 아니라고 블리자드는 전했다.
또한, 점진적 문제 해결을 위해 ‘접속 대기열’을 도입할 예정이다. 지난 며칠과 같이 많은 유저가 한 번에 게임에 접속할 경우 현재 동시다발적으로 발생하고 있는 이슈들을 하나씩 진단하고 해결하는데 어려움이 따른다는 설명이다.
향후 문제를 하나씩 해결할 때마다 동시 접속 가능한 인원을 늘려나갈 계획이다. 현재 백엔드 상으로는 이미 대기열이 부분적으로 구현된 상태다. 접속자 상한에 들지 못한 유저의 클라이언트에서는 접속 실패로 표시되고 있다. 이후 정식 대기열 시스템을 PC에 먼저 구현한 뒤 콘솔에도 도입한다.
마지막으로 앞서 언급된 게임리스트, 게임 생성 등 핵심 기능을 여러 개의 서비스로 나눠서 제공할 계획이다. 일부 작업은 이미 완료됐다. ‘분할’이 완전히 이뤄지고 난 다음에는 데이터베이스 부하를 감소시킬 수 있을 것으로 보인다.
마지막으로 블리자드는 게임을 향한 제작진 자체의 애정을 강조하며 글을 마쳤다. 이들은 “<디아블로 2 레저렉션> 팀뿐만 아니라 블리자드 전사적으로 이슈 진단과 수정에 실시간으로 임하고 있다. 우리 모두 2000년대에 원작을 플레이한 팬이며, <디아블로 2: 레저렉션>은 우리에게 큰 의미가 있다. 유저분들이 느끼기에 게임 경험이 개선될 때까지 노력할 것을 약속드린다”고 전했다.