1. 개요
Dedicated Server하나의 단위 작업만을 전담하는 서버 방식을 의미한다.
2. 상세
데디케이티드 서버란 게임 서버의 한 형태로 전담서버를 의미한다.일반적인 MMORPG나 모바일 게임의 대규모 온라인 게임용 서버는 지속적으로 동작하며 하나의 서버에서 많은 게임 플레이와 처리를 수행하는 반면 데디케이티드 서버는 하나의 서버가 게임 한 판만을 전담하므로 게임의 시작과 함께 서버를 시작하여 해당 게임이 끝나게 되면 서버도 종료된다.
이런 특성 때문에 데디케이티드 서버는 다음과 같은 장단점이 있다.
- 한 게임당 하나의 게임 서버가 동작하며 게임이 종료되면 서버도 종료된다.
- 서버 오류 시 다른 게임에는 영향을 주지 않는다.
- 중앙 서버 방식(c/s 방식)에 비해 분산처리(Scale-out)가 용이하다.
- 대전게임, 인스턴스 던전, 배틀 로얄 류에 게임에 주로 사용된다.
- 게임당 서버 비용은 대규모 서버에 비해 매우 비효율적일 수 있다. (대규모 서버 방식에 비해 수백 배까지 비용이 들 수 있다.)
- p2p 방식에 비해서는 보안에 유리하지만 중앙 집중식 서버 방식(c/s 방식)에 비해서는 취약할 수 있다.
- 다종 소규모 서버 서비스에 유리하며 대규모 게임 서비스에는 효율이 떨어진다.
- 상용 클라우드 게임 매칭 서비스가 일반적으로 데디케이티드 서버를 기반으로 한다.
최근 클라우드 서버가 대중화 되면서 오버워치와 배틀그라운드등 FPS 게임의 네트워크 대전이나 배틀로얄 류의 게임들에서 사용이 많이 늘어나긴 했지만 여러 가지 제약이 있을 수 있고 무엇보다 엄청난 서버 비용으로 인해 클라우드서비스 업체에서는 적극적 홍보를 하고 있지만 대형 게임 서비스 회사들은 도입에 신중해 확산에 방해가 되고 있다.
데디케이티드 서버는 랜선 상에서 소수의 플레이어들끼리 네트워크 플레이를 하기 위해 고안된 형태였다. 말은 서버지만 실상은 클라이언트에서 그래픽 기능만을 제거해 서버 역할을 할 수 있도록 수정한 수준이라 클라이언트와 거의 동일 수준의 CPU와 메모리 사용량을 소모했다.따라서 일반적인 상용 다중 접속 게임 서버는 수천명에서 많게는 수만명까지 사용자 처리가 가능한 반면 데디케이티드 서버는 최악의 경우 서버 1대당 2~3게임도 돌리기 힘든 경우가 있을 정도로 엄청난 부하를 요구해 대규모 상용 서비스에는 사용이 힘들었다.
하지만 랜상에서 PC 한대를 데디케이티드 서버용으로 준비해 소수의 플레이어들끼리 네트워크 게임을 하는 용도로는 적절한 형태며 최근 클라우드 서비스가 확산됨에 따라 이를 기반으로 데디케이티드 서버를 지원해주는 서비스들이 생기고 있다.
클라우드 서비스를 제공해주는 업체 입장에서는 엄청난 서버 부하를 요구할 수 있는 데디케이티드 서버는 엄청난 수요 처가 될 수 있기 때문에 적극적으로 지원을 시도하고 있지만 비용을 지불해야하는 게임 서비스사에서는 아직까지 도입에 신중해 할 수 밖에 없다.
몇몇 데디케이티드 서버를 사용하는 게임들이 흥행에 성공하며 데디케이티드 서버의 가능성에 주목하긴 했지만 한 게임에 수백명씩 플레이해 효율성 문제가 비교적 적은 배틀로얄류 게임들이 대부분이다.
언리얼3D와 같이 게임엔진들이 제공하는 데디케이티드 서버들은 기본적으로 너무 많은 부하를 요구해 클라우드에서 서비스하기 위해서는 엄청난 서버 비용을 여전히 무시할 수 없는 상황일 뿐만 아니라 여러 개발상 제약도 있을 수 있어 게임 엔진에서 제공하는 데디케이티드 서버를 사용해도 어차피 수정하거나 독자적인 데디케이티드 서버를 개발해야 할 수도 있기 때문에 개발 여력이 있는 대형 게임 서비스사에서는 기존 서버 방식에 비해서 큰 메리트가 없을 수도 있다.
하지만 개발 여력이 부족한 소규모 개발사나 인디 게임 혹은 간단한 게임에서는 매우 유효할 수 있어 앞으로 클라우드 서비스의 확산과 함께 데디케이티드 서버 기술과 서비스 역시 발전 가능성이 높다.
3. 클라이언트/서버 방식 서버
일명 C/S 방식은 서버가 모든 클라이언트들의 접속을 받아 서버가 클라이언트간의 통신을 중계하는 중앙집중식 방식의 서버를 말한다.일반적으로 대부분의 대규모 다중 접속 온라인 게임 방식에서 C/S 방식 서버가 사용된다.
C/S방식 방식은 모든 데이터의 송수신이 서버를 경유해서 전달되게 되므로 보안에는 매우 유리하다 또 P2P방식 등에 비해 전체 송수신 트래픽량이 적다. 그리고 일부 연산을 서버가 감당하게 됨으로 클라이언트 컴퓨터의 부담이 줄어든다.
하지만 반대로 모든 송수신은 서버를 경유해야 하므로 서버가 많은 부하를 짊어져야 하며 직접 송수신하는 방식(P2P방식 등..)에 비해 더 긴 송수신 지연이 발생할 수 있다. 일반적으로 C/S방식 서버는 대부분의 온라인 서비스와 MMORPG와 같은 대규모 다중 접속 게임용 서버로에 많이 쓰여지며 반대로 짧은 딜레이가 요구되는 FPS류 게임에는 선호되지 않는다.
4. 피어 투 피어
피어 투 피어의 가장 큰 특징은 별도의 서버와 클라이언트가 없으며 모두가 서버이고 모두가 클라이언트가 된다는 점이다. 각각의 피어는 플레이어 모두에게 신호를 주고 받는다. 적은 수의 플레이어가 대량의 토큰을 주고 받는데 가장 유리한 방식으로, 실시간 전략 시뮬레이션이나 격투 액션 게임에 가장 잘 어울린다. 던전앤파이터가 이 방식을 파티 구성 순간부터 그 파티가 깨질 때까지 적용시켜 활용하고 있다.리슨 서버와 달리 호스트가 방폭을 해도 게임이 계속 유지된다는 장점이 있다. 그리고 호스트에 트래픽이 몰리는 문제도 해결되기 때문에 리슨 서버 방식보다 피어 투 피어 방식이 더 선호되고 있다. 스타크래프트의 배틀넷 등에서는 이 방식이 락스텝 동기화 알고리즘과 맞물려 필수적으로 사용되고 있다.
각각의 피어가 모두 서로간에 신호를 던지고 받는데, 싱크가 유지될 때까지 대기할 필요가 있는 게임들이 있다. 대전격투게임이나 전략시뮬레이션 게임이다. 이들은 회선이 대단히 빨라야 한다. 데디케이티드 서버는 이 방식을 쓰려면 가급적 세계 곳곳에 데디케이티드 서버를 구축해야 하는 문제가 있다. 피어 투 피어 방식을 쓰면 이 문제가 쉽게 해결된다. 데디케이티드 서버와의 네트워크 거리가 고려되지 않아도 되기 때문이다.
P2P는 한 세션에서 게임을 하는 유저들끼리 서로에게 서버가 되어주는 방식이다. 게임 회사는 다만 서로 매치메이킹을 할 수 있도록 매칭서버만 호스팅해주면 된다. 서버에서 연산이 가능하도록 설비에 돈을 투자하지 않아도 되니 게임회사야 좋겠지만 게임을 하다가 말고 누군가 나가면 1대1이면 게임 자체가 폭파되고 다 대 다의 경우엔 연결을 초기화하면서 렉이 걸리게 된다. 다른 게임과 달리 던전앤파이터에서 파티플레이 중 파티원 중 한명이라도 인터넷이나 컴 사양이 안 좋으면 파티원 전체에게 영향이 가는 것[1]과 스타크래프트 1에서 가끔 게임을 하다말고 누가 나가면 소위 겹핑이 걸려서 게임 전체가 느려지는 경우가 바로 이것 때문이다. 단점은 이뿐만이 아니며 가정용 인터넷과 서버용 회선은 그 급부터가 달라서 P2P는 본질적으로 한번에 많은 인원을 수용하는 게임에는 적절하지 못하다. P2P 회선 방식은 개개인마다 모두 엮어줘야하기 때문에 파티원이 늘어날수록 필요한 회선 수가 2차함수꼴로 늘어나기 때문. 2인이면 양방향으로 1개지만, 3인이면 3개, 4인이면 6개, [math(n)]명이면 [math(\frac{n(n-1)}{2})]개가 필요하다. 6인만 되어도 4인에 비해 2배가 넘는 회선이 필요하고 8인이면 5배 가까이 필요하다.
이때문에 P2P시스템을 고집하는 던전앤파이터는 2014년 최초의 레이드 안톤 레이드를 기획할 때, 다른 게임의 레이드처럼 다인 파티 레이드로 기획하였으나, 실제 구현은 4인 파티 단위로 쪼개져서 던전을 클리어하는 방식으로 구현되었고 이는 이후 레이드에도 계속 동일하게 적용되었다. 사실상 앞으로도 P2P방식을 고집하는 이상 고칠 수 없다.
다만 던파의 사례의 경우 기가비트 인터넷 회선이 보급되고 100mbps 회선이 VDSL(10mbps급) 수준으로 완전히 퇴출되고 사용자 비중이 낮아지면 국내 한정으로는 이론상의 대역폭을 계산하였을 때 10인까지는 서비스 가능하다. 플레이어간의 데이터 송수신에 W만큼의 대역폭을 요구하는 회선(established P2P network connection, 피어 간 네트워크 연결)이 있다고 할 때 4인일 경우 (4*3/2)*W = 6W가 되고, 10인일 경우 (10*9/2)*W = 45W가 된다. 아직까지는 100mbps 회선에서도 정상적인 4인팟 플레이가 가능하므로 6W < 100mbps라 할 때 이보다 처리 가능한 대역폭이 10배 넓은 1000mbps 회선이라면 9배 많은 처리량인 45W만큼은 감당이 가능할 것이다. 사실 가정에서 동시에 인터넷을 사용하는 기기나 프로그램은 던파가 돌아가는 컴퓨터 한 대 뿐이 아님을 감안하고, 전송속도 저하와 지연시간 등을 대비하기 위한 마진을 감안하면 정말로 안정적인 1Gbps 환경이라면 10인 이상도 P2P가 가능할 수는 있다. 이제 막 시험 서비스가 실시되는 가정용 10Gbps 환경쯤 되면 사실상 P2P의 단점은 의미 없다. 핑이나 레이턴시, 통신경로 면에서 가정용 회선은 서버급보다야 모자라긴 하겠지만 그걸 감안해도 10Gbps 정도 대역폭에 50ms 이하의 레이턴시[2]이면 어지간히 사용자가 폭주하는 대규모 서버가 아닌 이상에야 서버용으로 돌려도 된다. 사실 마인크래프트나 기타 동접자 수에 제한이 없는 P2P방식 게임서버를 돌려보면 알겠지만 가정용 기가비트 수준만 되어도 동접자 100명 미만으로는 그럭저럭 할 만 하다. 웹 서버(API 서버 포함)의 경우 동접자 5000명 미만은 가정용 Gbps 회선으로도 돌릴 만하다. 약관 위반이긴 하지만.
5. 홀펀칭, 릴레이
리슨 서버 방식과 피어 투 피어 방식은 인터넷 공유기에서 잘 작동하지 않는 문제가 있다. 이를 해결하려면 홀펀칭이나 릴레이 같은 기법을 구사해야 한다. 프라우드넷 같은 것이 이런 것을 잘 해주는 것으로 알려져 있다.6. 기타
네이버클라우드의 네이버 클라우드 플랫폼, 아마존닷컴의 Amazon Web Services나 마이크로소프트의 Microsoft Azure 같은 서비스들은 클라우드 컴퓨팅 기반의 데디케이티드 서버라고 할 수 있다. 각 게임사들이 모두 자체적인 서버를 갖추기에는 한계가 있으므로, 이런 호스팅 서비스들을 이용해 비용을 효과적으로 아끼면서도 아마존 또는 MS가 관리하는 좋은 성능의 서버를 활용할 수 있는 것이다. AWS와 Azure를 활용하는 게임의 예시로 각각 배틀그라운드와 타이탄폴을 들 수 있다. 물론 재정 여유가 충분한다면 아예 서버를 구매하여 구축[3]할 수도 있다.한국 온라인 FPS 게임 AVA는 초기엔 국내에 흔치 않은 리슨 서버를 이용했었으나, 결국 2012년 들어서 데디케이티드 서버로 전환하였다. 확실히 리슨 서버를 이용할 땐 사용자들의 인터넷 연결 수준에 따른 반응속도 차이가 심각했고, 방장이 바뀔 때마다 게임이 정지되는 불편함이 있었지만 데디케이티드 서버를 이용하기 시작한 이후로는 이런 문제가 없어졌다.
카운터 스트라이크 온라인 역시 한국에선 보기 힘든 리슨 서버를 사용 중이다. 원작 카운터 스트라이크의 느낌을 살리려는 의도인 듯. 이 때문에 핵도 못 잡고 있는 상황이었는데, 마침내 2013년 10월 24일 업데이트를 통해 데디케이티드 서버를 제한적으로 지원하기 시작했고 2013년 11월 7일 업데이트를 거쳐 전체 서버로 확대되었다.
데디케이티드 서버들을 종합적으로 관리하는 프론트엔드는 아래와 같다.
[1] 이를 단적으로 보여주는 것이 다름아닌 솬쿠멬.[2] 현재 가정용 기가비트 회선도 국내에서의 통신에는 최소한 이 정도 수준의 레이턴시는 보장한다.[3] 이를 셀프 호스팅(Self-Hosting)이라 한다.[유료] [CubeCoders_AMP] AMP에 대한 자세한 내용은 여기 참조.[무료] 무료 서버 프론트엔드.[7] 무료 서버 프론트엔드이니만큼 스케쥴링이 매우 제한적이며, 웹을 통한 외부 접속이 아예 지원이 안 되는 등 제약사항이 많이 있다. 대신 디스코드 봇을 통한 서버 관리는 지원.[유료] [9] 월정액 월 7.95달러. 로컬 시간대가 지원하여 스케쥴링이 용이하나, UI 디자인이 CubeCoders AMP에 비해 다소 빈약한 편이다. 다중 언어가 지원되나 정작 한국어는 지원이 안 되고 있다.[무료] [11] 웹을 통한 외부 접속 지원. UI 디자인이 괜찮으나 리눅스 전용이라 윈도우 전용 MOD를 이용하는 운영자에게는 추천되지 않는다. 현재는 핵심 개발자들이 다른 프로젝트로 떠나면서 사실상 버려진 상태다.[유료] [CubeCoders_AMP] [무료] [무료] [16] WindowsGSM과는 상관이 없는 프로그램. 오로지 CUI만 지원된다.