온라인게임은 정말 다양한 분야의 일꾼들이 모여서 하나의 최종 직업물(DATA)을 완성시킨다. 우리 눈에는 넓은 맵에서 캐릭터를 컨트롤 하는 것 같지만 그 뒤에는 우리 눈에는 보이지 않는 수많은 데이터들이 교류하는 길이 숨겨 있다.
엠게임 유정환 실장을 통해 온라인 게임의 길은 만드는 네트워크전문가들의 이야기를 들어봤다.
- 게임 회사에 입사하게 된 계기는?

▲ 처음 입사할 때의 신분은 개발자였습니다. 리눅스 전문기업인 리눅스원이란 회사에 다니다가 옮겨오게 되었습니다. 당시 시일을 맞춰서 끝내야 했던 게임 개발 프로젝트가 리눅스 서버를 사용했었는데 서버 프로그램에 문제가 있어서 제가 와서 수정했습니다. (서버를 모두 MS-Windows를 쓰던 시절이었거든요) 딱 한 줄의 코딩을 한 후에는 네크워크 팀으로 전향하게 되었답니다.
- 현재 담당하고 있는 네트워크 업무를 소개해주신다면.
▲ 현재는 SE실(서버장비+OS+네트워크)이라서 담당 범위가 넓지만 네트워크에 국한시켜 보면, 관련 업무는 ‘도로건설과 관리’에 비유할 수 있죠. 네트워크 업무는 도로를 설계, 건설하고 이후 운영, 관리하는 것과 유사합니다. 도로 하나가 제 기능을 하자면 얼마나 많은 대수의 차량이 얼마나 많이 통행할 지(서버 대수, 동접수, 네트워크 사용량)를 예측해서 그에 적절한 차선 수와 도로 폭을 정해서 건설해야겠죠.
건설하고 나면 상황에 따라 필요에 따라 통행을 제한해야 할 때(방화벽으로 접속 통제)와 설, 추석 때처럼 통행량이 급증하는 경우(새로운 서비스가 오픈 시)와 시위대의 도로 점거(DDoS공격)나 테러(해킹)나 교통사고 발생 시(통신장애)에 대한 처리가 이루어져야 할 것입니다.
- 온라인게임 네트워크의 일반적인 구조에 대해서 설명해주세요.
▲ 온라인 게임의 네크워크 통신은 세 부분으로 나눠볼 수 있습니다.
서버-유저 구간, 서버-서버 구간, 유저-유저 구간입니다. 서버-유저 구간은 어떤 온라인 게임이건 필수구간이죠. RPG게임이면 시작할 때 캐릭터 레벨, 클래스, 아이템 등등의 정보를 받아오고, 맞고류 등의 경우 보유금액, 계급 등을 받아오는 것에서부터 이 구간의 통신이 시작됩니다. 이 후 우리가 게임 내에서 어떤 행동을 취할 때마다 많은 통신이 오가게 되겠죠.
서버-서버 구간은 아주 드문 경우엔 없을지도 모르겠습니다만 대개의 경우 이 구간도 존재합니다. 대부분 DB와 게임서버가 각각 있는 구조로 되어있으니까요. 장부와 계산기를 가지고 일을 하는 경우를 상상해보면 되겠습니다. 게임의 경우 게임서버가 계산기라서 내가 어떤 몬스터를 죽였는지, 무슨 아이템을 얻었는지 등을 판단해주고, 그 정보를 DB서버로 보내서 DB서버에 장부기입을 하게 해주는 것이죠.
유저-유저 구간은 있을 수도, 없을 수도 있는 구간입니다. 실시간으로 지연 없이 통신하는 것이 중요하다거나 서버의 통신 부하를 줄이고 싶은 경우 쓸 수 있습니다. 대신 우리가 직접 통제하지 않는 구간의 네트워크에서 통신이 이루어지게 되므로 품질의 보장을 받지 못한다는 위험성을 감수해야 합니다.
- 해외 수출을 진행할 때도 각 나라의 네트워크 상황이 매우 중요한 것 같은데 실제로 어떤지?
▲ 한국과 유사한 네트워크 수준의 국가는. 일본 정도? 하지만 아직도 일반 가정에서 사용하는 인터넷 속도의 수준이 한국은 다른 국가들에 비해 압도적이죠. 처음 개발을 한국 수준에서 하기 때문에 해외 서비스 진출 시 네트워크 사용량을 줄이기 위해 개발팀들이 많은 노력을 하는 것으로 알고 있습니다. 과거 중국 열혈강호 런칭 때 출장 가서 CD 한 장을 꼬박 이틀 동안 전송 받은 경험이 있습니다. 한국에서 광랜을 쓰는 환경이라면 1~2분이면 받을 용량인데 말이죠. 그 이후부터는 외장하드에 최대한 많이 담아서 출장갑니다.
- 일하시면서 겪었던 가장 인상적인 에피소드는?
▲ 제가 일하는 장소는 IDC(Internet Data Center, KT의 경우엔 ICC-Internet Computing Center라고 부름)인데 IDC의 3대 의무는 무정전, 항온항습 유지, 그리고 통신의 무중단입니다. 과거 IDC에서 정전과 항온항습기의 고장을 모두 겪었습니다.
특히 항온항습기 사건이 최강이었죠. 장비실에 내려간 직원에게서 장비실이 덥다는 전화를 받고 달려 내려가서 장비실 문을 여는 순간 쏟아져 나오는 그 사우나 같은 뜨거운 공기 덕분에 장비를 다 꺼야 하는 상황이 되었습니다. 정말 상상할 수 없는 일이 벌어진 거죠. (과열되면 장비가 타버립니다) 1초가 급한 상황에서 본부장님, 사장님까지 다 응급조치에 동원되었던 최강 에피소드가 있었죠.

- 네트워크, 정보보안, DB전문가의 길은 전혀 다른 것인가요?
▲ 이번엔 도시에 비교해볼까요? 네트워크 전문가는 앞에서 말한 대로 도로까지가 담당 범위입니다. 빌딩(서버)내부는 상관없는 세상인 거죠. DB전문가는 빌딩 내부가 자기 세상입니다. 빌딩 외부로 나가 다른 빌딩과 소통할 때(서버-서버 통신) DB전문가와 네트워크 전문가의 영역이 만나게 되겠죠.
정보보안 전문가는 경찰입니다. 경찰의 관여범위는 도로와 빌딩 모두가 되니 범위는 가장 넓겠습니다. 하지만 경찰은 도로를 건설하거나 빌딩 안에서 업무를 보는 것이 아니라 자기 일을 할 뿐이니까 서로서로 겹치는 범위를 가진 교집합들이라 생각하면 되겠습니다.
- 지금까지의 인생에서 큰 영향을 준 ‘무엇’을 소개해주세요.
대학 입시 준비하던 때인데요. 독서실에 있을 때인데, 어느 일요일 싱숭생숭해서 독서실 건물을 돌아다니다 당시에 생겨나던 PC학원을 발견했습니다. 호기심에 몰래 들어가서 PC를 만져보게 되고, MS-DOS입문책을 만나게 되었답니다. 결국 PC도 없던 독서실 자리에서 그 책을 읽어서 MS-DOS를 마스터하게 되었어요. 실제 PC를 한번 작동시켜보지도 않고 PC를 사용할 수 있게 되었고, 대학 신입생 시절 친구들에게 ‘컴도사’ 대접을 받았어요. 그 때 그 사건이 지금 제가 이 일을 하게 만들지 않았을까 생각합니다.
24시간 비상대기조 처럼 휴일에 쉬고 있어도 쉬는 것 같지 않은 것이 제일 힘들지만 온라인 게임회사 직원이라면 누구나 공감하는 어려운 점 인 것 같습니다. 특별히 신규 서비스를 오픈 할 때 유저가 들어오는 규모에 따라 네트워크 사용량이 엄청나게 변화하는데 사전 예측이 힘들다는 점이 이 일의 애로사항이지만 보람도 크답니다.
scrapper@osen.co.kr