● 서버 엔진 기술

* 객체지향 엔진개발 기술 : 객체지향 엔진을 개발하기 위해 먼저 구현 가능한 모든 객체 데이터들에 대한 모델링을 하여 클래스로 구현한다. 객체 지향적인 개발은 엔진의 확장성과 재사용성을 극대화함으로써 플레이어들이 게임을 만들어나가는 온라인 롤플레잉 게임에 적절하다.

* 대용량의 공간, 비공간데이터 처리기술 : 서버를 운영하는데 필요한 대용량의 모든 데이터를 효율적으로 구축하고 사용하기 위해 객체 지향적인 데이터베이스 구조가 필요하다.

* 비대칭 다중서버를 위한 분산처리 기술 : 게임서버에서 맵 데이터를 일정크기로 나누어 가지고 각 Map에 접속하는 플레이어들을 관리하는 형태이다.

* 사용자 인증과 데이터 봉안처리 기술 : 서버에 대한 임의의 접근을 막기 위해 방화벽을 설치하고 데이터 전송 중에 발생하는 변조, 위조를 막기 위해 다단계의 암호화 방법을 이용한다.


* TIP/IP 기반의 실시간 네트워크 처리기술 : 플레이어들의 데이터 서버에 전공하고 처리결과를 받아오기 위해 Socket Protocol을 이용한다. 서버 엔진과 클라이언트 엔진은 각각의 소켓으로 만들어진 Network Interface를 통해 서로 통신한다.


② 엔진 구성요소

* Class Manager : 게임 속에 존재하는 모든 객체를 크게 PC, NPC, Item, World로 클래스화 하여 정의하고 이를 처리한다.

* Store Manager : 클래스화 된 객체저장, 플레이어에 대한 정보저장, 관리 및 효율적인 색인방법을 이용한 검색을 담당한다.

* Object Manager : 본 게임속에 있는 모든 객체를 통제하는 부분으로 Message Handler에서 넘어온 데이터를 처리한다.

* Message Handler : 플레이어로부터 받은 정보를 해석하고 Object Manager를 호출하여 메시지를 넘겨준다.

* Thread Handler : 다수의 플레이어를 관리하기 위해 Thread를 생성하여 플레이어간의 동기화 및 데이터 공유 문제등을 처리한다.

* Object Migration Hadler : 비대칭형 분산서버 구조를 사용함으로써 생기는 객체 이전현상을 처리하는 부분으로 객체이전은 플레이어가 게임중에 서버를 옮길때 발생한다.

* Network Interface : 실제 클라이언트와 서버간의 통신을 담당하는 부분으로 크게 데이터 전송파트와 보안파트로 나누어진다.

'Development > 온라인 게임 서버' 카테고리의 다른 글

게임 서버의 구조(2)  (0) 2010.10.13
게임 서버의 구조(1)  (0) 2010.10.13
안정적인 DNS서비스 DNSEver DNS server, DNS service
Posted by 키르히아이스
,