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

# PlayFab GSDK를 Unity에 통합

> UnityGsdk 라이브러리를 사용하여 PlayFab Multiplayer Servers에서 빌드를 호스팅하기 위해 PlayFab Game Server SDK(GSDK)를 Unity 전용 서버 프로젝트에 통합합니다.

Multiplayer Servers 플랫폼은 [Unity](https://unity.com/) 게임 서버에 통합할 수 있는 GSDK 라이브러리를 제공합니다. 라이브러리는 오픈 소스이며 [GitHub의 GSDK 리포지토리](https://github.com/PlayFab/gsdk/tree/master/UnityGsdk)에서 찾을 수 있습니다.

## 설치

[Assets/PlayFabSdk](https://github.com/PlayFab/gsdk/tree/master/UnityGsdk/Assets/PlayFabSdk) 폴더를 Unity 프로젝트에 복사할 수 있습니다. 그런 다음 Unity Build 설정에서 스크립팅 지시문 `ENABLE_PLAYFABSERVER_API`를 활성화해야 합니다([예](https://user-images.githubusercontent.com/8256138/81462605-a6d7ac80-9168-11ea-9748-110ed01095c2.png)).
또는 제공된 [Unity 패키지 파일](https://github.com/PlayFab/gsdk/blob/main/UnityGsdk/MpsGsdk.unitypackage)을 사용할 수도 있습니다.
[MultiplayerServerSample](https://github.com/PlayFab/gsdk/tree/main/UnityGsdk/Assets/PlayFabSdk) 프로젝트에서 샘플 코드를 찾을 수 있습니다.

## 사용법

최소한, 아래 코드처럼 `PlayFabMultiplayerAgentAPI.Start()` 메서드를 구현하고 `PlayFabMultiplayerAgentAPI.ReadyForPlayers()` 메서드에 대한 [코루틴](https://docs.unity3d.com/Manual/Coroutines.html)을 시작해야 합니다.

```csharp theme={null}
//...
StartCoroutine(ReadyForPlayers());
//...

private IEnumerator ReadyForPlayers()
{
    yield return new WaitForSeconds(.5f);
    PlayFabMultiplayerAgentAPI.ReadyForPlayers();
}
```

또한 아래 예시처럼 `PlayFabMultiplayerAgentAPI.OnServerActiveCallback`을 사용하여 게임 서버가 Active로 전환될 때를 등록하는 것이 좋습니다:

```csharp theme={null}
PlayFabMultiplayerAgentAPI.OnServerActiveCallback += OnServerActive;
// ...
private void OnServerActive()
{
    Debug.Log("Server Started From Agent Activation");
    // players can now connect to the server
}
```

<Note>
  게임 서버 상태에 대한 자세한 내용은 [여기](/services/playfab/multiplayer/servers/basics-of-a-playfab-game-server)에서 PlayFab 게임 서버의 기본 사항 섹션을 확인하세요.
</Note>

또한 게임 서버에서 다음 콜백을 구현할 수 있습니다:

* `PlayFabMultiplayerAgentAPI.OnMaintenanceCallback` Azure가 VM에서 유지 관리를 수행해야 할 때 트리거됩니다.
* `PlayFabMultiplayerAgentAPI.OnShutDownCallback` 종료 알림이 수신될 때 트리거됩니다.
* `PlayFabMultiplayerAgentAPI.OnAgentErrorCallback` 게임 서버와 PlayFab VM Agent 통신 사이에 오류가 있는 경우 트리거됩니다.

<Note>
  더 많은 GSDK 샘플은 [여기](https://github.com/PlayFab/MpsSamples)에서 MPS Samples 리포지토리를 확인할 수 있습니다.
</Note>


## Related topics

- [Marketplace 통합 - Apple](/ko/services/playfab/economy-monetization/economy-v2/marketplace/marketplace-integrations/apple.md)
- [Marketplace 통합 - Google](/ko/services/playfab/economy-monetization/economy-v2/marketplace/marketplace-integrations/google.md)
- [Kongregate와 Unity를 사용하여 PlayFab 인증 설정하기](/ko/services/playfab/identity/player-identity/platform-specific-authentication/kongregate-unity.md)
- [Facebook과 Unity를 사용하여 PlayFab 인증 설정하기](/ko/services/playfab/identity/player-identity/platform-specific-authentication/facebook-unity.md)
- [게임 서버 로컬 디버깅 및 PlayFab과의 통합](/ko/services/playfab/multiplayer/servers/locally-debugging-game-servers-and-integration-with-playfab.md)
