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

# Allouer des serveurs de jeu et connecter le débogueur Visual Studio

> Découvrez comment allouer des serveurs de jeu multijoueurs PlayFab avec RequestMultiplayerServer et attacher les outils de débogage de Visual Studio à une session en cours d'exécution.

## Allocation de sessions multijoueurs

Avec PlayFab Multiplayer Servers 2.0, vous pouvez allouer des instances de votre application de serveur multijoueur à l'aide de l'API [RequestMultiplayerServer](xref:titleid.playfabapi.com.multiplayer.multiplayerserver.requestmultiplayerserver).

En général, cette API est appelée depuis vos propres services (par exemple, un service de matchmaking ou de lobby), à l'aide d'une clé secrète de développeur PlayFab configurée pour le titre concerné. Pour plus d'informations sur les clés secrètes, consultez [Gestion des clés secrètes](/fr/services/playfab/live-service-management/gamemanager/secret-key-management).

Modèle typique pour réunir les joueurs et allouer des serveurs :

1. Les clients collectent des informations de QoS réseau.
2. Les clients interagissent avec un service de matchmaking personnalisé ou se regroupent via des invitations sociales.
3. Un service de matchmaking personnalisé alloue une session au groupe, à l'aide d'une liste de régions classées par priorité.

**RequestMultiplayerServer** comporte plusieurs paramètres clés :

* **BuildID** : la build de serveur spécifique à allouer.
* **SessionID** : un identificateur de la session. *Il s'agit d'une chaîne GUID générée par l'appelant*. Les nouvelles tentatives d'appel de cette API pour la même session logique doivent réutiliser le même identificateur. Cela limite le risque que le comportement de nouvelle tentative de l'appelant crée des serveurs inutiles.
* **SessionCookie** : données arbitraires communiquées via le SDK du serveur de jeu à la session allouée lors de son activation. Ce champ est généralement utilisé pour communiquer une clé partagée que les serveurs de jeu utilisent pour authentifier les clients. *Les données doivent faire moins de 4 kilo-octets*.
* **PreferredRegions** : une liste ordonnée de régions utilisée pour allouer les serveurs. Nous recommandons d'utiliser les mesures de QoS réseau collectées sur les appareils clients comme principal critère de classement des régions.

Une allocation réussie renvoie les informations suivantes :

* L'adresse **IPv4** du serveur.
* Les mappages de ports **TCP/UDP** (consultez [Connexion des clients aux serveurs de jeu](/fr/services/playfab/multiplayer/servers/connecting-clients-to-game-servers)).
* La **région** du serveur.

<Note>
  Vous pouvez utiliser MpsAllocatorSample (disponible [ici](https://github.com/PlayFab/MpsSamples/tree/master/MpsAllocatorSample)) pour allouer facilement des serveurs de jeu pendant le développement de votre jeu
</Note>

## Allocation par le client

Les serveurs multijoueurs sont coûteux et puissants. Par défaut, vous ne pouvez demander un serveur multijoueur qu'à partir de votre *propre* service de confiance, à l'aide d'une clé secrète de développeur PlayFab.

Toutefois, l'allocation de serveurs *directement* depuis les appareils des joueurs peut vous éviter de devoir implémenter des appels de service à service et s'avérer utile dans certaines circonstances.

Pour activer l'allocation par le client :

* Sélectionnez **Settings** dans le menu de gauche.
* Sélectionnez l'onglet **API Features**.
* Activez ensuite l'option **Allow Client to start games**.

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/tutorials/game-manager-settings-api-features-allow-client-to-start-games.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=3096df2ab104fcd3bed5015146b33436" alt="Game Manager - Settings - API Features - Allow Client to start games" width="1133" height="1200" data-path="images/playfab/multiplayer/servers/tutorials/game-manager-settings-api-features-allow-client-to-start-games.png" />

Lorsque ce paramètre est activé, vous pouvez appeler [RequestMultiplayerServer](xref:titleid.playfabapi.com.multiplayer.multiplayerserver.requestmultiplayerserver) à l'aide du jeton d'entité de n'importe quel joueur associé au titre.

## Débogage d'un serveur multijoueur déployé

Vous pouvez avoir besoin de déboguer à distance un serveur de jeu pendant qu'il est déployé dans Azure. Avec Visual Studio, cela nécessite actuellement d'installer et de configurer les outils de débogage à distance de Visual Studio dans le conteneur.

<Note>
  La procédure suivante active un débogage non sécurisé et non authentifié.
</Note>

La procédure suivante ne doit être appliquée *qu'aux* builds de serveur destinées au développement et aux tests, et doit *généralement être évitée* dans un environnement accessible aux joueurs.

1. Obtenez les outils de débogage à distance de VS2017 :

```cmd theme={null}
Invoke-WebRequest -OutFile rtools_setup_x64.exe -Uri
https://aka.ms/vs/15/release/RemoteTools.amd64ret.enu.exe
```

2. Incluez ces outils dans votre package de ressources de serveur de jeu.
3. Lors de la création de votre build de serveur dans Game Manager ou avec l'API Entity, configurez le port TCP 4022 comme port de débogage.
4. Vous devez exécuter `msvsmon` dans le conteneur pour activer le débogage à distance. Une approche courante consiste à spécifier un script CMD comme commande de démarrage du jeu et à utiliser un argument de ligne de commande pour lancer `msvsmon` en plus de l'exécutable de votre serveur de jeu.
5. Exécutez `msvsmon` une fois avec :

```cmd theme={null}
/prepcomputer /quiet
```

6. Exécutez `msvsmon` avec les indicateurs (illustrés ci-dessous).

```cmd theme={null}
/nostatus /noauth /nosecuritywarn /anyuser /nofirewallwarn /nodiscovery /port 4022
```

<Note>
  Nous recommandons d'*indiquer explicitement* le port afin que votre programme puisse gérer le code de sortie du processus si le port est déjà utilisé, plutôt que de se lier à un port aléatoire qui n'est pas ouvert.
</Note>

7. Allouez votre serveur de jeu.
8. Tentez de déboguer via VS, à l'aide du port de débogage externe renvoyé par l'appel d'allocation.


## Related topics

- [Se connecter à un serveur Unreal hébergé dans le cloud](/fr/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/connect-to-mps-hosted-build.md)
- [Déboguer des projets XBOX à l'aide de Visual Studio](/fr/tools/tools-console/visualstudio/debugging-with-visualstudio.md)
- [Débogage de projets PC avec Visual Studio](/fr/tools/tools-pc/visualstudio/gr-vs-debugging-with-visualstudio.md)
- [Déboguer des projets PC sur des appareils Windows distants dans Visual Studio](/fr/tools/tools-pc/visualstudio/gr-vs-debugging-with-visualstudio-remote-windows.md)
- [Se connecter directement pour déboguer les serveurs de jeu](/fr/services/playfab/multiplayer/servers/directly-debugging-game-servers.md)
