[그것을 알려주마1]'백섭에 대한 안좋은 추억이…'
방학이 된 우리 미란이는 늦은 아침 식사 후에 온라인 게임을 즐기고 있었다. 몇 시간 게임을 즐긴 끝에 그 게임에서 나오기 힘든 '와장창 무지 강한 검' 아이템을 얻게 되었다. 이 아이템은 현금 거래도 되고 매우 희귀했기 때문에 미란이는 너무나 기뻐했다. 잠시 후 갑자기 서버가 끊겼다는 메시지가 뜨면서 게임 접속이 끊겼다. 몇 시간이 지난 후 온라인 게임 서비스가 정상으로 돌아오자 미란이는 다시 게임에 접속해 게임을 플레이 했다. 그런데 자기가 획득한 "와장창 무지 강한 검"이 없는 것이 아닌가? 놀란 미란은 게임 홈페이지에 접속해 항의하려고 했다. 이미 게시판은 '백섭'이라며 폭동에 가까운 상태가 벌어지고 있었다. 결국 아이템은 복구 되지 않았고 미란은 '백섭'이 뭔지는 모르지만 무지 나쁜 기억을 가지게 되었다. 오픈 베타테스트 온라인 게임이나 요금이 부과되지 않는 프리 온라인 게임을 즐기다 보면 갑자기 게임 서버가 다운되는 현상이 간혹 일어난다. 게이머들은 서버가 다시 오픈될 때까지 기다렸다가 게임에 다시 접속했을 때 자기 아이템이 없거나 애써 레벨 업 한 자기 캐릭터의 능력치가 몇 시간 혹은 하루나 이틀 전 능력치로 되돌아간 경우를 발견하곤 한다. 이럴 경우 그 온라인 게임의 홈페이지는 아수라장이 된다. 개발사는 사과 공지와 선별적인 구제 혹은 침묵으로 일관하며 사태를 해결하려고 하고 게이머들을 진정시키지만 이런 일은 뫼비우스의 고리처럼 다시 재현된다. '백섭'이란 도대체 무엇이며 왜? 어떤 이유에서 '백섭'이라는 현상이 일어날까? '백섭'이란 말을 짧게 만들기 좋아하는 한국 게이머의 특성에 맞춘 약어다. 정식 용어는 백 서비스(Back Service)로 일정 서비스 시간 이전의 데이터로 되돌아갔다는 의미를 가지고 있다. 간단히 말하면 오늘 정보가 아니라 어제 정보나 한 달 전 게이머의 정보로 돌아간다는 것이다. 온라인 게임 게이머들이 오픈 베타테스트 게임을 즐길 때 빈번하게 나타나는 현상이 바로 '백섭'현상이다 이런 현상이 왜 일어날까? 롤플레잉 온라인게임(MMORPG)나 온라인 게임은 한 명이 즐기는 게임이 아니기 때문에 개인 정보를 서버(Server)에 둔다. 서버란 영어 단어 그대로 서비스를 제공하는 주체이다. 서버는 게이머의 정보를 저장하는 공간과 프로그램을 갖는데 이를 데이터베이스(이하 DB)라고 말한다. 온라인 게임은 인간이 만든 것이기 때문에 버그가 일어난다. 우리가 윈도우를 사용하다보면 인터넷 익스플로어의 다운 현상이나 프로그램의 다운 현상을 자주 살펴볼 수 있다. 아무리 잘 만든 프로그램이라도 비정상적인 실행이나 운영체제(Windows, Linux 등)의 실행 버그나 해킹, 온라인 게임 서버 프로그램의 오류로 인해 온라인 게임 서비스가 중단되는 상황이 발생한다. 이때 게임 서버는 갑자기 다운되는 상황이기에 게임 DB에 정상적인 게이머 정보를 저장하지 못하고 다운된다. 짧게는 몇 초에서 길게는 하루 사이의 게이머 정보가 사라지게 된다. 게이머 정보의 '백섭' 현상이 몇 초의 정보에서 하루 이틀 사이의 정보가 되는 이유는 게임 서버가 게이머 정보를 언제 저장하느냐에 따라 다르다. 1. 게이머 정보가 변경될 때마다 DB에 저장된다. -> 짧은 시간의 백 서비스 2. 게이머가 로그오프하고 나갔을 때 DB에 저장된다. -> 긴 시간의 백 서비스 3. 일정 시간 DB에 저장된다. -> 시간에 따른 백 서비스 일반적으로 게임 서버가 '안정적이다'라는 것은 게이머가 로그오프 할 때 DB에 저장되는 정보 즉 2번의 긴 시간의 백 서비스 경우에 해당한다. 그러나 베타테스트 상태의 온라인 게임에서 잦은 서비스 패치로 인해 실질적으로 2번을 택하기 힘들다. 따라서 게이머 정보가 변경될 때마다 혹은 일정한 정보를 가졌을 때마다 저장하는 방식이나 일정 시간마다 저장하는 방식을 사용하는 경우가 많다. 또는 위 3가지 방식을 섞어서 사용하기도 한다. 하여튼 현재는 어떤 방식을 사용하던 '백섭' 현상이 발생하고 있다. 백 서비스가 일어나는 원인을 간단하게 정리해보자. 첫째, 온라인 게임 서버 프로그램의 불안정 둘째, OS의 불안정 셋째, 네트워크의 불안정 넷째, 서버 하드웨어의 불안정 다섯째, 해킹과 스피드 핵 여섯째, 이유를 알 수 없음 많은 경우가 바로 게임 서버 프로그램이 불안정하기 때문이다. 많은 게이머가 리얼 타임으로 접속하고 전투하고 퀘스트를 진행한다. 기획은 어찌나 더디고 미완성인지 새로운 기능은 거의 리얼 타임으로 업그레이드된다. 웬만한 금융권 프로그래밍이나 기업 프로그래밍의 경우 완성 후 몇 달 동안 안정화 테스트를 거치고 사용자들이 서비스를 이용한다. 온라인 게임은 게이머의 니드와 완성도를 높이기 위해 수시로 패치가 진행되다 보니 버그나 잠재적인 버그가 속출하게 된다. 이런 버그 중 즉각 반응을 보이지 않고 버그와 또 다른 버그가 만나면 상승 작용을 일으켜 다운되는 현상을 불러온다. 서버 프로그래머로써는 미치는 일인 것이다. 원래 정상적인 개발 플로우라면 클로즈 베타테스트에서 내부자와 전문 디버깅 게이머를 동원해 대부분의 버그를 잡고 안정화를 해야 하는 것이 정상이다. 그러나 한국은 특수성으로 인해 오픈 베타테스트라는 이름으로 고객을 상대로 버그가 잡힐 때까지 테스트된다. 고객이 게임을 무료로 즐기는 대가로 버그 발견을 게이머의 손에 맡긴 것이다. 일부 개발사들은 테스트 서버를 두고 일정 시간 안정화가 확인된 후 패치를 올리는 식으로 안정화를 꾀하기도 하지만 많은 개발사는 베타 게이머를 마루타로 삼고 있는 것이다. OS의 불안정은 정말 끔찍한 상황이다. 운영체제의 버그로 온라인 게임이 죽는 경우를 몇 번 봤는데 이 경우는 개발자가 할 일이 거의 없다. 공개 운영체제인 Linux의 경우 커널 (운영체제의 핵심 구현부)를 볼 수 있다면 수정 가능하지만 윈도우나 상용 OS의 경우 버그 패치가 나올 때까지 땜빵 처방이나 운에 맡길 수밖에 없다.(프로그래머로서는 좌절감이 드는 순간이다) 그러나 요즘 OS의 안전화로 이런 경우는 점점 더 줄어들고 있다. 네트워크의 불안정의 대표적인 예는 모 IDC(온라인 게임 서버가 모여 있는 서비스 센터)의 정전 사태를 들 수 있다. 덕분에 모 IDC에 입주했던 온라인 게임은 돈으로도 환산할 수 없는 엄청난 피해를 입었다. IDC는 지진, 태풍, 정전에 대비해 지어진 인터넷 서비스를 위한 건물이라 이런 사태를 피할 수 있어야 하지만 예외적인 상황으로 재앙에 가까운 사태도 맞을 수 있다. 이런 경우는 길을 가다가 벼락을 맞을 확률에 가깝긴 하지만 아예 없지는 않다. IDC의 하드웨어 장비의 고장으로 서비스가 중지되거나 장비 셋팅의 실수로 네트워크가 느려지는 경우도 밖으로 알려지지 않지만 없지는 않은 '백섭' 원인 중 하나이다. 해킹과 스피드 핵은 정말로 개발자에게 생각조차 하기 싫은 상황 중 하나이다. 최근 자동화된 해킹 툴이 많이 나와서 전문적인 지식 없이 원 클릭만으로 게임 서버를 죽이거나 서비스에 지장을 줄 수 있게 되었다. 해킹 툴을 구하거나 해킹을 하는 방법에 대해서는 워낙 위험하기 때문에 정확하게 기술하지는 않지만 이는 매우 위험한 일이다. 백 서비스는 온라인 게임이 상용화되기 위한 진통이라고 볼 수 있다. 그러나 충분한 개발을 보장한다면 막을 수 있는 백 서비스가 많은 것도 현실이다. 오픈 베타테스트 게이머들도 언젠가는 돈을 내고 게임을 즐길 잠재적인 고객이다. 백 서비스에 대한 온라인 게임의 안정적인 처리가 오픈 베타테스트 게이머들을 위한 배려일 뿐 아니라 빠른 시간 내에 상용화로 가는 지름길이라는 것을 잊지 말아야할 것이다. 김호광 객원기자 정동범 게임동아