▲ 배현직 대표

인벤에서는 국내최초로 서버엔진을 개발하고 상용화한 '넷텐션'의 배현직 대표님을 모시고 서버 관련 칼럼을 기고받게 되었습니다.

넷텐션은 '프라우드넷(ProudNet)'이라는 이름의 서버 엔진을 개발해 현재 '마비노기영웅전', '마계촌온라인' 등 60개 이상의 개발 프로젝트에서 사용 중이며 미국, 한국, 독일 중국 등 9개국 이상에서 게임 서버로 운용 중입니다.

이번 시간에는 서버 다운, 랙, 서버 롤백, 그리고 연결 해제를 주제로 이어집니다.


※ 넷텐션 공식홈페이지 바로가기





게임서버에 대해 말해주마 - 4부, 서버 다운, 랙, 서버 롤백, 그리고 연결 해제




지금까지 게임 서버가 무슨 일을 하는지, 어떻게 작동하는지를 간단히 소개했다. 드디어 이번 편에서는 서버에서 생기는 각종 장애 중 서버 다운, 랙, 서버 롤백, 연결 해제에 대해 소개하고자 한다.

본 편을 이해하고 나면, 온라인 게임을 하다가 장애를 발견했을 때 현상을 좀 더 정확히 알 수 있을 것이다. 그리고 친구들에게 제법이란 소리를 들을 수 있을지도 모른다.



서버 다운

서버 다운은 서버가 멈춰 버리고 수용하던 플레이어들을 모두 추방해 버리는 현상이다.

서버 다운은 온라인 게임 회사에서 한 번씩은 꼭 발생하는 통과 의례(?)라고 불릴 만큼 초반에는 빈도가 높은 장애 현상이다. 특히 접속량이 많은 저녁 시간에 서버 다운 확률이 높아진다. 그러다 보니 CBT나 OBT 기간에는 숙직실과 수면실은 개발자들 차지다.

서버 다운이 생기면 대체로 이러한 현상이 보인다.

▷ 사람들이 한 방향으로만 영원히 걸어가 버린다.
▷ 갑자기 사람들이 다 사라져 버린다.
▷ ‘서버와의 연결이 끊어졌습니다’라는 창이 뜬다.
▷ 게임이 갑자기 종료되어 버린다.
▷ 내 채팅을 모두가 무시한다.
▷ PC방에서 게임을 하던 사람들이 단체로 벌떡 일어나 버린다.
▷ 유저들이 게시판에서 키보드 워리어가 된다.


[ ▲ 게임이 갑자기 종료되더라도 이것 비슷한 것이 뜨면서 종료한다면 서버 다운이 아니다. ]


한편, 게임 회사 안에서는 이러한 현상이 나타난다.

▷ 사장님과 프로듀서가 멘탈 붕괴를 한다.
▷ 서버 개발자들의 안구와 손 움직임 속도가 200% 올라간다.
▷ 사무실 내 흡연이 일시적으로 허용된다.
▷ 운영자들(GM)이 게시판과 채팅 도구에서 키보드 워리어가 된다.

서버 다운은 다양한 요인에서 발생한다. 가장 대표적인 요인은 크래시(crash)다.

크래시란 쉽게 말해서 오동작으로 프로그램이 멈추어 버리는 현상이다. 컴퓨터 프로그램을 만들다 보면 오동작하는 프로그램을 만들기 일쑤다. 이러한 오동작을 ‘버그’라고 말한다. 게임 서버 또한 일반적인 프로그램 중 하나이기 때문에 프로그래머가 실수로 버그를 만들 수 있다. 프로그래머가 자기도 모르게 버그를 심게 되면 그 버그를 유발하는 프로그램이 실행되는 순간 프로그램은 크래시를 내고 멈춰 버린다. 크래시가 난 프로그램이 게임 서버인 경우, 그 서버에서 게임을 하던 유저들은 순식간에 모두 튕겨져나간다. 이것이 서버 다운이다.

어떤 물건이든지 규모가 클수록, 구조가 복잡할수록, 눈에 안 보이는 부위가 많을수록, 오동작의 피해가 심각할수록, 오동작의 위험성이 커지게 된다. 이는 로봇에 비유할 수 있다. 장난감 로봇을 갖고 놀다가 멈추면 잠깐의 아쉬움 뿐이다. 하지만 수술용 로봇이 수술 중 멈추어버리면 대형 사고로 이어진다.

[ ▲ 수술용 로봇 ‘다빈치’. 저 비싼 로봇 팔을 겨우 10번 정도 쓰고 나면 아예 새것으로 교체해야 한다고 ]

프로그램도 마찬가지다. 크래시의 원인은 잘못된 로직의 실행으로 인한 것이라는 점에서는 학교 과제물이건 게임 서버건 의료기기 펌웨어이건 같다. 하지만 크래시의 여파는 차이가 크다. 학교 과제물의 크래시로 장학금을 놓칠 수 있다. 게임 클라이언트의 크래시는 한 사람을 자리에서 벌떡 일으킨다. 게임 서버의 크래시는 전국 유저들이 자리에서 벌떡 일어나게 하고, 삽시간에 게시판을 폭주시킨다. (사태가 심각한 채로 오래 지속되면 서비스 불능 사태까지도 이어지기도 한다.) 심장 박동기 같은 의료기기 펌웨어나 우주왕복선 내장 프로그램이 크래시가 나면… 상상하지 말자.

[ ▲ Therac 25라는 방사선 치료기는 작은 버그 하나로 몇몇 환자들이 목숨을 잃었다.
(자료출처 : http://blog.naver.com/saiparan/90080535747) ]

그러다 보니, 개발자들은 게임 서버의 크래시를 최소화하기 위해서 많은 노력을 기울일 수밖에 없다. 가령, 게임 서버를 개발하는 사람들은 몇 가지 업무 강령을 준수한다.

우선, 누구든지 쉽게 이해할 수 있도록 최대한 알기 쉽게 만들어야 한다는 룰을 둔다. 어설픈 지식으로 고성능 서버를 만들겠다고 도전했다가 감당도 안 되는 복잡한 메커니즘의 게임 서버를 만들어놓고, 정작 여러 가지 크래시가 생겼을 때 못 찾고 헤매는 프로젝트를 간혹 볼 수 있다.

그렇다고 무작정 단순하게만 만들면 낮은 성능으로 많은 동시접속자를 수용하지 못하는 부작용으로 이어질 수 있다. 그러다 보니, 게임 개발자들은 게임 서버의 성능을 어디까지 추구해야 할지, 어디까지 단순함을 유지해야 할지를 잘 판단해서 개발해야 한다.

매년 쏟아지는 게임들 사이에서 경쟁하다 보니, 더욱 다양한 소재와 시도에 도전하는 게임들도 속속들이 등장하고 있다. 이는 게임 서버 프로그램 작동 방식이 점점 복잡해짐을 의미한다. 게임 개발 프로젝트가 장기적으로 이어지는 것도 복잡성을 부추긴다. 많은 사람의 손을 거치면서 인수인계 문제가 발생하고, 프로그램을 잘 손대고 있는 것인지 본인도 정확히 알지 못할 수 있는 사태까지 이어지기도 한다.

[ ▲ 음주(…)와 과로는 업무 중 사고를 유발한다.
개발자의 잦은 야근과 과로도 서버 다운으로 이어질 수 있다.
(자료 출처: https://www.inven.co.kr/board/powerbbs.php?come_idx=2097&l=56697&iskin=lol) ]

게임 서버 크래시는 눈에 쉽게 띄고 파장이 크기 때문에 개발자들은 크래시를 가만 내버려두지 않고 전력을 다해 빠른 속도로 해결해 나가기 마련이다.

서버가 운영되는 장소(데이터 센터)의 정전이나 바이러스 먹은 서버의 오동작, 서버 장비 근처에서 무심코 랜 선이나 전원선을 뽑아버리는 등 황당한 일로 서버가 다운되는 경우도 있다. 물론 이러한 경우는 극히 드물지만 말이다.





흔히들 “랙 쩐다~”불리는 현상은, 게임 반응성이 무척 늦어져서 게임을 하기가 짜증날 정도로 불편해지는 것을 말한다. 랙은 레이턴시(latency)에서 유래된 말이라고 추측되는데, 레이턴시란 두 컴퓨터간 주고 받는 데이터가 전송이 완료되는 시간을 의미한다.

레이턴시를 직접 눈앞에서 재현해볼 방법이 있다. 윈도우키를 누른 채로 R키를 눌러 보자. 이러한 것이 뜰 것이다.


여기서 cmd 라고 입력하고 enter 키를 치자. 그러면 검은 화면이 나올 것이다. 거기서 ping www.google.com 이라고 입력해보면, 당신의 컴퓨터에서 미국의 구글 서버까지 데이터가 갔다 오는 시간을 측정해줄 것이다. 한국에서 측정해 보면 아래 그림과 같이 141ms, 즉 0.14초 정도 걸리는 것을 확인할 수 있다.



만약 당신이 미국에 있는 친구와 MMORPG를 플레이한다고 가정하자. 연재2에서 소개했듯이 게임 서버는 당신과 친구 사이에서 작동하고 있을 것이다. 당신이 파이어볼을 몬스터에게 쏘는 순간 파이어볼은 서버를 거쳐서 미국에 있는 친구에게 보여진다. 그러면 당신의 파이어볼은 친구에게 보여지기까지 최소 0.07초가 걸림을 의미하게 된다. (위의 0.14초는 왕복 시간이므로 편도 계산을 해야 한다.)

파티 플레이하고 몬스터를 잡는 상황에서 0.07초는 별로 대단한 것 같아 보이지 않는다. 하지만 당신이 그 친구와 FPS 대전을 하고 있다고 가정해보자. 친구의 저격총 한방에 골로 가느냐 안가냐에 0.07초는 매우 큰 랙으로 다가오게 된다.

[ ▲ 리그오브레전드의 ‘시비르’의 E 스킬은 약간의 랙으로도 멘붕을 유발한다. ]

똑같은 레이턴시라도 게임의 특성에 따라 “쩌는 랙”이 될 수도 있고 아닐 수도 있다. 약간의 랙은 자연스러운 현상이고 이를 해결하려면 서버가 물리적으로 가까운, 가령 한국이면 한국 서버에서 플레이하면 된다. 하지만 속칭 ‘괴랙’ 즉 0.5초 이상 발생하는 랙은 도저히 참아줄 수 없는 심각한 레이턴시 현상으로 이어지게 된다. 괴랙이 발생하면 다양한 종류의 짜증 나는 현상이 생기는데, 게임의 장르에 따라 현상이 다르게 나타난다.

▷ 전략 시뮬레이션 게임의 경우, 화면이 잠깐 멈추었다가 움직인다. 그 이후부터는 유닛을 컨트롤해보면 바로 움직이지 않고 조금 있다가 움직인다. 화면이 버벅이지는 않는다.
▷ MMORPG의 경우, 다른 플레이어의 움직임이 사방팔방 괴상하게 뛰어다닌다. 화살을 쏘더라도 균일한 속도로 쏘지 않고, 한참동안 안 쏘다가 갑자기 기관총 난사하듯이 쏘곤 한다. 화면이 버벅이지는 않는다.
▷ FPS 게임의 경우, 나는 분명히 정면을 향해 뛰고 있는데 전진 후진을 와리가리해서 눈을 아프게 한다. 적을 쐈는데 바로 죽지 않고 몇 발자국 뛰다가 뒤늦게 죽는다. 화면이 버벅이는 것처럼 보인다.


다음 현상은 랙이 아니고 당신 컴퓨터가 느린 것이다. 컴퓨터를 더 좋은 것으로 바꾸거나 그래픽 옵션을 낮추어야 한다.

▷ 화면의 애니메이션이 부드럽지 못하다.
▷ 마우스 커서가 반응이 느리다.
▷ 로딩이 너무 오래 걸린다.


랙이 생기는 원인은 매우 다양하다. 일차적으로, 서버에 과부하가 걸려서 그러할 수 있다. 서버에 과부하가 걸리게 되면 클라이언트들에서 오는 여러 가지 메시지를 제대로 처리하지 못하고 지연된다. 점심시간에 은행이 붐빌 때 가보면 은행원들은 열심히 일하고 있음에도 대기표를 들고 앉아 있어야 하는 상황과 같다.

서버 과부하에는 여러 가지 요인이 있다. 서버 프로그램에 과부하가 걸려서 개발자들이 해결해야 하는 때도 있다. 서버 하드웨어나 네트워크 장비나 방화벽 장비에 과부하가 걸려서 게임 퍼블리셔 엔지니어들이 해결하기도 한다.

게임 서버 프로그램을 최대한 단순하게 만들면 서버 다운의 가능성을 줄일 수 있다. 하지만 그 대가로 게임 서버의 성능이 나빠질 수 있다. 그렇게 되면 동시접속자가 많을 때 서버 랙이 생기게 된다. 이를 해결하는 가장 만만한 방법은 서버 개수를 늘리는 것이다. 연재2에서 소개한 분산 서버 구성이 여기에 해당한다. 한편, 서버 효율성이 지나치게 낮을 때는 하드웨어 유지비용도 만만치 않기 때문에 서버 프로그램 자체의 성능을 높이기 위한 노력도 한다.

해킹을 차단하려는 노력이 랙 유발로 이어지기도 한다. 온라인 게임 해킹을 막는 근본적인 방법은 게임 플레이의 처리 판정을 서버에서 주도하는 것이다.(자세한 내용은 다음 편에서 다룰 예정이다) 하지만 이 방식은 서버 부하를 증가시킨다. 가뜩이나 동시접속자가 많아져서 랙이 생길까 고민해야 하는 상황에 해킹 때문에 서버에서 할 일을 더 증가시키면 엎친 데 덮친 격이다. 그러다 보니, 동시접속자 수가 수십만에서 백만 수준도 치는 중국에서는 서버 프로그램 자체의 처리 성능을 높이는 데 집중을 하기도 한다.

랙 문제는 인터넷 환경이 좋지 않아서 생기는 현상일 수도 있다. 우리나라는 매우 인터넷이 잘 되어 있어서 흔한 현상은 아니지만, 외국에 서버가 있는 경우 한국보다 상대적으로 느린 인터넷을 경유해서 서버와 통신을 하다 보니 랙이 생기기도 한다.

요새는 가정마다 wifi나 인터넷 집 전화, IPTV를 쓰면서 인터넷 공유기가 많이 쓰이고 있다. 그리고 스마트폰이 대중화되어 있다. 문제는 스마트폰과 IPTV 등으로 인터넷 공유기에 부하가 많이 걸리기도 한다는 것이다. 특히 wifi는 전파 간섭 문제까지 일으키기도 한다. 이 때문에 아파트 등에서는 무선 인터넷이 버벅댈 수 있는데 이것도 게임 중 랙으로 이어질 수 있다. (필자는 집에서 노트북으로 온라인 게임을 할 때 가지고 있는 스마트폰들과 아이패드를 모두 꺼 버린다. 확실히 차이가 난다.)



서버 롤백

서버 롤백(rollback)은 다른 말로 ‘백섭’이라고 불리기도 한다. 서버 롤백이 일어나면 플레이하고 있던 캐릭터의 정보가 과거 상태로 바뀌어 버린다. 잡템 좀 얻은 것이 롤백 되면 별 상관은 없지만, 매우 희귀한 아이템을 획득했는데 그것이 롤백 되어버리면 머리를 쥐어뜯게 된다. 특히 유료로 구매한 아이템이 그렇게 롤백 되어 버리면 GM에게 요청해서 빨리 받아내야 한다.

서버 롤백을 설명하기 전에, 패키지 게임을 하던 시절을 떠올려보자.

우리는 패키지 게임을 하다가 외출할 일이 있으면 먼저 컴퓨터나 게임기를 끈다. 돌아와서는 다시 켜고 게임을 진행한다. 우리는 끄기 전에 반드시 하는 것이 있다. 바로 ‘게임 세이브’이다.


세이브를 하면 짧은 시간 동안 하드 디스크 램프가 깜박인다. 램프가 깜박인 순간, 플레이하고 있던 게임의 상태는 하드 디스크에 저장된다. (게임기는 깜박이는 것이 없지만) 온라인 게임도 마찬가지다. 게임 서버에서는 수많은 플레이어들이 몹 사냥을 하고, 아이템을 줍고, 상거래를 한다. 이 과정에서 플레이어들이 하는 모든 일련의 행동은 서버에 있는 하드 디스크에 저장해야 한다.

패키지 게임을 할 때 우리는 몹 한 마리를 잡을 때마다, 아이템 하나를 루팅할 때마다 저장하지는 않는다. 하지만 온라인 게임에서는 아이템 하나하나가 중요하므로 서버에서 매번 자동 저장을 해준다. 예를 들어 동시접속자가 10만 명이라고 가정하고, 10초에 아이템 가방이나 경험치에 변화가 생긴다고 가정하자. 그러면 1초마다 1만 번의 세이브를 하게 됨을 의미한다. 몇몇 게임들은 이것은 감당하기 어려울 정도로 너무 잦을 수 있다.

저장을 너무 자주 해서 서버가 과부하를 감당하지 못한다면 저장하는 속도를 빠르게 만들면 된다. 그것도 어려우면, 어떻게 해야 할까?

잘 살펴보면, 우리는 패키지 게임을 하다가도 중요한 스테이지를 클리어하거나 좋은 아이템을 먹으면 여지없이 세이브 버튼부터 누른다. 하지만 별로 중요하지 않은 진척을 하는 동안에 세이브 버튼을 누르는 일은 별로 없다. 그렇다면, 답은 간단하다. ‘자동으로 세이브 버튼을 누르는’ 조건을 제한시키면 된다.

가장 간단한 방법은, 게임 서버가 세이브 버튼을 일정 시간마다 누르게 하는 것이다. 게임 서버에서 각 플레이어마다의 세이브 버튼을 누르는 간격이 5분이라고 가정하자. 그러면 당신이 플레이하는 캐릭터의 아이템 가방의 상태는 게임 서버의 하드 디스크에 5분마다 저장될 것이다.

만약 당신의 정보가 서버에서 저장된 지 5분도 안 된 상태에서, 희귀한 아이템을 얻었다고 치자. 그런데 갑자기 서버 다운이 발생해버릴 경우, 마지막에 얻은 아이템은 저장되지 못한 채 증발해 버린다. 그리고 다시 업 된 서버에 접속했을 때 그 아이템이 없어진 것을 알고 분노하게 된다. 이것이 서버 롤백 즉 백섭이다.


이러한 문제를 개선하는 방법은 다양하다. 간단한 방법은 세이브하는 시간 간격을 필요할 때마다 무시하고 즉시 세이브하는 것이다. 예를 들어, 평소에는 5분마다 저장하더라도 희귀한 아이템을 얻는 경우 등에는 즉시 저장하는 방법이 있다.

'희귀하다'와 '하찮다'는 컴퓨터가 결정할 수 있는 것이 아니다. 사람의 주관에 달린 문제이기 때문에 개발자들이 정도를 정하게 된다. 그런데 개발자들이 판단하는 것이 전 세계 게임 유저의 판단과 일치하지 않기도 한다. 가령 개발자들은 사소한 것이라 저장을 하지 않아도 된다고 생각한 것이 게임 유저들에게는 그렇지 않게 받아들여질 수도 있다. 이때도 백섭 항의가 들어온다.

게임 유저의 캐릭터 정보는 게임 서버에 있는 ‘데이터베이스’라고 불리는 서버에 저장된다. 데이터베이스 서버는 하드 디스크 용량이 엄청난 컴퓨터다. 데이터베이스 서버 컴퓨터에는 각각 수백만원짜리 하드 디스크가 여러 개가 꽂혀 있다. 그리고 그 하드디스크들은 모두 항상 동일한 내용을 유지한다. 하드 디스크는 오래 쓰면 노후해서 내용이 망가질 수 있기 마련인데, 그것 중 하나가 고장 나는 경우 전원을 내리지 않고도 새 하드 디스크로 갈아 끼울 수 있다. 그러다 보니 데이터베이스가 고장 나는 확률은 제로에 가깝다.

데이터베이스라는 프로그램 자체도 내용을 매우 안정적으로 저장하는 기능과 엄청난 용량의 데이터를 빠르게 다각적으로 검색해주는 기능이 있다. 많은 온라인 게임에서 유저의 정보가 게임 서버뿐만 아니라 웹서버, 통계 프로그램, 운영툴 등에 의해서 다각적으로 다루어진다. 결국, 이 과정이 혼잡하게 섞이기 마련인데, 이것 때문에 데이터베이스는 유저 정보를 저장하는 시간이 길어지는 경우가 간혹 있다. 드물지만, 심한 경우에는 1~2분이나 지연되는 때도 있다.

비싼 컴퓨터와 프로그램을 동원해서 유저 정보를 세이브해주고 있었는데 하필 이러한 지연 현상으로 유저 정보가 제대로 저장되지 못하는 경우도 드물게 있다. 이때에도 롤백 현상이 발생하기도 한다. 워낙 낮은 빈도인지라 유저들은 별로 체감할 일이 없지만, 게임 서버를 운영하는 게임 회사 차원에서는 티끌 모아 태산으로 다가온다. 동시접속자 10만 명 중 서버 롤백을 경험하는 사람들이 0.1퍼센트라고 하더라도 회사 입장에서는 하루 100건이나 되기 때문이다.

이러한 문제를 해결하기 위해서, 세이브를 하는 것에 대해 간단하고 빨리 저장되는 로그(기록들)를 남겨놓기도 한다. 이러면 롤백이 일어나더라도 로그를 통해 쉽게 복원 해줄 수 있다.



연결 해제

연결 해제 현상, 이른바 디스(disconnect)도 온라인 게임에서 흔히 겪는 현상 중 하나이다.

디스란 게임을 하던 플레이어가 게임 클라이언트나 서버가 다운되지도 않았는데도 불구하고 갑자기 연결이 끊어져 버리는 현상을 말한다. 디스와 서버 다운 현상은 비슷하나, 튕겨져나간 후 다시 서버에 접속해보면 다른 사람들은 곱게 잘 있다는 차이가 있을 뿐이다.

디스는 무척이나 짜증 나는 현상이다. 특히 중요한 곳에서 호각을 다투는 전투를 하다가 디스가 발생하면 친구들에게도 민폐를 끼치기 마련이다.

디스는 게임 개발자들에게도 짜증 나는 현상이다. 디스가 너무 잦으면 서버 다운에 준하는 중대 사안이면서도 원인을 찾기 어렵기 때문이다.

차라리 서버 다운이면 원인을 분명하게 알 수 있다. 랙이 발생하더라도 랙이 발생하는 구간을 쉽게 찾아서 해결하는 것도 상대적으로 쉽다. 롤백도 마찬가지로 원인을 쉽게 찾을 수 있다. 하지만 디스는 원인이 가장 광범위하다. 위에서 언급한 서버 다운, 랙, 서버 롤백 현상의 원인을 다 합친 것도 디스의 원인에 포함되기 때문이다. (반대로 말하면, 만약 운이 좋으면, 서버 다운, 랙, 서버 롤백 현상을 하나씩 해결해 나가다 보면 디스 문제도 덩달아 해결되기도 한다.)

디스는 언제 어디서 갑자기 발생하는지 모르는 게릴라 같은 놈이다. 게다가 쉽게 재현 하기도 어렵다. 디스를 해결하는 불가피한 방법은 유저들의 실행 로그(작동 과정의 기록)을 남겨서 분석하는 것이다. 디스는 원인을 찾아낼 때까지 로그를 계속 세분화해 나가면서 원인 근처로 점점 수사망(?)을 좁혀 나간다. 실행 로그뿐만 아니라 클라이언트와 서버 간 주고받는 것들 것 모두 로그로 남기면서 원인을 찾아 나가야 한다. 산더미처럼 쌓여있는 로그들 사이에서 원인을 명확히 보여주는 단서를 찾아내는 과정은 모래에서 바늘 찾기와도 같다.

물론, CBT나 OBT를 시작하기 전 디스를 예방하기 위한 노력이 필수다. 대량의 더미 클라이언트를 동원해서 서버 과부하 테스트를 하고, 이 과정에서 디스 요인을 찾아 해결하기도 한다. CBT 기간 동안 많은 디스 요인을 찾아 해결해 내기도 한다. 수천만 원에서 수억 원을 호가하는 랙 유발 장치(WAN emulator)를 동원하기도 한다.

디스를 근본적으로 해결하기 어려울 때는 꼼수도 쓴다. 디스가 발생하더라도 다시 몰래 재접속해서 게임이 계속 진행되게 하는 것이다. 이렇게 하면 유저는 디스가 나더라도 십여 초 정도의 긴 랙으로만 느껴질 뿐이다. 물론 십여 초의 랙도 짜증은 나겠지만 디스만큼 심하게 느껴지지는 않는다.

[ ▲ 리그오브레전드는 클라이언트를 종료하고 나서도 다시 재접속을 하면,
앞서 플레이했던 전장에서 이어서 플레이가 가능하다.
리그오브레전드의 디스 복구 기능은 매우 인상적이다. ]

지금까지 서버 다운, 랙, 서버 롤백, 연결 해제에 대해 알아보았다. 이밖의 다양한 장애 현상들도 게임 서버에서 발생하기 마련이다.

구조가 이미 복잡해져 버린 온라인 게임의 서비스의 장애를 완전히 없애는 것은 불가능에 가깝다. 그러나, 아무도 불편함을 겪지 않을 정도로 충분하게 낮은 빈도의 장애율로 다가가기 위한 혼신의 노력을 해야 한다. 그리고 언젠가는 장애를 대부분 없애게 된다. 그제서야 꿈에도 그리던 OBT나 정식 상용화를 개시할 수 있게 된다.


※ 본 기획기사는 5부 '게임 서버를 괴롭히는 해킹과 프리서버'를 주제로 이어집니다.