게임 관리자를 사용하여 빌드 배포
이 문서는 게임 관리자를 사용하여 VM용 빌드를 배포하고 만드는 일반적인 단계를 나열합니다.
처음으로 빌드를 배포하는 경우 Windows Runner C# 샘플 또는 래퍼 샘플을 사용하여 빌드를 배포하는 것이 좋습니다. 둘 다 실제로 서버를 배포하는 데 필요한 모든 자산과 함께 제공됩니다.
참고 항목
PlayFab 멀티 플레이어 서버를 사용하고 보려면 게임 관리자에서 기능을 사용하도록 설정해야 합니다. 자세한 내용은 PlayFab 서버 기능 사용을 참조하세요.
각 매개 변수에 사용할 수 있는 값에 대한 자세한 내용은 빌드 정의를 참조하세요.
게임 관리자를 통해 배포하는 단계
게임 관리자에 로그인합니다.
내 스튜디오 및 타이틀 페이지로 이동한 후 게임 타이틀을 선택하여 대시보드를 표시합니다.
멀티 플레이어>서버 페이지로 이동하고 오른쪽 위에서 새 빌드 선택하여 새 빌드를 만듭니다.
빌드 세부 정보부터 설명이 포함된 문자열을 빌드 이름으로 사용합니다.
개발 중에 Dasv4와 같이 사용이 제한되지 않는 서버를 선택합니다. 가격 책정에 관한 자세한 내용은 PlayFab 멀티 플레이어 서버의 청구를 참조하세요.
머신당 서버에 사용할 값 설정
아래 이미지에서는 정보 섹션에 사용된 값을 보여 줍니다.
다음으로는 Windows 또는 Linux 중 하나를 OS 유형으로 선택해야 하는 서버 세부 정보 부분이 있습니다. OS 유형을 선택하고 나면 선택한 OS에 따라 프로세스 또는 컨테이너 중 하나를 서버 유형으로 선택합니다.
참고 항목
Linux 플랫폼의 경우 고유한 컨테이너 이미지를 만들어야 합니다. 자세한 지침은Linux 컨테이너 이미지 만들기 및 배포를 참조하세요. 컨테이너 이미지를 이미 업로드했다면 이미지 드롭다운에 이미지가 표시됩니다. 이미지를 사용하려면 해당 이미지를 선택합니다.
OS 유형을 선택하고 나면 서버 유형을 선택할 수 있습니다. OS/Server 유형에 따라 다음과 같은 사용할 수 있는 다음 기능이 제공됩니다.
- 가상 머신 메트릭 미리 보기: 이 메트릭을 사용하도록 설정하면 CPU, 메모리, 네트워크 등 시스템 수준 메트릭을 볼 수 있습니다. 자세한 내용은 VM 성능 메트릭(미리 보기) 문서를 참조하세요.
- Windows 코어 미리 보기: 테스트 빌드에서 최신 버전 Windows 운영 체제를 테스트하여 최신 운영 체제에서 게임이 어떻게 실행되는지 확인할 수 있습니다. 자세한 내용은 Windows용 OS 패치 업데이트를 참조하세요.
- 자동 크래시 덤프 컬렉션: Windows 컨테이너 서버 유형에서 자동 크래시 덤프 컬렉션을 사용하도록 설정할 수 있습니다. 전체, 미니, 사용자 지정 덤프 중에서 선택할 수 있습니다. 자세한 내용은 크래시 덤프의 자동 컬렉션 사용 설정을 참조하세요.
프로세스 모드의 서버 세부 정보
아래 이미지는 Windows를 플랫폼으로 선택하되 프로세스 기반 서버 유형을 사용하는 경우 OS 구역에서 사용되는 값을 표시합니다. Linux 프로세스 기반 서버를 사용하는 옵션도 있습니다.
컨테이너 모드의 서버 세부 정보
아래 이미지는 Linux를 플랫폼으로 선택하되 컨테이너 기반 서버 유형을 사용하는 경우 OS 구역에서 사용되는 값을 표시합니다. Windows 컨테이너 기반 서버를 사용하는 옵션도 있습니다.
빌드의 자산
- 자산에서 업로드를 선택합니다. 컴파일된 PlayFab 멀티 플레이어 서버 빌드가 있는 폴더로 이동한 다음 업로드할 .zip 패키지를 선택합니다.
Windows 서버의 자산
- Windows 플랫폼의 경우 PlayFab 게임 서버 빌드를 자산으로 업로드해야 합니다. PlayFab 게임 서버 빌드를 만드는 방법을 알아보려면 게임 서버 빌드 작성을 참조하세요. 자산을 업로드하여 Windows 컨테이너 이미지를 수정하고 사용자 지정합니다. Windows 서버의 자산 탑재 경로는 C 드라이브에 루팅되어야 합니다.
Windows 컨테이너 서버의 자산
Windows 서버의 자산은 C 드라이브에 있어야 합니다. 그러지 않으면 API가 오류를 반환할 수 있습니다. 탑재 경로는 컨테이너에만 필요합니다.
참고 항목
프로세스 기반 서버에 탑재 경로를 제공하지 마세요.
Linux 서버의 자산
- Linux 플랫폼의 경우 게임 서버가 컨테이너 이미지의 일부로 포함될 수 있으므로 자산 업로드는 선택 사항입니다. 하지만 게임 서버는 계속 필요합니다. 업로드할 컨테이너 내 탑재 경로가 유효한지 확인하세요.
자산을 업로드하는 경우:
- C:\Assets를 설정하거나 탑재 경로로 다른 경로를 선택합니다.
- C:\Assets\YourGameServerBuild.exe를 시작 명령으로 설정합니다.
네트워크 설정
- 네트워크의 경우 포트 번호, 이름, 프로토콜을 설정합니다.
컨테이너 서버 유형의 포트 설정
컨테이너 서버 유형을 사용하는 경우 포트 번호를 지정해야 합니다.
예를 들어 컨테이너 서버 유형의 게임 관리자에서는 다음 항목을 지정할 수 있습니다.
- 포트 이름: "gameServerPort"
- 포트 번호: 7777
- 프로토콜: UDP
그런 다음 코드에서 다음과 같은 작업을 수행합니다.
int port = 7777; // since you already know the port
GameServer gs = new GameServer(port);
gs.start();
참고 항목
컨테이너 모드에서 각 게임 서버는 자체 네트워크 네임스페이스에서 실행됩니다. 이게 바로 모든 게임 서버가 동일한 포트를 수신 대기할 수 있는 이유입니다. 컨테이너 포트는 가상 머신의 고유한 포트에 동적으로 매핑됩니다. 그러나 프로세스 모드에서는 모든 게임 서버가 동일한 네트워크 네임스페이스에서 실행됩니다. 모든 게임 서버가 동일한 포트를 수신 대기하도록 하면 충돌이 발생할 수 있으므로 GSDK에서 ServerListeningPort를 가져와야 합니다.
프로세스 서버 유형의 포트 설정
프로세스 서버 유형의 경우 GSDK를 사용하여 포트 번호를 검색해야 합니다. 빌드 정의의 일부로 포트 번호를 포함하지 마세요.
그다음 코드에서 다음과 같은 작업을 수행합니다.
var gsc = GameServerSDK.GetConnectionInfo();
var gp = gsc.Where(x=>x.Name=="gameServerPort").Single();
GameServer gs = new GameServerPort(gp.ServerListeningPort);
전체 샘플 코드를 보려면 GSDK/CSharp/GSDK_CSharp_Standard의 GameServerConnectionInfo.cs로 이동합니다. GSDK에서 포트를 가져오는 위의 코드 샘플은 컨테이너 모드에서도 작동합니다.
시작 명령
컨테이너 기반 서버의 시작 명령
시작 명령은 필수 인수를 포함하는 게임 실행 가능한 파일에 대한 절대 경로(탑재 경로 포함)여야 합니다. 예를 들어 시작 명령은 C:\Assets\wrapper.exe -g C:\Assets\fakegame.exe arg1 arg2처럼 보일 수 있습니다. 시작 명령의 절대 경로에 "C:\Assets" 부분을 추가하는 것은 Windows 컨테이너 기반 서버인 경우에만 필요합니다. 이는 "C:\Assets"가 게임 자산이 추출되는 디렉터리이기 때문입니다.
Windows 프로세스 기반 서버의 시작 명령
시작 명령은 업로드된 자산 내의 상대 경로입니다. 실행 파일이 자산 폴더 내에 직접 있으면 <yourGameServerBuild.exe>를 사용할 수 있습니다. 다른 폴더(예: GameDirectory) 안에 있는 경우 시작 명령은 gameDirectory/YourGameServerBuild.exe가 됩니다.
- 지역에서 서버를 배포할 지역을 선택합니다. 그런 다음 대기 서버 수와 최대 서버 수를 지정합니다.
- 저장 선택하여 배포 프로세스를 시작합니다. 그러면 빌드 홈페이지로 이동합니다. 아래 이미지와 같이 빌드에 배포 상태가 표시됩니다.
몇 분 후에 빌드가 배포됨 상태여야 합니다. 즉, 서버를 배포하고 할당할 수 있습니다. 게임 서버 할당에 관한 자세한 내용은 여기에서 확인할 수 있으며, MpsAllocatorSample을 사용하여 서버 할당을 실험할 수 있습니다.
지역 정보 구성
빌드를 배포한 후에도 다음 매개 변수를 수정할 수 있습니다.
- 지역
- 대기 서버 수
- 최대 서버 수
지역 설정을 구성하려면 다음을 수행합니다.
- 서버>빌드 페이지로 이동합니다.
- 수정할 빌드 선택
- 지역 탭에서 지역별 서버 섹션으로 이동합니다.
- 지역 추가/제거 및 서버 수 수정
팁
개발 중에는 VM 코어 시간 사용을 방지하기 위해 사용되지 않거나 비정상적인 지역을 차단합니다. 코어 시간 사용은 VM 시작 중에 시작되어 VM이 종료될 때까지 계속됩니다. 지역의 대상 대기 서버가 0에 도달하거나 지역이 삭제되지 않는 한 지역의 VM은 자동으로 종료되지 않습니다.
VM 종료
VM을 종료하는 세 가지 방법이 있습니다.
- 지역의 대상 대기를 0으로 설정하면 이 지역의 VM만 종료됩니다.
- 빌드에서 특정 지역을 삭제합니다.
- 전체 빌드를 삭제하면 이 빌드의 모든 지역 에서 VM이 종료됩니다.