Game > GameAnvil > 콘솔 사용 가이드 > 서버 생성하기

1. GameAnvil 서비스 메뉴와 탭

GameAnvil 서비스는 크게 상위 메뉴로 큰 기능이 나뉘며 각 메뉴는 하위 탭들로 구성됩니다. 예를 들어 위의 이미지에서 "모니터링", "서버", "운영"는 메뉴입니다. 그리고 모니터링 메뉴는 "대시보드", "서버현황", "유저분포", "오토스케일 그룹"으로 구성됩니다. 그림

"서버" 메뉴는 "서버", "오토스케일 그룹", "노드", "배포 파일", "Config" 탭으로 구성됩니다. 그림

"운영" 메뉴는 "실행", "이력" 탭으로 구성됩니다. 그림

이 문서에서는 각 메뉴와 탭의 기능을 중점적으로 다룹니다.

서버 생성하기전에 배포파일과 Config에 최소 하나 이상의 서버 바이너리와 GameAnvil Config가 등록이 되어 있어야 합니다.

2. 서버 생성하기

구동 가능한 서버 바이너리가 준비되었다면 언제든 서버 생성을 할 수 있습니다. 이러한 서버는 서비스 뿐만 아니라 테스트 및 개발 등 원하는 용도로 사용 가능합니다. 콘솔의 서버 메뉴에서 관련 기능을 사용할 수 있습니다.

자, 이제 아래의 이미지에서 빨간 사각형으로 표시한 서버 생성 버튼을 눌러 봅니다.

그림

다음과 같이 서버 생성 페이지가 새롭게 열리는 것을 확인할 수 있습니다.

그림

이 문서의 나머지 부분은 이 서버 생성 페이지의 기능들에 대해 설명합니다.

3. 서버 기본 정보

그림

  • 서버 이름: 현재 구성할 서버를 나타내는 고유한 식별자를 지정합니다. 동일한 식별자를 가진 서버가 여러 대 시작할 경우에는 해당 식별자 뒤에 1부터 1씩 증가하는 고유한 넘버링이 추가됩니다.

  • 서버 수량: 여기에서 구성한 서버를 총 몇 대 시작할지 결정합니다.

  • 인스턴스 타입: 서버 생성할 인스턴스 타입을 선택합니다.

  • 배포 파일: 서버를 시작하기 위핸 업로드된 서버 바이너리를 선택합니다. 선택하기에 앞서 반드시 최소 하나 이상의 서버 바이너리가 업로드 되어 있어야 합니다. 배포 파일 탭에서 서버 바이너리를 관리할 수 있습니다.

  • 태그: 서버 구성에 대해 임의의 태그를 작성해둘 수 있습니다.

  • 메모: 해당 서버에 대한 간단한 메모를 작성할 수 있습니다. 이 메모는 서버 구성이나 운영에 영향을 주는 값이 아닙니다.

4. 노드 구성

GameAnvil의 노드는 게임 서버의 기능 단위입니다. 개발이 완료된 서버 바이너리는 게임에서 사용할 모든 종류의 노드 구현을 포함하고 있습니다. 이러한 바이너리로 구동되는 서버 프로세스는 설정하기에 따라 임의의 선택된 노드로만 구성될 수 있습니다. 이번에 설명할 노드 구성이 바로 이러한 설정을 진행하는 단계로서 우측 노드 패널에서 포함하고자 하는 노드를 드래그&드랍 하여 설정을 진행할 수 있습니다.

그림

위의 이미지는 다음과 같이 총 4개의 노드들로 서버를 구성합니다.

노드 종류 서비스명 구동 개수 설명
GATEWAY - 0 클라이언트가 접속할 수 있는 접속 포인트
GAME RPSGame 4 게임 컨텐츠가 구현된 게임 노드
MATCH - 0 매치 메이킹 로직이 구현된 매치 노드
SUPPORT - 0 REST 요청을 처리 할수 있는 노드

이때, 서비스 ID와 서비스명 그리고 채널 정보는 서버 개발에 사용된 정보를 그대로 등록해야 함에 주의하시기 바랍니다. 서버 구현에 사용된 정보와 다른 값을 입력할 경우 서버가 정상적으로 구동되지 않습니다.

체크 박스는 서버 생성과 동시에 자동으로 서버를 시작할지 결정합니다. 기본값(생성 즉시 시작)을 사용하길 추천합니다.

5. 생성된 서버 확인

서버 구성을 완료한 후 실행을 하면 설정한 수량만큼 서버가 생성됩니다. 생성된 서버는 노란색으로 "TRANSIT" 상태로 시작됩니다. 이 서버는 RUNNING 상태로 진행되기까지 (NHN 클라우드의 인프라 상태에 따라) 5분 ~ 60분 이상의 시간이 소요될 수 있습니다. 이는 GameAnvil 서비스가 최초의 서버를 구동할 때 기본 인프라 설정들을 한꺼번에 진행하는 과정으로서 필수적인 준비 시간입니다. 사용자는 이 시간 동안 다른 종류의 서버들에 대한 구성을 추가로 진행하거나 다른 메뉴를 사용할 수 있습니다.

그림

서버가 정상적으로 구동되면 이미지와 같이 "RUNNING" 상태로 바뀝니다. 이렇게 생성된 서버를 클릭하면 다음과 같이 서버 정보가 보여집니다. 사용자는 서버 제어 명령을 통해 해당 서버를 종료시킨 후, 삭제하거나 재부팅 등을 할 수 있습니다. 혹은 다중 선택 버튼을 통해 한 번에 여러 개의 서버를 동시에 선택하여 명령을 수행할 수도 있습니다.

그림

6. 로드 밸런서

GameAnvil 서비스는 클라이언트의 접속을 효율적으로 처리하기 위해 로드 밸런서를 연동합니다. GameAnvil의 노드 중 클라이언트가 접속할 수 있는 포인트는 게이트웨이 노드와 서포트 노드입니다. 그리고 이들은 모두 여러 대의 인스턴스로 구성될 수 있습니다. 이때, 여러 대의 접속 포인트는 적절한 부하 분산을 위해 로드 밸런서와 연동되어야 합니다. 또한 해당 로드 밸런서는 외부에서 접속 가능한 플로팅IP에 연결되어야 합니다.

그림

이러한 일련의 모든 과정은 GameAnvil 서비스가 알아서 처리합니다. 그리고 위의 이미지와 같이 접속 정보를 제공합니다. 해당 정보는 클라이언트의 접속 주소/포트 쌍이므로 불필요하게 외부에 전달되지 않도록 주의할 필요가 있습니다.

TOP