GameAnvil 서비스는 크게 상위 메뉴로 큰 기능이 나뉘며 각 메뉴는 하위 탭들로 구성됩니다. 예를 들어 위의 이미지에서 "서버", "모니터링", "운영", "Audit", "테스트"는 메뉴입니다. 그리고 "서버" 메뉴는 "관리", "배포 파일", "서비스", "로드밸런서" 탭으로 구성됩니다.
이 문서에서는 각 메뉴와 탭의 기능을 중점적으로 다룹니다. 그리고 이번 장은 "관리" 탭의 기능을 설명합니다.
구동 가능한 서버 바이너리가 준비되었다면 언제든 서버 생성을 할 수 있습니다. 이러한 서버는 서비스 뿐만 아니라 테스트 및 개발 등 원하는 용도로 사용 가능합니다. 콘솔의 서버 메뉴에서 관련 기능을 사용할 수 있습니다.
자, 이제 아래의 이미지에서 빨간 사각형으로 표시한 서버 생성 버튼을 눌러 봅니다.
다음과 같이 서버 생성 페이지가 새롭게 열리는 것을 확인할 수 있습니다.
이 문서의 나머지 부분은 이 서버 생성 페이지의 기능들에 대해 설명합니다.
오토스케일 사용: 새롭게 시작할 서버 구성이 오토스케일을 사용할지 결정합니다. 오토스케일을 사용할 경우, 지정한 조건에 따라 자동으로 서버가 증설되거나 감축될 수 있습니다. 여기에 대한 내용은 이번 장의 가장 마지막에서 다루도록 하겠습니다.
서버 이름: 현재 구성할 서버를 나타내는 고유한 식별자를 지정합니다. 동일한 식별자를 가진 서버가 여러 대 시작할 경우에는 해당 식별자 뒤에 1부터 1씩 증가하는 고유한 넘버링이 추가됩니다.
MEMO: 해당 서버에 대한 간단한 메모를 작성할 수 있습니다. 이 메모는 서버 구성이나 운영에 영향을 주는 값이 아닙니다.
서버 수량: 여기에서 구성한 서버를 총 몇 대 시작할지 결정합니다. 이 장의 마지막에서 선택할 인스턴스 타입으로 해당 수량만큼 서버가 구동됩니다.
배포 파일: 서버를 시작하기 위핸 업로드된 서버 바이너리를 선택합니다. 선택하기에 앞서 반드시 최소 하나 이상의 서버 바이너리가 업로드 되어 있어야 합니다. 파란색 등록 버튼을 눌러 언제든 새로운 바이너리를 업로드할 수 있습니다. 또한 배포 파일 탭에서도 서버 바이너리를 관리할 수 있습니다.
GameAnvil의 노드는 게임 서버의 기능 단위입니다. 개발이 완료된 서버 바이너리는 게임에서 사용할 모든 종류의 노드 구현을 포함하고 있습니다. 이러한 바이너리로 구동되는 서버 프로세스는 설정하기에 따라 임의의 선택된 노드로만 구성될 수 있습니다. 이번에 설명할 노드 구성이 바로 이러한 설정을 진행하는 단계로서 우측 노드 패널에서 포함하고자 하는 노드를 드래그&드랍 하여 설정을 진행할 수 있습니다.
위의 이미지는 다음과 같이 총 6개의 노드들로 서버를 구성합니다.
노드 종류 | 서비스명 | 구동 개수 | 설명 |
---|---|---|---|
GatewayNode | - | 2 | 클라이언트가 접속할 수 있는 접속 포인트 |
GameNode | MyGame | 2 | 게임 컨텐츠가 구현된 게임 노드 |
GameNode | MyChat | 1 | 채팅 컨텐츠가 구현된 게임 노드 |
MatchNode | - | 1 | 매치 메이킹 로직이 구현된 매치 노드 |
이 때, 서비스 ID와 서비스명 그리고 채널 정보는 서버 개발에 사용된 정보를 그대로 등록해야 함에 주의하시기 바랍니다. 서버 구현에 사용된 정보와 다른 값을 입력할 경우 서버가 정상적으로 구동되지 않습니다.
앞서 구성한 서버를 구동할 인스턴스 타입을 결정할 수 있습니다. 또한 서버 구성에 대해 임의의 태그를 작성해둘 수 있습니다. 마지막 체크 박스는 서버 생성과 동시에 자동으로 서버를 시작할지 결정합니다. 기본값(생성 즉시 시작)을 사용하길 추천합니다.
서버 구성을 완료한 후 실행을 하면 설정한 수량만큼 서버가 생성됩니다. 위의 이미지와 같이 생성된 서버는 회색으로 "Not Standby" 상태로 시작됩니다. 이 서버는 Running 상태로 진행되기까지 (NHN 클라우드의 인프라 상태에 따라) 5분 ~ 60분 이상의 시간이 소요될 수 있습니다. 이는 GameAnvil 서비스가 최초의 서버를 구동할 때 기본 인프라 설정들을 한꺼번에 진행하는 과정으로서 필수적인 준비 시간입니다. 사용자는 이 시간 동안 다른 종류의 서버들에 대한 구성을 추가로 진행하거나 다른 메뉴를 사용할 수 있습니다.
서버가 정상적으로 구동되면 이미지와 같이 "Running" 상태로 바뀝니다. 이렇게 생성된 서버를 클릭하면 다음과 같이 서버 정보 팝업이 열립니다. 사용자는 서버 제어 명령을 통해 해당 서버를 종료시킨 후, 삭제하거나 재부팅 등을 할 수 있습니다. 혹은 다중 선택 버튼을 통해 한 번에 여러 개의 서버를 동시에 선택하여 명령을 수행할 수도 있습니다.