Tech Spec

Gooose와 함께하세요.
당신과 함께 뛰겠습니다.

Build & Deploy

  • 모듈 설정을 마치고 나면, 빌드 버튼으로 프로젝트를 빌드하여 문제점을 체크해 볼 수 있다.
  • 프로젝트의 빌드는 Server Code Generator 를 통해 자동으로 이루어진다.
  • 모듈이 문제없이 빌드되면, 배포(Deploy)로 서버를 실행 시킬 수 있다.

ELD(Event Layered Database)

  • 기존 DB의 안정된 기반위에 게임등의 인터렉션이 필요한 서비스를 지원하기 위해 이벤트 구조가 동작
  • Event Layer가 필요한 이벤트가 발생시 네트워크를 통해 알려주는 구조로서 유저는 보통 확장모듈을 통해 이벤트를 간접적으로 사용
  • JavaScript와 Erlang으로 만들어졌으며, 추후 코어는 C++로 변경예정
  • 유저의 리퀘스트를 처리할 때 API Layer에서 게임 로직에 대한 처리를 하게 된다.
  • API 레이어는 Data Sync부분을 ELD로 넘김으로서 구조의 복잡성을 줄일 수 있다.

Extension Modules

  • 실제 게임의 코드가 담겨있는 모듈로 실행언어는 JavaScript로 구성되어 있음 * 사용언어는 추후 추가예정
  • 확장모듈을 어떻게 조합하느냐에 따라 게임서버의 기능을 추가/삭제 가능
  • 모든 확장 모듈은 자동 생성 타입으로 유저가 직접 내부를 다룰 수는 없음
  • 자동으로 관리되는 모듈이므로 Database 변경 이슈가 생기면 그에 따른 데이터 이전 및 백업은 변경내용을 추적하여 확장모듈에서 책임진다.

Game API Layer

  • Game API Layer는 서비스를 직접 담당하는 부분으로 실질적인 커넥션을 받도록 되어있다.
  • API Layer는 서버 세팅에 따라 TCP(UDP) Socket, Web Socket, HTTP(S)등 여러가지의 프로토콜을 이용가능 *프로토콜에 따라 확장모듈 사용에 제한이 있을 수 있다.
  • 확장 모듈이 API 레이어에 설치되어 실질적인 게임내용 서비스를 하게된다.