본문 바로가기

ETC/Server

Dedicated Server / P2P Server / Listen Server

Dedicated Server


모든 client가 1개의 전용server를 중심으로 data를 주고받는다.(Client - Server구조 기반)

현재 MMORPG나 Online Game의 24시간 돌아가는 선택형 server가 대표적인 예


작동방식은 Client(User)가 field에 있는 상대방(다른 clinet, user)을 공격했다고 하면

공격했다는 data를  server에 보내게 되고 server에서 피격판졍, 미스판정을 확정하여 다시 모든 client에게 보내게 된다.


즉 server가 게임 대부분의 판정을 처리한다.



장점


Client의 모든 data의 감시가 가능하다.

Online game에서 불법프로그램을 사용하여 game을 진행한다면 전용server log에 기록이 되고 추후 user들의 신고에 의해 log확인 후 

불법 프로그램 사용자가 block처리 되는것처럼 모든 client의 data 감시가 가능하다.


일부 패치등을 추가시킬 경우 한번만 전용server에 upload 시키는것으로도 모든 client의 data를 update시킬 수 있다는 장점이 존재한다.



단점


전용server인 만큼 DDOS와 같은 공격을 당하여 server가 다운되면 모든 client가 전용server에서 data를 주고받을 수 없다.


핑이 높은 user는 data처리의 결과과수신이 늦어 불리해진다.

예를들어 전용server가 미국에 있고 한국 user(핑 200 ~ 250ms) 와 미국 user(핑 50 ~ 100ms)인 user끼리 전투를 할때


한국 user가 먼저 미국user을 공격하더라도 응답속도가 빠른 미국user가 먼저 공격에 대한 결과를 받게 되므로

한국user가 먼저치고 미국user가 먼저맞고 반격을하더라도 Ingame에서는 미국user가 먼저 때린것으로 처리된다.


즉 순간적인 응답속도가 중요한 FPS game이나 대전 격투 game에서는 알맞지 않다.





P2P(peer to peer) Server


Client이면서도 Client가 Server인 개념


이런식으로 user끼리 서로에게 data를 보내주어 처리하고 처리된 data를 받는것도 동시에 한다.

그러므로 인원을 모아 game을 할때 ping이 심하다는 느낌을 받지 않는 이유가 이러한 이유이다.



장점


같은 지역의 user들이 모여서 game을 하는 경우 매우 빠른 응답속도를 보장받는다.



단점


불법프로그램을 잡기가 다소 힘들다.

Client간에 주고받는 data량이 많으므로 회선의 부하가 크다.

서로 사용하는 data가 다른경우 client간의 data를 서로에게 맞도록 맞추어야한다.





Listen Server


간단히 말하면 Player중 누군가 한명이 host(일명 방장)가 되고 나머지가 client가 되는 방식이다.

Host가 나가면 game server가 닫히고 host와 client의 사정에 따라 회선 사정도 크게 변할 수 있다.

스타크래프트의 LAN멀티 플레이같은 개념이고 온라인게임에서 잘 사용하지 않는다.


온라인 게임에서 사용하는 경우는 dedicated server로 구동하기에는 server에서 처리해야하는 양이 너무많거나 

server유지비를 절약하기 위해 사용하고

인터넷 회선이 느린지역에서 FPS game처럼 network 품질에 민감한 game server에서 종종사용한다.










참고

http://www.plone.co.kr/bbs/board.php?bo_table=freeboard&wr_id=78445


'ETC > Server' 카테고리의 다른 글

HTTP / FTP / Socket  (0) 2019.03.11
Multi play game의 server 형태와 그 특징  (0) 2019.03.07
Network Transport / RPC  (0) 2019.03.05
IOCP  (0) 2019.03.01
Get방식과 Post방식  (0) 2019.02.26