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

# Integración del GSDK de PlayFab en Unity

> Integre el SDK de servidor de juegos de PlayFab (GSDK) en un proyecto de servidor dedicado de Unity para hospedar compilaciones en PlayFab Multiplayer Servers con la biblioteca UnityGsdk.

La plataforma Multiplayer Servers proporciona una biblioteca de GSDK que puede integrar en su servidor de juegos de [Unity](https://unity.com/). La biblioteca es de código abierto y se encuentra en el [repositorio del GSDK en GitHub](https://github.com/PlayFab/gsdk/tree/master/UnityGsdk).

## Instalación

Puede copiar la carpeta [Assets/PlayFabSdk](https://github.com/PlayFab/gsdk/tree/master/UnityGsdk/Assets/PlayFabSdk) en su proyecto de Unity. Después, debe habilitar la directiva de scripting `ENABLE_PLAYFABSERVER_API` en la configuración de compilación de Unity ([ejemplo](https://user-images.githubusercontent.com/8256138/81462605-a6d7ac80-9168-11ea-9748-110ed01095c2.png)).
Como alternativa, puede usar el [archivo de paquete de Unity](https://github.com/PlayFab/gsdk/blob/main/UnityGsdk/MpsGsdk.unitypackage) proporcionado.
Puede encontrar código de ejemplo en el proyecto [MultiplayerServerSample](https://github.com/PlayFab/gsdk/tree/main/UnityGsdk/Assets/PlayFabSdk).

## Uso

Como mínimo, debe implementar el método `PlayFabMultiplayerAgentAPI.Start()` e iniciar una [corrutina](https://docs.unity3d.com/Manual/Coroutines.html) para el método `PlayFabMultiplayerAgentAPI.ReadyForPlayers()`, como en el código siguiente

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

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

También querrá registrarse para el momento en que el servidor de juegos pase al estado Active mediante `PlayFabMultiplayerAgentAPI.OnServerActiveCallback`, como en el ejemplo siguiente:

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

<Note>
  Para obtener más información sobre los estados del servidor de juegos, consulte la sección Aspectos básicos de un servidor de juegos de PlayFab [aquí](/services/playfab/multiplayer/servers/basics-of-a-playfab-game-server)
</Note>

Además, puede implementar las siguientes devoluciones de llamada en el servidor de juegos:

* `PlayFabMultiplayerAgentAPI.OnMaintenanceCallback`: se desencadena cuando Azure necesita realizar mantenimiento en la máquina virtual
* `PlayFabMultiplayerAgentAPI.OnShutDownCallback`: se desencadena cuando se recibe una notificación de terminación
* `PlayFabMultiplayerAgentAPI.OnAgentErrorCallback`: se desencadena si hay algún error en la comunicación entre el servidor de juegos y el agente de máquina virtual de PlayFab

<Note>
  Para obtener más ejemplos del GSDK, puede echar un vistazo a nuestro repositorio de ejemplos de MPS [aquí](https://github.com/PlayFab/MpsSamples)
</Note>


## Related topics

- [Depuración local de servidores de juego e integración con PlayFab](/es/services/playfab/multiplayer/servers/locally-debugging-game-servers-and-integration-with-playfab.md)
- [Conceptos básicos de un servidor de juegos de PlayFab](/es/services/playfab/multiplayer/servers/basics-of-a-playfab-game-server.md)
- [Configuración de la autenticación de PlayFab con Kongregate y Unity](/es/services/playfab/identity/player-identity/platform-specific-authentication/kongregate-unity.md)
- [Información general del complemento de Unity de PlayFab Multiplayer](/es/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/multiplayer-unity-overview.md)
- [Integración del complemento de PlayFab del Marketplace de Unreal Engine](/es/services/playfab/multiplayer/networking/party-unreal-engine-oss-playfab-plugin-integration.md)
