Game > GameAnvil > 개요

다수의 게임 프로젝트에서 사용 중인 GameAvnil은 NHN에서 직접 만든 Java 기반의 실시간 게임 서버 엔진입니다.

GameAnvil을 이용하여 풍부한 Java 생태계의 혜택을 누리며 쉽고 빠르게 게임 서버를 개발 해보세요. 함께 제공되는 클라이언트 커넥터와 테스트 도구 그리고 웹 콘솔은 단순히 게임 서버 개발 뿐만 아니라 전체적인 게임 개발과 서비스 준비에 속도감과 편의성을 제공합니다.


Key Features

  • Fiber 기반의 Continuation 지원과 순차적인 코드 흐름
  • 싱글 스레딩과 Lock Free
  • 재접속 시에 이전 세션 자동 복구
  • 유저 매치메이킹 지원
  • 방 매치메이킹 지원
  • No SPOF (Single Point Of Failure)
  • 런타임 서버 스케일링 지원
  • 서버간 유저&방 전송
  • 전용 테스트 시스템 지원
  • 전용 웹 콘솔 지원
  • 클라이언트 커넥터 지원 (Unity, CocosCreator)
  • 무정지 점검과 패치 지원

용어

GameAnvil 에서 사용되는 용어에 대해 설명합니다.

용어 설명
머신 GameAnvil 인스턴스 (프로세스) 가 올라갈 장비
인스턴스 GameAnvil 프로세스 (JVM) 실행 단위
노드 GameAnvil 서버 구성의 가장 기본이 되는 단위 세부설명
마스터 머신 Management Node 가 실행되는 장비
로케이션 관리 머신 Location Node 가 실행되는 장비
머신 설정 마스터 머신과 로케이션 관리 머신을 지정하는 작업
설정 템플릿 노드 별 설정값을 저장하여 다수의 인스턴스에서 사용할 수 있도록 제공

GameAnvil 사용 라이브러리

아래의 네 가지 라이브러리는 GameAnvil에서 사용하는 핵심 라이브러리입니다. Qusar와 ZeroMQ 그리고 Netty는 엔진 내부에서 사용하므로 GameAnvil 사용자가 직접 사용할 일은 없습니다. Protocol Buffers는 메시지를 직렬화/역직렬화 하는 과정에서 사용하게 됩니다. 직접 사용 여부와 관계없이 아래의 네 가지 라이브러이에 대해 잘 이해하고 있다면 엔진 사용에 많은 도움이 될 것입니다.

라이브러리 용도
Quasar Fiber 기반의 Continuation 지원
ZeroMQ 서버의 IPC
Netty 서버-클라이언트 통신
Protocol Buffers 서버-클라이언트 메시지 직렬화
TOP