728x90

게임 서버를 구현하려면 무엇이 필요한가?

서버/클라이언트 모델의 온라인 게임을 만들기 위해 게임서버 빌드를 만들고 호스팅해야 함

서버빌드 ->(서버 엔진파트 , 게임 컨텐츠 파트)

서버 엔진파트 -> Transport 설계, 소켓통신 , API등 전반적인 네트워킹과 관련된 것들을 구현

게임 컨텐츠 파트 -> 게임의 온라인 컨텐츠 기능을 구현하는 부분

 

서버 엔진파트를 구현하는 방법에는 크게 두가지가 존재

1. 자체적으로 성능과 필요한 기능 등을 고려해 서버 엔진을 팀에서 자체적으로 제작 하는 방법

장점으로는 서버기능의확장, 유지보수 용이, 구현하고자 하는 게임에 최적화도 가능, 구현방식을 자유롭게 선택할수있음

단점으로는 필요한 네트워크지식과 제작에 드는시간과 비용이 만만치않음

.

2. 이미 만들어진 게임서버 라이브러리와 제공되는 API를 이용하는 방법. 장ㅈ엄으로는 서버 엔진을 구현하는 시간과 비용을 절약, 네트워크 프로그래밍에 관한 지식이 없어도 API사용 방법만 익히면  멀티플레이를 구현할수 있다. 단점으로는 

라이브러리 내에 구현된 서버 엔진에 따라서 원하는 기능의 추가나 성능 최적화가 제한 될 수 있다.

 

 


Mirror & Mirage 네트워크 라이브러리



Unet으로부터 포크(fork)해 다수의 개발자들이 오픈소스로 참여하고 제작한 Mirror와 Mirror에서 포크하여 전문 서버 개발자들이 새롭게 제작한 Mirage

 

Mirror의 특징

1. HLAPI, Mirror를 사용하는 개발자들은 서버 엔진 단의 작동방식을 모르고 api만 잘 활용하면 손쉽게 멅이플레이를 구현가능

 

2. Low level의 Transport를 지원 , Mirror은 초기에 TCP베이스로 탄생하였으나 게임에 맞는 다른 Transport를 사용하면 

자동으로 성능최적화가 가능 ex) 빠른 페이스의 게임(액션,스포츠)에서는 TCP보다 UDP를 이용하기 좋은데 원하는 Low level의 통신(전송)을 mirror에서는 쉽게 적용가능

728x90

+ Recent posts