> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 연습: PowerShell/API를 사용하여 빌드 배포

> Windows Runner C# 샘플을 사용하여 PowerShell 및 Multiplayer Servers API로 Windows OS PlayFab Multiplayer Servers 빌드를 배포하는 연습입니다.

이 문서에서는 Windows Runner C# 샘플을 기반으로 Windows 10 개발 장치의 PowerShell에서 Windows OS VM용 빌드를 배포/생성하는 방법을 설명합니다.

<Note>
  PlayFab Multiplayer Servers를 사용하고 보려면 기능을 활성화해야 합니다. Game Manager 방법을 사용하여 이 기능을 활성화하는 것이 좋습니다. 지침은 [PlayFab Server 기능 활성화](/services/playfab/multiplayer/servers/enable-playfab-multiplayer-servers)를 참조하세요.
</Note>

## 사전 요구 사항

다음 단계를 완료했는지 확인하세요.

* [API 기능 옵션 구성](/services/playfab/multiplayer/servers/windows-runner-sample#configure-api-feature-option)
* [서버 설정](/services/playfab/multiplayer/servers/windows-runner-sample#server-set-up).

## 1. 타이틀 ID 및 개발자 비밀 키 가져오기

* PlayFab 타이틀 ID 가져오기
  * [PlayFab.com](https://developer.playfab.com)에서 개발자 계정에 로그인합니다.
  * Game Manager에서 **My Studios and Titles** 페이지로 이동합니다. 게임 타이틀을 찾아 PlayFab 게임 타이틀 ID를 가져옵니다.

* 타이틀의 개발자 비밀 키 가져오기
  * Game Manager에서 타이틀 > 설정(톱니바퀴 아이콘)을 선택합니다.
  * **Title settings**를 선택한 다음 **Secret Keys** 탭을 선택하여 개발자 비밀 키를 가져옵니다.

비밀 키에 대한 자세한 내용은 [비밀 키 관리](/services/playfab/live-service-management/gamemanager/secret-key-management)를 참조하세요.

## 2. PlayFab Multiplayer PowerShell 모듈 설치

Windows PowerShell을 관리자 권한으로 열고 다음 명령을 실행하여 [PlayFabMultiplayer API 모듈](https://github.com/PlayFab/MpsPowershell)을 설치합니다. 이 새로운 [PlayFabMultiplayer API 모듈](https://github.com/PlayFab/MpsPowershell)은 더 이상 사용되지 않는 Multiplayer PowerShell 모듈을 대체합니다.

이전에 [PlayFab Multiplayer Powershell](https://github.com/PlayFab/MultiplayerPowershell) 모듈을 설치한 경우 다음 명령으로 제거하세요. 새 모듈로 전환하려는 경우 [명령 매핑](/services/playfab/multiplayer/servers/deploy-using-powershell-api#mapping-commands)을 참조하여 새로운 동등한 명령을 찾으세요.

```powershell theme={null}
Uninstall-Package PlayFabMultiplayer
```

이 새 모듈에서는 명령과 인수가 모두 다릅니다. 각 명령에 대한 자세한 문서는 [Cmdlet 문서](https://github.com/PlayFab/MpsPowershell/tree/main/MpsPowershell/docs)를 참조하세요.

```powershell theme={null}
Install-Module -Name PlayFabMultiplayerApi
```

<Tip>
  모듈을 설치하기 전에 먼저 `Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser`를 사용하여 실행 정책을 설정해야 할 수도 있습니다. 자세한 내용은 [PowerShell 실행 정책](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies)을 참조하세요.
</Tip>

## 3. 타이틀에 대한 EntityToken 획득

**PowerShell** 창에서 타이틀 ID 및 관련 개발자 키를 사용하여 다음 명령을 실행합니다.

```powershell theme={null}
Set-PfTitle -TitleID "mytitleID" -SecretKey "mysecretkey"
```

## 4. 자산 업로드

Windows 서버를 배포할 때는 관리형 Windows 컨테이너를 사용합니다. PlayFab Multiplayer Game Server Build를 자산으로 업로드하기만 하면 됩니다.

**FilePath** 플래그의 값을 \_\_winrunnerSample.zip\_\_의 로컬 파일 위치로 업데이트하세요. 이 파일의 위치를 모른다면 [여기](/services/playfab/multiplayer/servers/windows-runner-sample#server-set-up)의 지침에 따라 파일을 가져오세요.

```powershell theme={null}
New-PfAsset -FilePath C:\windowsRunnerCSharp.zip -AssetName windowsRunnerCSharp.zip
```

## 5. 빌드 생성

이제 자산이 업로드되었으므로 빌드를 생성할 수 있습니다. 다음 명령을 실행합니다.

아래 코드는 **EastUS** 지역의 **Standard\_D2as\_v4** VM을 사용합니다. 사용하려는 VM 및 지역에 따라 문자열을 바꾸세요.

```powershell theme={null}
$vmSize = "Standard_D2as_v4"

$regions = @( @{ StandbyServers = 1; MaxServers = 1; Region = 'EastUS'; ScheduledStandbySettings = $NULL } )

$ports = @( @{ Name = 'game_port'; Num = 3600; Protocol = 'TCP' } )

$gameAssets = @( @{ FileName = 'windowsRunnerCSharp.zip'; MountPath = 'C:\Assets' } )

$buildResponse = New-PfBuild -BuildName PSTest_build -ContainerFlavor ManagedWindowsServerCore -StartMultiplayerServerCommand 'C:\Assets\WindowsRunnerCSharp.exe' -GameAssetReferences $gameAssets -VMSize $vmSize -MultiplayerServerCountPerVM 1 -Ports $ports -RegionConfigurations $regions

# All PlayFabMultiplayerApi cmdlets return objects, so we can pass the returned object to ConvertTo-Json for human readability.
$buildResponse | ConvertTo-Json -depth 5
```

## 빌드가 성공했는지 확인

몇 초 후에 **PowerShell** 또는 [ListBuildSummaries API](xref:titleid.playfabapi.com.multiplayer.multiplayerserver.listbuildsummariesv2)를 통해 빌드가 생성된 것을 볼 수 있습니다.

다음 명령을 실행하여 빌드가 성공적으로 배포되었는지 확인할 수도 있습니다.

```powershell theme={null}
Get-PfBuild | ConvertTo-Json -depth 5
```

## 참고 항목

* [연습: Game Manager를 사용하여 빌드 배포](/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-game-manager)
* [Windows Runner C# 샘플](/services/playfab/multiplayer/servers/windows-runner-sample)
* [샘플 및 리소스](/services/playfab/multiplayer/servers/server-samples-resources)


## Related topics

- [PowerShell/API를 사용하여 빌드 배포](/ko/services/playfab/multiplayer/servers/deploy-using-powershell-api.md)
- [Linux 빌드 생성 및 배포](/ko/services/playfab/multiplayer/servers/deploying-linux-based-builds.md)
- [Wrapper 샘플](/ko/services/playfab/multiplayer/servers/wrapper-sample.md)
- [PlayFab 멀티플레이어 서버 빌드 배포](/ko/services/playfab/multiplayer/servers/deploying-playfab-multiplayer-server-builds.md)
- [Windows Runner 샘플](/ko/services/playfab/multiplayer/servers/windows-runner-sample.md)
