> ## 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.

# Windows Runner 샘플

> PlayFab 멀티플레이어 서버용 Windows Runner C# 샘플을 설정하여 MPS 기능을 테스트하기 위한 최소한의 GSDK 통합 Windows 게임 서버를 빌드하고 배포합니다.

# Windows Runner C# 샘플

이 자습서에서는 PlayFab 멀티플레이어 서버에 사용할 수 있도록 샘플을 설정하는 단계를 나열합니다.

<Note>
  PlayFab 멀티플레이어 서버를 사용하고 보려면 Game Manager에서 이 기능을 사용하도록 설정해야 합니다. 지침은 [PlayFab 서버 기능 사용 설정](/services/playfab/multiplayer/servers/enable-playfab-multiplayer-servers)을 참조하세요.
</Note>

1. [API 기능 옵션 구성](#configure-api-feature-option)
2. PlayFab 멀티플레이어 게임 서버 빌드 만들기: [서버 설정](#server-set-up)
3. [빌드 배포로 서버 만들기](#create-servers-by-deploying-a-build)
4. 멀티플레이어 서버 요청: [클라이언트 설정](#client-set-up). 이 요청은 서버에 연결되는 클라이언트를 시작할 수 있도록 하기 위해 필요합니다.

## API 기능 옵션 구성

<Note>
  이 단계는 이 샘플을 실행하는 데만 필요합니다. 타이틀에서 이 설정이 필요하지 않은 한 클라이언트가 게임을 시작하도록 허용할 필요는 없습니다.
</Note>

* [PlayFab.com](https://developer.playfab.com)에서 개발자 계정에 로그인하여 Game Manager 포털을 사용합니다.
* 게임 타이틀 선택
* 아래 이미지와 같이 설정 아이콘 > **API 기능** 을 선택합니다.

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/create-your-first-server/windowsrunner-api-settings.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=6dc935f952e754c3f14ff8c744c90ac7" alt="Game Manager의 API 기능 탭" width="800" height="405" data-path="images/playfab/multiplayer/servers/create-your-first-server/windowsrunner-api-settings.png" />

* 아래 이미지와 같이 **옵션** 에서 **클라이언트가 게임을 시작하도록 허용** 을 선택합니다.

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/create-your-first-server/windowsrunner-api-settings-option.PNG?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=c6d6ad00718feb7293797b0e102875d7" alt="Game Manager에서 클라이언트가 게임을 시작하도록 허용 선택" width="374" height="177" data-path="images/playfab/multiplayer/servers/create-your-first-server/windowsrunner-api-settings-option.PNG" />

## 서버 설정

PlayFab 멀티플레이어 게임 서버 빌드를 얻는 방법을 설명합니다.

* Windows Runner 샘플용 PlayFab 멀티플레이어 서버 빌드의 [PlayFab 게임 서버 SDK](https://github.com/PlayFab/gsdk).
* 자체적으로 빌드하려는 경우:

  * 표준 Git 방법 또는 zip 파일로 다운로드하여 [Windows Runner C# 샘플](https://github.com/PlayFab/MpsSamples/tree/master/WindowsRunnerCSharp)을 가져옵니다.
  * Visual Studio 2017 이상을 사용하여 프로젝트를 엽니다. 그러면 최신 [PlayFab 게임 서버 SDK(GSDK) NuGet 패키지](https://www.nuget.org/packages/com.playfab.csharpgsdk)와 같은 종속성이 자동으로 다운로드되도록 트리거됩니다.
  * 릴리스 x64 구성에서 WindowsRunnerCSharp.csproj를 컴파일하고 빌드합니다. 그러면 GSDK와 통합된 게임 서버 빌드를 얻게 되며, 유효한 PlayFab 멀티플레이어 게임 서버 빌드가 됩니다.
  * bin 폴더로 이동하여 모든 x64 릴리스 이진 파일을 압축합니다. 내부 폴더 구조가 없어야 합니다. zip 파일은 아래 이미지와 같이 파일의 플랫 컬렉션이어야 합니다.

  <img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/tutorials/gsdk-sample-output.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=ca4973938707eae40c4e869aa470c148" alt="GSDK 샘플 출력" width="1136" height="450" data-path="images/playfab/multiplayer/servers/tutorials/gsdk-sample-output.png" />

<Tip>
  교차 확인을 위해 링크에서 제공되는 컴파일된 버전과 빌드 출력을 비교할 수 있습니다.
</Tip>

zip 파일을 가지고 있으면 [빌드 배포](#create-servers-by-deploying-a-build)를 시작할 준비가 된 것입니다.

## 빌드 배포로 서버 만들기

다음 방법 중 하나를 사용하여 빌드를 배포할 수 있습니다.

* [Game Manager를 사용하여 서버 배포 및 구성](/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-game-manager)
* [PowerShell을 사용하여 서버 배포 및 구성](/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-api-powershell)

일부 설정의 경우 웹 인터페이스인 Game Manager를 사용하여 구성하는 것이 더 쉬울 수 있습니다.

다음으로, 배포된 서버에 연결하기 위해 [클라이언트를 설정하고 실행](#client-set-up)합니다.

## 클라이언트 설정

PlayFab 멀티플레이어 서버를 사용하여 만든 게임 서버에 연결하기 위한 Windows Runner 클라이언트 애플리케이션을 얻는 방법을 설명합니다. 대기 상태의 서버가 있어야만 설정할 수 있습니다.

* [빌드 배포](#create-servers-by-deploying-a-build) 후 대기 서버를 사용할 수 있을 때까지 기다립니다.

* 빌드의 **titleId** 및 **buildId** 를 얻습니다.

  * Game Manager 사용:
    * **My Studios and Titles** 페이지로 이동하여 게임 타이틀을 찾습니다. 거기에 나열된 ID 값을 복사하여 나중에 액세스할 수 있는 편리한 위치에 붙여넣습니다. 이것이 **titleId** 입니다.
    * 대시보드를 보려면 게임 타이틀을 선택합니다.
    * **Multiplayer** > **Servers** > **Builds**로 이동합니다.
    * 사용하려는 빌드의 ID를 복사하고 편리한 위치에 붙여넣습니다. 이것이 **buildId** 입니다.

  * PowerShell 사용의 경우 빌드가 성공적으로 배포된 후 출력에 이 정보가 있습니다.
    * **titleId** 및 **buildId** 를 복사하고 편리한 위치에 붙여넣습니다.

* 표준 Git 방법 또는 zip 파일로 다운로드하여 [Windows Runner C# 샘플](https://github.com/PlayFab/MpsSamples/tree/master/WindowsRunnerCSharp)을 가져옵니다. 이전에 수행한 경우 건너뜁니다.

* Visual Studio 2017 이상을 사용하여 프로젝트를 엽니다. 그러면 최신 [게임 서버 SDK NuGet 패키지](https://www.nuget.org/packages/com.playfab.csharpgsdk)와 같은 종속성이 자동으로 다운로드되도록 트리거됩니다.

* 릴리스 x64 구성에서 **WindowsRunnerCSharpClient.csproj** 를 컴파일하고 빌드합니다.

* 명령 프롬프트를 열고 이 프로젝트의 출력 폴더로 이동합니다.

* 위 값을 사용하여 \<TitleId>와 \<BuildID>를 대체하여 이 명령줄로 WindowsRunnerCSharpClient를 실행합니다: **dotnet WindowsRunnerCSharpClient.dll --titleId \<TitleId> --buildId \<BuildId>**

예시:

```sample code theme={null}
cd C:\Users\UserName\Documents\GitHub\MpsSamples\WindowsRunnerCSharp\WindowsRunnerCSharpClient\bin\Release\netcoreapp3.1

dotnet WindowsRunnerCSharpClient.dll --titleId CBE66 --buildId 36083326-3bd5-4b8f-a97d-7e82f066aa40 --verbose
```

클라이언트가 서버에 성공적으로 연결되면 명령 프롬프트에 IP 주소로 서버가 할당되었음을 알리는 로그 메시지가 표시됩니다.

## 참고 항목

* [첫 번째 서버 만들기](/services/playfab/multiplayer/servers/create-your-first-server)
* [리소스 및 샘플](/services/playfab/multiplayer/servers/server-samples-resources)
* [PlayFab 멀티플레이어 서버 SDK](/services/playfab/multiplayer/servers/server-sdks/overview)
* [API 참조](xref:titleid.playfabapi.com.multiplayer.multiplayerserver)


## Related topics

- [Wrapper 샘플](/ko/services/playfab/multiplayer/servers/wrapper-sample.md)
- [Multiplayer Servers 샘플 및 리소스](/ko/services/playfab/multiplayer/servers/server-samples-resources.md)
- [연습: PowerShell/API를 사용하여 빌드 배포](/ko/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-api-powershell.md)
- [샘플](/ko/build/core-features/common/game-streaming/building-touch-layouts/samples/index.md)
- [QoS 비콘을 사용하여 Azure에 대한 플레이어 지연 시간 측정](/ko/services/playfab/multiplayer/servers/using-qos-beacons-to-measure-player-latency-to-azure.md)
