언리얼에서 사용되는 서버-클라이언트 모델은 리슨 서버와 전용 서버(데디케이티드 서버)가 있습니다.
데디케이티드 서버와 리슨서버 + P2P
데디케이티드 서버는 호스트 역할만을 전담하는 하나의 시스템이 모든 사용자들 즉, 클라이언트들을 수용하는 방식의 게임 서버 모델입니다. 즉, 호스트 컴퓨터가 모든 클라이언트를 담당하는 것입니다.
데디케이티드 서버를 사용하면 365일 24시간 물리적인 서버가 켜져있기 때문에 모든 유저들은 특정 서버에 접속하여 게임을 할 수 있습니다.
반대로, 리슨서버는 사용자의 게임 클라이언트 자체가 서버 호스트가 되는 모델입니다. 즉, 클라이언트 중 한명이 호스트를 담당하여 서버의 역할을 갖는 것입니다.
또한 게임에 참가한 모두가 호스트 역할을 수행하는 P2P(피어 투 피어)라고도 방식이 있습니다.
리슨서버는 캐주얼 멀티플레이어 및 협동 플레이에 적합하고, 데디서버는 대규모 또는 경쟁 게임에 이상적입니다.
정보
서든어택처럼 방을 만드는 게임이 리슨서버로 만들어진 것 같다.
데디케이티드 서버 특징
- 데디케이티드 서버는 리슨서버와 달리 호스트가 직접 서버를 운영하기 때문에, 안정적인 서비스를 제공할 수 있습니다.
- 모든 서비스를 호스트가 운영하기 때문에 호스트에겐 비용이 많이 발생할 수 있습니다.
- 데디케이티드 서버는 핵에 강합니다. 대부분의 핵은 클라이언트를 조작하여 발생하는 경우가 많은데, 데디케이티드 서버는 이를 감지하여 비정상적인 행동을 제재하거나 막을 수 있기 때문입니다.
- 일부 패치를 추가할 때도 한번만 전용 서버에 업로드시키는 것으로 모든 클라이언트의 데이터를 업데이트 시킬 수 있습니다.
- 서버가 보안공격을 당해서 다운되면 모든 클라이언트는 서버를 통해 데이터를 주고받을 수 없습니다.
- 핑이 높은 유저는 데이터 처리의 수신이 늦어 게임플레이에 불리해질 수 있습니다. 따라서 순간적인 응답속도가 중요한 FPS 게임이나 대전 격투 게임에는 알맞지 않습니다.
정보
바람의나라가 데디케이티드 서버로 만들어진 첫 게임이다?
리슨서버 특징
- 리슨서버는 개인의 컴퓨터 중 하나가 서버의 역할을 해준다고 할 수 있기 때문에 서비스 유지 비용이 적게 듭니다.
- 물리적으로 가까운 사람끼리 한다면 데디케이티드 서버보다 빠를 수 있습니다.
- 호스트의 기기 성능에 따라 품질이 달라질 수 있습니다.
- 호스트가 게임을 종료할 경우, 게임을 일시정지하고 남은 클라이언트 중 한 명을 호스트로 선정하는 절차가 필요합니다.
- 클라이언트에서 하는 일이 많아질수록 보안에 취약한데, 리슨 서버는 호스트가 없고 클라이언트끼리 서버를 자처하므로 해킹에 취약하다.
P2P 서버 (Peer to Peer)
- 클라이언트들은 서로 직접 연결된 상태입니다.
- 클라이언트가 직접 연산하고, 그 값을 다른 클라이언트에게 전파합니다.
- 전용서버가 없다는 점에서 리슨 서버와 유사하지만, 서로 연결되어 있기에 어느 한 명이 게임을 나가도 새로운 호스트를 찾는 절차가 필요 없습니다.
- P2P는 서로 연결되어 있기 때문에 클라이언트가 많아지면 각자의 연산이 급격하게 늘어납니다. 따라서 통상적으론 P2P 방식은 16명의 클라이언트를 넘기지 않습니다.
- 같은 지역의 유저들이 모여서 게임을 하는경우엔 매우 빠른 응답속도를 보장받을 수 있습니다.
- 불법 프로그램(핵)을 잡기 힘듭니다.
https://melonicedlatte.com/web/2020/01/11/162200.html
데디케이티드 서버란? 개념 설명 - Easy is Perfect
데디케이티드 서버의 개념 클라이언트 서버 구조를 기반으로 호스트 역할을 수행하는 시스템이 존재하고, 이 시스템에서 모든 클라이언트를 수용할 수 있는 서버입니다. Dedicated Server는 단독으
melonicedlatte.com
데디케이티드 서버( Dedicated Server )
Dedicated의 의미 - Dedicated : '단독', '전용(專用)', '남과 공동으로 쓰지 않고 혼자서만 씀' -&...
blog.naver.com
https://alpaca-code.tistory.com/58
게임 서버의 종류 정리
게임의 서버에는 여러 종류가 있다. 자신의 게임 유형, 특징에 따라 올바른 방법을 사용하여 더 빠르고, 원활한 서버를 만들어야 한다. 그에 따라 몇 가지 방법을 소개하기 전에, 우리는 호스트,
alpaca-code.tistory.com
'👩🏻💻기초지식 > Unreal' 카테고리의 다른 글
[Unreal] FName, FText, FString (0) | 2023.11.07 |
---|---|
[Unreal] 리플리케이션 (Replication) : Actor (0) | 2023.10.19 |
[Unreal] 가비지 컬렉션 (Garbage Collection) (0) | 2023.08.16 |
[Unreal] 리플렉션(Reflection) (0) | 2023.08.11 |
[Unreal] 서비스 노드란? (BTService) (0) | 2023.08.09 |