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

# Déploiement infonuagique du projet GSDK

> Déployez une build de serveur Windows Unreal Engine intégrant le GSDK dans le nuage PlayFab Multiplayer Servers (MPS) pour des tests itératifs, avant de passer à Linux pour la production.

# Déployer et exécuter un serveur Windows dans le nuage

Ce guide explique comment déployer votre build de serveur Windows dans le nuage PlayFab Multiplayer Server (MPS). C'est idéal pour tester et itérer rapidement sur votre serveur de jeu pendant le développement. De nombreux utilisateurs utiliseront des [serveurs Linux](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/setting-up-a-linux-dedicated-server-on-playfab) pour la version de production après avoir effectué leurs tests avec Windows.

## Objectifs

* Déployer un projet dans le nuage.
* S'y connecter depuis un client de jeu local

## Exigences

* Téléchargez Visual Studio. La [version Community](https://visualstudio.microsoft.com/vs/community/) est gratuite.
  * Charges de travail requises : Développement .NET Desktop et Développement Desktop en C++
* Téléchargez le code source d'Unreal Engine. Pour obtenir des instructions, consultez [Downloading Unreal Engine Source code (externe)](https://docs.unrealengine.com/ProgrammingAndScripting/ProgrammingWithCPP/DownloadingSourceCode/).
* Un [projet Unreal finalisé](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-setup) dans lequel le [GSDK Unreal PlayFab](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-gsdk-project-setup) est installé et configuré
* La configuration [serveur de version finale](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/building-the-third-person-mp-example-project) de votre projet, générée depuis Visual Studio ou le Development Editor
* La configuration [client](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/building-the-third-person-mp-example-project) de votre projet, générée depuis Visual Studio ou le Development Editor
* MPS est [activé pour votre titre](/fr-CA/services/playfab/multiplayer/servers/enable-playfab-multiplayer-servers) et la facturation est configurée
* \[Facultatif] Installez [Docker pour Windows](https://docs.docker.com/desktop/windows/install/)

## Instructions

### Empaqueter le serveur de jeu

* \[FACULTATIF] Cette section permet d'actualiser les fichiers qu'Unreal génère dans votre projet. C'est utile si vous avez récemment créé ou supprimé des fichiers.
  * Si vous n'avez pas récemment généré votre projet dans la configuration "development editor", faites-le maintenant
  * Fermez Visual Studio
  * Accédez au fichier `{ProjectName}.uproject` de votre projet
  * Cliquez avec le bouton droit sur le fichier `{ProjectName}.uproject` dans votre gestionnaire de fichiers et sélectionnez "Generate Visual Studio Project Files"
  * Rouvrez le fichier \{ProjectName}.sln dans Visual Studio
* Sélectionnez la configuration **Development Editor**
* Exécutez votre projet
* Observez l'éditeur Unreal, qui doit avoir chargé votre projet
* En haut à gauche du menu de l'éditeur Unreal, sélectionnez **File** -> **Package** -> **Build Target** -> **\{ProjectName}Server**
* Sélectionnez **File** -> **Package** -> **Build Configuration** -> **Shipping**
* Sélectionnez **File** -> **Package** -> **Windowsx64**
* Sélectionnez un emplacement de sortie \{ShippingServerFolder} et mémorisez-le
* Vous pouvez maintenant utiliser cette version empaquetée de votre serveur de jeu pour [effectuer des tests avec LocalMultiplayerAgent](/fr-CA/services/playfab/multiplayer/servers/locally-debugging-game-servers-and-integration-with-playfab)
* Une fois la vérification effectuée avec LocalMultiplayerAgent, consultez le [guide de création d'une build](/fr-CA/services/playfab/multiplayer/servers/deploying-playfab-multiplayer-server-builds)
  * À ce stade, les tests sur MPS nécessitent un outil intermédiaire de [PlayFab MpsAllocatorSample](https://github.com/PlayFab/MpsSamples/tree/main/MpsAllocatorSample)
  * Cet outil contourne pour l'instant une partie du travail côté client et nous permet d'allouer un serveur sans requête directe du client de jeu
  * La bonne façon de procéder sur un client est un sujet distinct, traité dans le [guide d'allocation](/fr-CA/services/playfab/multiplayer/servers/allocating-game-servers-and-configuring-vs-debugging-tools).
* Compressez votre build Shipping Server à partir du dossier \{ShippingServerFolder} ci-dessus
  * Votre zip doit contenir tout le contenu de \{ShippingServerFolder}, éventuellement à la racine du fichier zip
  * \[Facultatif] Autrement dit, la racine de votre zip doit contenir \{ProjectName}Server.exe (il est conseillé que l'exe ne se trouve pas dans un sous-dossier tel que "WindowsServer". Recréez votre zip si vous le souhaitez)
* Familiarisez-vous avec le [guide du processus de création de build](/fr-CA/services/playfab/multiplayer/servers/deploying-playfab-multiplayer-server-builds)
* Les détails propres à chaque configuration sont présentés ci-dessous :

### Configurer un serveur dédié Windows sur PlayFab

Cette section explique comment créer une build dans PlayFab MPS, téléverser votre serveur de jeu et vous y connecter pour la première fois. Vous pouvez également suivre le [guide principal de création de serveur](/fr-CA/services/playfab/multiplayer/servers/create-your-first-server) de MPS pour des instructions moins spécifiques à Unreal.

* Accédez à Game Manager -> Multiplayer
* Sélectionnez **New Build**
* Donnez un nom à la build
* Sélectionnez une machine virtuelle (pour les exemples décrits dans ces guides, l'option recommandée comportant le moins de cœurs suffit)
* Le nombre de serveurs par machine peut être compris entre 1 et 10 environ
  * L'amélioration/l'augmentation de ce nombre dépend des performances de votre serveur de jeu
  * Vous pouvez utiliser les [métriques des machines virtuelles](/fr-CA/services/playfab/multiplayer/servers/vm-metrics) pour mesurer les performances de votre serveur de jeu et l'optimiser afin d'augmenter ce nombre
* Ignorez **Server details** pour l'instant (traité à l'étape suivante)
* Dans le bloc Assets, faites glisser votre fichier zip de la section précédente dans la zone de téléversement
  * Si vous effectuez un nouveau lancement, vous pouvez sélectionner **Use existing assets**
* Attendez la fin du téléversement
* Ignorez **Start Command** pour l'instant (traité à l'étape suivante)
* Dans le bloc Network, définissez le champ Port Name sur `gameport`
  * Il est obligatoire de définir le port qui sera utilisé pour se connecter à votre serveur de jeu
  * Le GSDK Unreal contient du code qui lit automatiquement ce port et remplace en interne le port hôte du serveur Unreal en fonction de cette valeur
  * Le nom de ce port doit obligatoirement être `gameport`
* Passez à l'étape suivante correspondant aux "Server Details" que vous souhaitez configurer

#### Option 1 : mode processus Windows

Cette option exécute votre ou vos serveurs de jeu sous forme de processus directement sur la machine virtuelle. Vos processus partagent l'accès à l'ensemble de la machine, y compris les ports, les lecteurs, etc. Cette option décompresse votre actif téléversé et exécute la "Start Command" en utilisant l'emplacement de vos fichiers décompressés comme répertoire de travail.

* Dans **Server Details**, sélectionnez **Process** et **Windows**
* Dans **Assets**, définissez la commande de démarrage sur :
  * `{ProjectName}Server.exe`, ou `{ProjectName}Server.exe -log` si vous souhaitez générer des fichiers journaux
  * La commande de démarrage est exécutée depuis la ligne de commande, avec vos fichiers d'actifs décompressés comme répertoire de travail
  * Si vous avez choisi d'empaqueter votre fichier zip avec des sous-dossiers, vous pouvez spécifier un chemin relatif, par exemple `WindowsServer/{ProjectName}Server.exe`, pour accéder à votre projet avec un sous-chemin relatif
* Sélectionnez **Add Build**
* Passez directement à la section **Configure Regions** ci-dessous

#### Option 2 : mode conteneur Windows

Cette option exécute votre ou vos serveurs de jeu dans des conteneurs Docker, en les isolant les uns des autres. Chaque processus de serveur dispose d'un lecteur virtuel, de ports réseau virtuels, etc., distincts. Cette option décompresse votre actif dans un chemin de montage que vous définissez, et attend une commande de démarrage sous forme de chemin complet, basé sur le chemin de montage.

Prérequis : configurer Docker pour exécuter des conteneurs Windows

* Dans **Server Details**, sélectionnez **Process** et **Windows**
* Dans **Assets**
  * Définissez le **Mount Path** de votre fichier zip gameServer sur `C:\assets` (ou une valeur similaire, désignée par \{MountPath})
  * Définissez la commande de démarrage sur : `{MountPath}\{ProjectName}Server.exe`, ou `{MountPath}\{ProjectName}Server.exe -log` si vous souhaitez générer des fichiers journaux
  * La commande de démarrage doit représenter le chemin complet, dans le conteneur, de votre fichier -Server.exe
  * Si vous avez choisi d'empaqueter votre fichier zip avec des sous-dossiers, vous pouvez spécifier un chemin absolu, par exemple `{MountPath}\WindowsServer\{ProjectName}Server.exe`, pour accéder à votre projet avec un sous-chemin absolu
* Sélectionnez **Add Build**
* Passez directement à la section **Configure Regions** ci-dessous

## Étapes suivantes

De nombreux utilisateurs voudront tester leur serveur en [connectant un client de jeu](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/connect-to-mps-hosted-build).

D'autres utilisateurs peuvent éventuellement poursuivre en régénérant et en redéployant leurs serveurs à l'aide de [conteneurs Linux](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/setting-up-a-linux-dedicated-server-on-playfab). Linux réduit les coûts d'hébergement des serveurs pour les déploiements à grande échelle.

Sinon, vous pouvez revenir au guide principal du [plug-in Unreal GSDK](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk).


## Related topics

- [Test et débogage du projet GSDK](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-local-deployment-and-debugging.md)
- [Configuration du GSDK dans le projet](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-gsdk-project-setup.md)
- [Vue d'ensemble du plug-in PlayFab Unreal GSDK](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/index.md)
- [Création de l'exemple de projet GSDK](/fr-CA/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-setup.md)
- [Débogage de projets PC avec Visual Studio](/fr-CA/tools/tools-pc/visualstudio/gr-vs-debugging-with-visualstudio.md)
