데디케이티드 서버
'''Dedicated Server'''
클라이언트-서버 구조를 기반으로, 호스트 역할만을 전담하는 하나의 시스템이 모든 사용자들을 수용하는 방식의 게임 서버를 말한다. 사용자의 게임 클라이언트 자체를 서버 호스트로 지정하는 리슨 서버(Listen Server) 혹은 피어 투 피어(Peer-to-Peer) 방식과 구별된다.
간단하게 얘기하면 MMORPG 같은 게임에서 24시간 돌아가는 서버가 바로 데디케이티드 서버다. 중요한 차이는 서버가 게임의 거의 모든 판정을 도맡는다는 점이다.
이런 데디케이티드 서버는 일반 사용자가 리슨 서버와 비교했을 때 리슨 서버가 이루지 못하는 점들을 모두 장점으로 가진다. 리슨 서버는 사용자 중 누군가가 호스트가 되므로 게임이 언제 중단될 수도 있고 회선이 불안정할 수도 있다. 그러나 데디케이티드 서버는 당연히 이런 일이 없다.
당연히 데디케이티드 서버만 만들면 누구나가 행복해질거라 생각하기 쉽지만, 데디케이티드 서버는 우선 장시간 운영으로 인해 비용의 문제가 발생할 수 있으며 안정적인 서비스는 가능하지만 빠른 속도를 보장해 주지는 못한다. 격투게임 처럼 1초에 60번씩(=17ms) 판정을 체크해야 하는 경우에는 당연히 P2P의 속도를 데디케이티드 서버가 보장해줄 수는 없다.
한국에서는 바람의 나라가 먼저 사용함으로써 여러 분야에서 최초 타이틀을 확보했다. 또한 대다수의 패키지 게임이 개인 데디케이티드 서버 기능을 도입했지만, 여전히 리슨 서버를 사용하는 경우 또한 많다. 참고로, 콜 오브 듀티: 모던 워페어 2는 전작에서 지원했던 데디케이티드 서버를 삭제하고 리슨 서버를 사용하여 빈축을 산 바 있다. 게다가 이를 악용해서 각종 핵을 사용하는 경우도 늘어나고 있다.
대부분의 상업 온라인 게임들은 당연히 데디케이티드 서버를 사용하고 있다. 그러나 모든 부분이 데디케이티드 서버를 이용하는 것은 아니고, 빠른 반응속도가 필요한 액션 MORPG 같은 경우는 부분적으로 P2P 연결을 통해 구현하고 있다.
그리고 게임 개발사가 아닌 일반 사용자가 GameServers.com, i3D.net 등 서버 호스팅 업체로부터 서버를 임대받아 운영하는 경우도 있다. 콜 오브 듀티: 블랙 옵스 이후의 시리즈와 배틀필드 3의 데디케이티드 서버가 바로 이런 경우. 특정 사용자가 서버를 관리하는 방식이긴 하지만, 해당 게임 내의 호스트가 되는 것이 아니라 여러 유저들을 수용하는 하나의 시스템을 '''빌려서''' 운영하는 것이므로 이것 역시 데디케이티드 서버와 마찬가지다. 이 방식은 개인이 운영하는 데디케이티드 서버보다 훨씬 안정적이고, 서버를 임대한 개인이 게임 내에 조작 등을 할 수 없다는 장점이 있다. 그러나 월마다 서버 회사에 비용을 지불해야 하는 부담해야하며 또한 자신이 살고 있는 국가에 해당 서버 회사가 서비스를 하지 않을 경우 말짱 도루묵이 된다.
FPS 게임 오버워치와 배틀그라운드가 데디케이티드 서버이다.
데디케이티드 서버 방식은 게임회사 입장에서 많은 서버 운용 비용이 들어간다는 문제가 있다. 하지만 이런 단점을 한번에 씹어먹는 큰 장점이 있는데, 바로 핵에 강하다는거다. 그럴수밖에 없는게, 클라이언트에서 제아무리 메모리 해킹하고 자기가 하는 뻘짓은 서버가 전부다 무시해버리기 때문이다. 피어 투 피어나 리슨 서버 방식은 서버가 무시할 수 있는 방법이 전혀 없다. 애당초 데디케이티드 서버 자체가 없기 때문이다.
그렇다고 데디케이티드 서버가 무조건 핵에 강하다는건 아니다. 행여나 플레이어의 이동 처리나 투사체 사격 판정을 클라이언트에서 해버리면 피어 투 피어나 리슨 서버와 동급으로 말짱 도루묵이다. 데디케이티드 서버라도 그냥 핵에 탈탈 털린다. 의외로 꽤 많은 게임이 이동과 투사체 사격 판정을 클라이언트에서 하고 있다.
아니면 그냥 확인 안하고 클라이언트가 보내는 대로 받아 처먹어도 당연히 약하다.
리슨 서버는 간단히 말하면 스타크래프트의 LAN 멀티플레이어 같은 개념이다. 플레이어 누군가 한 명이 호스트(일명 방장)가 되고 나머지가 클라이언트가 되는 방식이다. 호스트가 나가면 게임 서버도 닫히고, 호스트와 클라이언트의 사정에 따라 회선 사정도 크게 변할 수 있으나 기본적으로 다들 가까이 있다면 대역폭 면에 있어서는 큰 이득을 얻을 수 있다. 호스트만 문제가 되지 않으면 게임을 유지하는데도 큰 어려움도 없다. 때문에 랜파티 같은데서 자주 사용되는 방식이다.
온라인 게임에서도 리슨 서버 방식을 쓰는 경우가 있다. 데디케이티드 서버로 구동하기에는 서버에서 처리해야 하는 양이 너무 많거나 서버 유지비를 절약하기 위한 경우이다. 땅덩이가 넓지만 인터넷 회선이 느린 지역(가령 중국이나 동남아시아)에서 FPS 게임처럼 네트워크 품질에 민감한 게임에서 채택하기도 한다.
리슨 서버 방식은 호스트의 품질에 크게 영향을 받는 단점이 있다. 온라인 게임 제작에서, 리슨 서버 방식보다는 피어 투 피어나 데디케이티드 서버 방식을 선호하고 있다.
게임에서 필요한 연산을 하는건 P2P처럼 클라이언트가 하지만 그 패킷을 주고 받는 상대가 다른 플레이어가 아니라 게임사가 대여하거나 자체적으로 구축한 Listen Server다. Listen Server는 단지 패킷을 받아서 받은 시간을 측정하여 내부에 값을 저장하고 다른 플레이어들이 보내온 패킷값과 비교해서 누가 얼마의 데미지를 언제 주었는가, 누가 누굴 죽였는가, 어디에서 어디로 움직였는가같은 값을 기록하며 플레이어들에게 그런 정보가 담긴 패킷을 다시 보내서 플레이어들이 동기화할 수 있도록 해준다. P2P 매치메이킹 서버 호스팅 가격보다야 비교적 더 돈이 들어가지면 그래도 여전히 AWS처럼 무지막지한 연산능력으로 게임 전체를 서버에서 연산하고 클라이언트는 서버가 보여주는 값을 토대로 그래픽 효과만 구현하는 것과는 하늘과 땅수준으로 서버유지비가 차이가 난다. P2P에 비해서 장점은 가정용 인터넷과는 달리 그래도 회사가 대여한 서버업체의 기업용 회선과 클라이언트들과 지리적으로 가까운 물리서버들 덕에 안정적이고 핑이 낮은 연결을 보장하며 클라이언트중 어느 하나가 심각하게 느리다고 해서 게임이 전체적으로 렉걸리는 상황이 벌어지지 않는다. 단점은 역설적이게도 '''핑'''. P2P는 어떤 한 플레이어가 다른 플레이어에 비해 우월하고 쾌적한 인터넷 접속 환경을 누리고 있더라도 다른 하나가 느리면 둘 다 누구도 인터넷 환경으로 인한 유리함을 얻지 못하고 둘다 패킷 동기화가 서로간의 핑 연결 레이턴시 만큼 느려지게 된다. 그러나 Client-Listen Server 방식은 클라이언트는 서버와의 연결만 신경쓰면 되고 서버는 수십밀리초 단위의 허용오차를 두고 먼저 들어온 패킷에 적혀있는 정보대로 서버에 기록하며 느리게 들어온 클라이언트의 패킷은 그냥 무시하고 기록된 정보를 그 클라이언트에 보내게된다. 이러면 운좋게 Listen Server에 지리적으로 가까운 곳에 사는 사람이 게임을 할때 보면 Listen Server으로부터 상대적으로 먼 거리에 사는 상대방들은 다 반응속도가 봇정도로 떨어지는 상태로 보이게 되며, 쓱 튀어나가서 상대방을 쏴서 죽여버리면 상대방의 클라이언트에서는 튀어나오는 동시에 죽였다는 패킷이 들어와서 일부러 실각을 잡고 대기하고 있어도 이제 막 나오려는 상대에게 총을 맞아 죽거나 상대가 이미 자신을 쏴서 죽였다고 Listen Server에 기록했다면 그 후부터는 쏴도 데미지가 안들어가게 된다. 게임사가 의도하지 않은 유불리가 게임상에 구현되는 것. 이는 넷코드와는 다른 개념이다. 이러한 Client-Listen Server를 채용한 게임은 레인보우 식스 시즈가 대표적인 사례다. AWS같은 Server Dominant의 경우엔 서버 내부에서 물리엔진을 구현하고 연산하는 과정중 클라이언트로부터 받아온 패킷에 담긴 정보를 허용오차내에서 수정하고 동기화 간격(틱 레이트)을 보정하는데, 이 보정이 때때로 과도하거나 혹은 있으나 마나한 수준으로 적용되기 때문에 발사된 총알의 탄착값이 클라이언트에서 의도한대로 서버에서 반영되지 않아서 상대방은 데미지를 전혀 안받고 나만 죽는 경우가 바로 그 유명한 넷코드 문제다. 이건 서버에서 틱 레이트를 올리거나 보정값을 수정하면 되지만 Client-Listen Server는 그딴거 없다. 설계 상의 헛점이라 고칠방도가 없기 때문에...
피어 투 피어의 가장 큰 특징은 별도의 서버와 클라이언트가 없으며 모두가 서버이고 모두가 클라이언트가 된다는 점이다. 각각의 피어는 플레이어 모두에게 신호를 주고 받는다. 적은 수의 플레이어가 대량의 토큰을 주고 받는데 가장 유리한 방식으로, 실시간 전략 시뮬레이션이나 격투 액션 게임에 가장 잘 어울린다. 던전 앤 파이터가 이 방식을 '''던전 입장 시'''부터 마을로 갈 때까지 적용시켜 활용하고 있다.
리슨 서버와 달리 호스트가 방폭을 해도 게임이 계속 유지된다는 장점이 있다. 그리고 호스트에 트래픽이 몰리는 문제도 해결되기 때문에 리슨 서버 방식보다 피어 투 피어 방식이 더 선호되고 있다. 스타크래프트의 배틀넷 등에서는 이 방식이 락스텝 동기화 알고리즘과 맞물려 필수적으로 사용되고 있다.
각각의 피어가 모두 서로간에 신호를 던지고 받는데, 싱크가 유지될 때까지 대기할 필요가 있는 게임들이 있다. 대전격투게임이나 전략시뮬레이션 게임이다. 이들은 회선이 대단히 빨라야 한다. 데디케이티드 서버는 이 방식을 쓰려면 가급적 세계 곳곳에 데디케이티드 서버를 구축해야 하는 문제가 있다. 피어 투 피어 방식을 쓰면 이 문제가 쉽게 해결된다. 데디케이티드 서버와의 네트워크 거리가 고려되지 않아도 되기 때문이다.
P2P는 한 세션에서 게임을 하는 유저들끼리 서로에게 서버가 되어주는 방식이다. 게임 회사는 다만 서로 매치메이킹을 할 수 있도록 매칭서버만 호스팅해주면 된다. 서버에서 연산이 가능하도록 설비에 돈을 투자하지 않아도 되니 게임회사야 좋겠지만 게임을 하다가 말고 누군가 나가면 1대1이면 게임 자체가 폭파되고 다 대 다의 경우엔 연결을 초기화하면서 렉이 걸리게 된다. 다른 게임과 달리 던전 앤 파이터에서 파티플레이 중 파티원 중 한명이라도 인터넷이 안좋으면 파티원 전체에게 영향이 가는것과 스타크래프트 1에서 가끔 게임을 하다말고 누가 나가면 소위 겹핑이 걸려서 게임 전체가 느려지는 경우가 바로 이것 때문이다. 단점은 이뿐만이 아니며 가정용 인터넷과 서버용 회선은 그 급부터가 달라서 P2P는 본질적으로 한번에 많은 인원을 수용하는 게임에는 적절하지 못하다. P2P 회선 방식은 개개인마다 모두 엮어줘야하기때문에 파티원이 늘어날수록 필요한 회선 수가 기하급수적으로 늘어나기 때문.단적으로 2인이면 양방향으로 1개지만, 3인이면 3개, 4인이면 6개,이후 인수가 늘어날수록 10,15,21,28개...로[1] 6인만 되어도 4인에 비해 2배가 넘는 회선이 필요하고 8인이면 5배 가까이 필요하다.
이때문에 P2P시스템을 고집하는 던전 앤 파이터는 2014년 최초의 레이드 안톤 레이드를 기획할 때, 다른 게임의 레이드처럼 다인 파티 레이드로 기획하였으나, 실제 구현은 4인 파티 단위로 쪼개져서 던전을 클리어하는 방식으로 구현되었고 이는 이후 레이드에도 계속 동일하게 적용되었다. 사실상 앞으로도 P2P방식을 고집하는 이상 고칠 수 없다.
리슨 서버 방식과 피어 투 피어 방식은 인터넷 공유기에서 잘 작동하지 않는 문제가 있다. 이를 해결하려면 홀펀칭이나 릴레이 같은 기법을 구사해야 한다. 프라우드넷 같은 것이 이런 것을 잘 해주는 것으로 알려져 있다.
네이버 클라우드의 네이버클라우드플랫폼, 아마존닷컴의 Amazon Web Services나 마이크로소프트의 Microsoft Azure 같은 서비스들은 클라우드 컴퓨팅 기반의 데디케이티드 서버라고 할 수 있다. 각 게임사들이 모두 자체적인 서버를 갖추기에는 한계가 있으므로, 이런 호스팅 서비스들을 이용해 비용을 효과적으로 아끼면서도 아마존 또는 MS가 관리하는 좋은 성능의 서버를 활용할 수 있는 것이다. AWS와 Azure를 활용하는 게임의 예시로 각각 배틀그라운드와 타이탄폴을 들 수 있다.
한국 온라인 FPS 게임 AVA는 초기엔 국내에 흔치 않은 리슨 서버를 이용했었으나, 결국 2012년 들어서 데디케이티드 서버로 전환하였다. 확실히 리슨 서버를 이용할 땐 사용자들의 인터넷 연결 수준에 따른 반응속도 차이가 심각했고, 방장이 바뀔 때마다 게임이 정지되는 불편함이 있었지만 데디케이티드 서버를 이용하기 시작한 이후로는 이런 문제가 없어졌다.
카운터 스트라이크 온라인 역시 한국에선 보기 힘든 리슨 서버를 사용 중이다. 원작 카운터 스트라이크의 느낌을 살리려는 의도인 듯. 이 때문에 핵도 못 잡고 있는 상황이었는데, 마침내 2013년 10월 24일 업데이트를 통해 데디케이티드 서버를 제한적으로 지원하기 시작했고 2013년 11월 7일 업데이트를 거쳐 전체 서버로 확대되었다.
1. 개요
클라이언트-서버 구조를 기반으로, 호스트 역할만을 전담하는 하나의 시스템이 모든 사용자들을 수용하는 방식의 게임 서버를 말한다. 사용자의 게임 클라이언트 자체를 서버 호스트로 지정하는 리슨 서버(Listen Server) 혹은 피어 투 피어(Peer-to-Peer) 방식과 구별된다.
2. 상세
간단하게 얘기하면 MMORPG 같은 게임에서 24시간 돌아가는 서버가 바로 데디케이티드 서버다. 중요한 차이는 서버가 게임의 거의 모든 판정을 도맡는다는 점이다.
이런 데디케이티드 서버는 일반 사용자가 리슨 서버와 비교했을 때 리슨 서버가 이루지 못하는 점들을 모두 장점으로 가진다. 리슨 서버는 사용자 중 누군가가 호스트가 되므로 게임이 언제 중단될 수도 있고 회선이 불안정할 수도 있다. 그러나 데디케이티드 서버는 당연히 이런 일이 없다.
당연히 데디케이티드 서버만 만들면 누구나가 행복해질거라 생각하기 쉽지만, 데디케이티드 서버는 우선 장시간 운영으로 인해 비용의 문제가 발생할 수 있으며 안정적인 서비스는 가능하지만 빠른 속도를 보장해 주지는 못한다. 격투게임 처럼 1초에 60번씩(=17ms) 판정을 체크해야 하는 경우에는 당연히 P2P의 속도를 데디케이티드 서버가 보장해줄 수는 없다.
한국에서는 바람의 나라가 먼저 사용함으로써 여러 분야에서 최초 타이틀을 확보했다. 또한 대다수의 패키지 게임이 개인 데디케이티드 서버 기능을 도입했지만, 여전히 리슨 서버를 사용하는 경우 또한 많다. 참고로, 콜 오브 듀티: 모던 워페어 2는 전작에서 지원했던 데디케이티드 서버를 삭제하고 리슨 서버를 사용하여 빈축을 산 바 있다. 게다가 이를 악용해서 각종 핵을 사용하는 경우도 늘어나고 있다.
대부분의 상업 온라인 게임들은 당연히 데디케이티드 서버를 사용하고 있다. 그러나 모든 부분이 데디케이티드 서버를 이용하는 것은 아니고, 빠른 반응속도가 필요한 액션 MORPG 같은 경우는 부분적으로 P2P 연결을 통해 구현하고 있다.
그리고 게임 개발사가 아닌 일반 사용자가 GameServers.com, i3D.net 등 서버 호스팅 업체로부터 서버를 임대받아 운영하는 경우도 있다. 콜 오브 듀티: 블랙 옵스 이후의 시리즈와 배틀필드 3의 데디케이티드 서버가 바로 이런 경우. 특정 사용자가 서버를 관리하는 방식이긴 하지만, 해당 게임 내의 호스트가 되는 것이 아니라 여러 유저들을 수용하는 하나의 시스템을 '''빌려서''' 운영하는 것이므로 이것 역시 데디케이티드 서버와 마찬가지다. 이 방식은 개인이 운영하는 데디케이티드 서버보다 훨씬 안정적이고, 서버를 임대한 개인이 게임 내에 조작 등을 할 수 없다는 장점이 있다. 그러나 월마다 서버 회사에 비용을 지불해야 하는 부담해야하며 또한 자신이 살고 있는 국가에 해당 서버 회사가 서비스를 하지 않을 경우 말짱 도루묵이 된다.
FPS 게임 오버워치와 배틀그라운드가 데디케이티드 서버이다.
데디케이티드 서버 방식은 게임회사 입장에서 많은 서버 운용 비용이 들어간다는 문제가 있다. 하지만 이런 단점을 한번에 씹어먹는 큰 장점이 있는데, 바로 핵에 강하다는거다. 그럴수밖에 없는게, 클라이언트에서 제아무리 메모리 해킹하고 자기가 하는 뻘짓은 서버가 전부다 무시해버리기 때문이다. 피어 투 피어나 리슨 서버 방식은 서버가 무시할 수 있는 방법이 전혀 없다. 애당초 데디케이티드 서버 자체가 없기 때문이다.
그렇다고 데디케이티드 서버가 무조건 핵에 강하다는건 아니다. 행여나 플레이어의 이동 처리나 투사체 사격 판정을 클라이언트에서 해버리면 피어 투 피어나 리슨 서버와 동급으로 말짱 도루묵이다. 데디케이티드 서버라도 그냥 핵에 탈탈 털린다. 의외로 꽤 많은 게임이 이동과 투사체 사격 판정을 클라이언트에서 하고 있다.
아니면 그냥 확인 안하고 클라이언트가 보내는 대로 받아 처먹어도 당연히 약하다.
3. 리슨 서버
리슨 서버는 간단히 말하면 스타크래프트의 LAN 멀티플레이어 같은 개념이다. 플레이어 누군가 한 명이 호스트(일명 방장)가 되고 나머지가 클라이언트가 되는 방식이다. 호스트가 나가면 게임 서버도 닫히고, 호스트와 클라이언트의 사정에 따라 회선 사정도 크게 변할 수 있으나 기본적으로 다들 가까이 있다면 대역폭 면에 있어서는 큰 이득을 얻을 수 있다. 호스트만 문제가 되지 않으면 게임을 유지하는데도 큰 어려움도 없다. 때문에 랜파티 같은데서 자주 사용되는 방식이다.
온라인 게임에서도 리슨 서버 방식을 쓰는 경우가 있다. 데디케이티드 서버로 구동하기에는 서버에서 처리해야 하는 양이 너무 많거나 서버 유지비를 절약하기 위한 경우이다. 땅덩이가 넓지만 인터넷 회선이 느린 지역(가령 중국이나 동남아시아)에서 FPS 게임처럼 네트워크 품질에 민감한 게임에서 채택하기도 한다.
리슨 서버 방식은 호스트의 품질에 크게 영향을 받는 단점이 있다. 온라인 게임 제작에서, 리슨 서버 방식보다는 피어 투 피어나 데디케이티드 서버 방식을 선호하고 있다.
게임에서 필요한 연산을 하는건 P2P처럼 클라이언트가 하지만 그 패킷을 주고 받는 상대가 다른 플레이어가 아니라 게임사가 대여하거나 자체적으로 구축한 Listen Server다. Listen Server는 단지 패킷을 받아서 받은 시간을 측정하여 내부에 값을 저장하고 다른 플레이어들이 보내온 패킷값과 비교해서 누가 얼마의 데미지를 언제 주었는가, 누가 누굴 죽였는가, 어디에서 어디로 움직였는가같은 값을 기록하며 플레이어들에게 그런 정보가 담긴 패킷을 다시 보내서 플레이어들이 동기화할 수 있도록 해준다. P2P 매치메이킹 서버 호스팅 가격보다야 비교적 더 돈이 들어가지면 그래도 여전히 AWS처럼 무지막지한 연산능력으로 게임 전체를 서버에서 연산하고 클라이언트는 서버가 보여주는 값을 토대로 그래픽 효과만 구현하는 것과는 하늘과 땅수준으로 서버유지비가 차이가 난다. P2P에 비해서 장점은 가정용 인터넷과는 달리 그래도 회사가 대여한 서버업체의 기업용 회선과 클라이언트들과 지리적으로 가까운 물리서버들 덕에 안정적이고 핑이 낮은 연결을 보장하며 클라이언트중 어느 하나가 심각하게 느리다고 해서 게임이 전체적으로 렉걸리는 상황이 벌어지지 않는다. 단점은 역설적이게도 '''핑'''. P2P는 어떤 한 플레이어가 다른 플레이어에 비해 우월하고 쾌적한 인터넷 접속 환경을 누리고 있더라도 다른 하나가 느리면 둘 다 누구도 인터넷 환경으로 인한 유리함을 얻지 못하고 둘다 패킷 동기화가 서로간의 핑 연결 레이턴시 만큼 느려지게 된다. 그러나 Client-Listen Server 방식은 클라이언트는 서버와의 연결만 신경쓰면 되고 서버는 수십밀리초 단위의 허용오차를 두고 먼저 들어온 패킷에 적혀있는 정보대로 서버에 기록하며 느리게 들어온 클라이언트의 패킷은 그냥 무시하고 기록된 정보를 그 클라이언트에 보내게된다. 이러면 운좋게 Listen Server에 지리적으로 가까운 곳에 사는 사람이 게임을 할때 보면 Listen Server으로부터 상대적으로 먼 거리에 사는 상대방들은 다 반응속도가 봇정도로 떨어지는 상태로 보이게 되며, 쓱 튀어나가서 상대방을 쏴서 죽여버리면 상대방의 클라이언트에서는 튀어나오는 동시에 죽였다는 패킷이 들어와서 일부러 실각을 잡고 대기하고 있어도 이제 막 나오려는 상대에게 총을 맞아 죽거나 상대가 이미 자신을 쏴서 죽였다고 Listen Server에 기록했다면 그 후부터는 쏴도 데미지가 안들어가게 된다. 게임사가 의도하지 않은 유불리가 게임상에 구현되는 것. 이는 넷코드와는 다른 개념이다. 이러한 Client-Listen Server를 채용한 게임은 레인보우 식스 시즈가 대표적인 사례다. AWS같은 Server Dominant의 경우엔 서버 내부에서 물리엔진을 구현하고 연산하는 과정중 클라이언트로부터 받아온 패킷에 담긴 정보를 허용오차내에서 수정하고 동기화 간격(틱 레이트)을 보정하는데, 이 보정이 때때로 과도하거나 혹은 있으나 마나한 수준으로 적용되기 때문에 발사된 총알의 탄착값이 클라이언트에서 의도한대로 서버에서 반영되지 않아서 상대방은 데미지를 전혀 안받고 나만 죽는 경우가 바로 그 유명한 넷코드 문제다. 이건 서버에서 틱 레이트를 올리거나 보정값을 수정하면 되지만 Client-Listen Server는 그딴거 없다. 설계 상의 헛점이라 고칠방도가 없기 때문에...
4. 피어 투 피어
피어 투 피어의 가장 큰 특징은 별도의 서버와 클라이언트가 없으며 모두가 서버이고 모두가 클라이언트가 된다는 점이다. 각각의 피어는 플레이어 모두에게 신호를 주고 받는다. 적은 수의 플레이어가 대량의 토큰을 주고 받는데 가장 유리한 방식으로, 실시간 전략 시뮬레이션이나 격투 액션 게임에 가장 잘 어울린다. 던전 앤 파이터가 이 방식을 '''던전 입장 시'''부터 마을로 갈 때까지 적용시켜 활용하고 있다.
리슨 서버와 달리 호스트가 방폭을 해도 게임이 계속 유지된다는 장점이 있다. 그리고 호스트에 트래픽이 몰리는 문제도 해결되기 때문에 리슨 서버 방식보다 피어 투 피어 방식이 더 선호되고 있다. 스타크래프트의 배틀넷 등에서는 이 방식이 락스텝 동기화 알고리즘과 맞물려 필수적으로 사용되고 있다.
각각의 피어가 모두 서로간에 신호를 던지고 받는데, 싱크가 유지될 때까지 대기할 필요가 있는 게임들이 있다. 대전격투게임이나 전략시뮬레이션 게임이다. 이들은 회선이 대단히 빨라야 한다. 데디케이티드 서버는 이 방식을 쓰려면 가급적 세계 곳곳에 데디케이티드 서버를 구축해야 하는 문제가 있다. 피어 투 피어 방식을 쓰면 이 문제가 쉽게 해결된다. 데디케이티드 서버와의 네트워크 거리가 고려되지 않아도 되기 때문이다.
P2P는 한 세션에서 게임을 하는 유저들끼리 서로에게 서버가 되어주는 방식이다. 게임 회사는 다만 서로 매치메이킹을 할 수 있도록 매칭서버만 호스팅해주면 된다. 서버에서 연산이 가능하도록 설비에 돈을 투자하지 않아도 되니 게임회사야 좋겠지만 게임을 하다가 말고 누군가 나가면 1대1이면 게임 자체가 폭파되고 다 대 다의 경우엔 연결을 초기화하면서 렉이 걸리게 된다. 다른 게임과 달리 던전 앤 파이터에서 파티플레이 중 파티원 중 한명이라도 인터넷이 안좋으면 파티원 전체에게 영향이 가는것과 스타크래프트 1에서 가끔 게임을 하다말고 누가 나가면 소위 겹핑이 걸려서 게임 전체가 느려지는 경우가 바로 이것 때문이다. 단점은 이뿐만이 아니며 가정용 인터넷과 서버용 회선은 그 급부터가 달라서 P2P는 본질적으로 한번에 많은 인원을 수용하는 게임에는 적절하지 못하다. P2P 회선 방식은 개개인마다 모두 엮어줘야하기때문에 파티원이 늘어날수록 필요한 회선 수가 기하급수적으로 늘어나기 때문.단적으로 2인이면 양방향으로 1개지만, 3인이면 3개, 4인이면 6개,이후 인수가 늘어날수록 10,15,21,28개...로[1] 6인만 되어도 4인에 비해 2배가 넘는 회선이 필요하고 8인이면 5배 가까이 필요하다.
이때문에 P2P시스템을 고집하는 던전 앤 파이터는 2014년 최초의 레이드 안톤 레이드를 기획할 때, 다른 게임의 레이드처럼 다인 파티 레이드로 기획하였으나, 실제 구현은 4인 파티 단위로 쪼개져서 던전을 클리어하는 방식으로 구현되었고 이는 이후 레이드에도 계속 동일하게 적용되었다. 사실상 앞으로도 P2P방식을 고집하는 이상 고칠 수 없다.
5. 홀펀칭, 릴레이
리슨 서버 방식과 피어 투 피어 방식은 인터넷 공유기에서 잘 작동하지 않는 문제가 있다. 이를 해결하려면 홀펀칭이나 릴레이 같은 기법을 구사해야 한다. 프라우드넷 같은 것이 이런 것을 잘 해주는 것으로 알려져 있다.
6. 기타
네이버 클라우드의 네이버클라우드플랫폼, 아마존닷컴의 Amazon Web Services나 마이크로소프트의 Microsoft Azure 같은 서비스들은 클라우드 컴퓨팅 기반의 데디케이티드 서버라고 할 수 있다. 각 게임사들이 모두 자체적인 서버를 갖추기에는 한계가 있으므로, 이런 호스팅 서비스들을 이용해 비용을 효과적으로 아끼면서도 아마존 또는 MS가 관리하는 좋은 성능의 서버를 활용할 수 있는 것이다. AWS와 Azure를 활용하는 게임의 예시로 각각 배틀그라운드와 타이탄폴을 들 수 있다.
한국 온라인 FPS 게임 AVA는 초기엔 국내에 흔치 않은 리슨 서버를 이용했었으나, 결국 2012년 들어서 데디케이티드 서버로 전환하였다. 확실히 리슨 서버를 이용할 땐 사용자들의 인터넷 연결 수준에 따른 반응속도 차이가 심각했고, 방장이 바뀔 때마다 게임이 정지되는 불편함이 있었지만 데디케이티드 서버를 이용하기 시작한 이후로는 이런 문제가 없어졌다.
카운터 스트라이크 온라인 역시 한국에선 보기 힘든 리슨 서버를 사용 중이다. 원작 카운터 스트라이크의 느낌을 살리려는 의도인 듯. 이 때문에 핵도 못 잡고 있는 상황이었는데, 마침내 2013년 10월 24일 업데이트를 통해 데디케이티드 서버를 제한적으로 지원하기 시작했고 2013년 11월 7일 업데이트를 거쳐 전체 서버로 확대되었다.
[1] 인원수만큼모두 연결되어야하므로 쉽게 말하자면 인원수만큼의 다각형의 변 + 대각선갯수만큼 회선이 필요하다. 20인이면 20각형 대각선 170+변20개로 회선이 190개다.