반응형


로비서버

ex) 스타 배넷

채팅서버의 확장

게임은 P2P로 이루어진다.

길드, 클랜, 아이템 구매지원

실제 게임 전 플레이 할 상대를 찾는 곳

레벨별 그룹화 지원

최근에는 Client/Server로 실제 게임 구현하는 추세

=> 아마 Data Duplication이랑 Application 을 클라/ 서버에서 각각 따로 해준다고 한것 같음.


MMOG서버

MUD의 서버

게임 컨텐츠가 다 들어있다.

서버 부하 큼


-목표

렉X, 안정화된 서버

경제시스템, 커뮤니티

이벤트, 공성전, 혈맹전..

-해결

효율척 프로그래밍

부하분산(여러 컴퓨터로)



부하분산

서버분리 (샤딩, Sharding)

기능별 분산

공간분할(월드 분할)


1. 서버분리(샤딩, Sharding)

ex)메이플-스카니아->1~20개의 채널

다른 월드로 이동 불가

돈 지불 하면 월드이전 가능한 서비스

DB분리되어있다.

근데 대체로 통합하는 추세인것 같음

=>공동 경매장(메이플), 공동인던, 서버간 결투 등등

2. 기능별 분산구현

Main, Login, AI, DB Server.....

근데 문제가

Main Server에 부하가 집중됨 -> 더 나눌 수 없음(통신 부담 증가)

해결책

- 공간 분할 : Zone Server

전체 맵을 지역별로 나누어서 다른 서버가 관리

Portal 방식        : Wow의 대륙 분할(로딩 필요)

 구현쉬움, 게임성 떨어짐, 로딩, 플레이어 단절

Seamless 방식    : BigWorld(로딩 필요없음 but 구현 어려움)

 구현어렵, 경계선 근처에 서 있는 물체 2개.

- 접속 분할 : Duplicate Server

동일 공간의 Clone을 만들어 각각 다른 서버가 관리

샤딩과 다름(샤딩은 따로 DB존재)






반응형

'이론공부 > 이것저것 공부' 카테고리의 다른 글

데이터베이스 솔루션 정리  (0) 2021.06.18
포인터 의 크기 in c/c++  (0) 2021.01.04
커널 오브젝트  (0) 2020.12.14
volatile  (0) 2018.03.18
게임서버 시작  (0) 2017.05.01

+ Recent posts