

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Intégration Amazon GameLift Servers à un projet de serveur de jeu Unity
<a name="integration-unity-server-sdk4"></a>

**Note**  
Cette rubrique fournit des informations relatives à une version antérieure du Amazon GameLift Servers plugin pour Unity. La version 1.x utilise le SDK du serveur pour Amazon GameLift Servers 4.x ou version antérieure. Pour obtenir de la documentation sur la dernière version du plugin, qui utilise le SDK de serveur 5.x et prend en charge de nouvelles fonctionnalités telles que Amazon GameLift Servers Anywhere et l'hébergement de conteneurs gérés, voir. [Amazon GameLift Serversplugin pour Unity (SDK serveur 5.x)](unity-plug-in.md)

Cette rubrique vous aide à préparer votre serveur de jeu personnalisé pour l'hébergement surAmazon GameLift Servers. Le serveur de jeu doit être en mesure de Amazon GameLift Servers notifier son statut, de démarrer et d'arrêter des sessions de jeu lorsqu'il y est invité, et d'effectuer d'autres tâches. Pour plus d’informations, consultez [Ajoutez Amazon GameLift Servers à votre serveur de jeu avec le SDK du serveur](gamelift-sdk-server-api.md).

## Conditions préalables
<a name="integration-unity-server-sdk4-prereq"></a>

Avant d'intégrer votre serveur de jeu, effectuez les tâches suivantes : 
+ [Configurer un rôle de service IAM pour Amazon GameLift Servers](setting-up-role.md)
+ [Installation et configuration du plugin](unity-plug-in-sdk4.md#unity-plug-in-sdk4-install)

## Configuration d'un nouveau processus de serveur
<a name="integration-unity-server-sdk4-server-process"></a>

**Note**  
Cette rubrique fait référence au Amazon GameLift Servers plugin pour Unity version 1.0.0, qui utilise le SDK du serveur 4.x ou une version antérieure.

Configurez la communication avec le processus serveur Amazon GameLift Servers et signalez qu'il est prêt à héberger une session de jeu. 

1. Initialisez le SDK du serveur en appelant. `InitSDK()` 

1. Pour préparer le serveur à accepter une session de jeu, appelez `ProcessReady()` avec le port de connexion et les détails de l'emplacement de la session de jeu. Incluez les noms des fonctions de rappel invoquées par le Amazon GameLift Servers service, telles que`OnGameSession()`,,`OnGameSessionUpdate()`,`OnProcessTerminate()`. `OnHealthCheck()` Amazon GameLift ServersLe rappel peut prendre quelques minutes.

1. Amazon GameLift Serversmet à jour l'état du processus du serveur sur`ACTIVE`.

1. Amazon GameLift Serversappelle `onHealthCheck` périodiquement.

L'exemple de code suivant montre comment configurer un processus serveur simple avecAmazon GameLift Servers. 

```
//initSDK
var initSDKOutcome = GameLiftServerAPI.InitSDK();
           
//processReady
// Set parameters and call ProcessReady
var processParams = new ProcessParameters(
    this.OnGameSession,
    this.OnProcessTerminate,
    this.OnHealthCheck,
    this.OnGameSessionUpdate,
    port,
    // Examples of log and error files written by the game server
    new LogParameters(new List<string>()          
        {
            "C:\\game\\logs",
            "C:\\game\\error"
        })
);
               
var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams);
               
// Implement callback functions
void OnGameSession(GameSession gameSession)
{
    // game-specific tasks when starting a new game session, such as loading map
    // When ready to receive players
    var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession();
}
               
void OnProcessTerminate()
{
    // game-specific tasks required to gracefully shut down a game session, 
    // such as notifying players, preserving game state data, and other cleanup
    var ProcessEndingOutcome = GameLiftServerAPI.ProcessEnding();
}
               
bool OnHealthCheck()
{
    bool isHealthy;
    // complete health evaluation within 60 seconds and set health
    return isHealthy;
}
```

## Démarrer une session de jeu
<a name="integration-unity-server-sdk4-start-game-session"></a>

**Note**  
Cette rubrique fait référence au Amazon GameLift Servers plugin pour Unity version 1.0.0, qui utilise le SDK du serveur 4.x ou une version antérieure.

Une fois l'initialisation du jeu terminée, vous pouvez démarrer une session de jeu.

1. Implémentez la fonction de rappel. `onStartGameSession` Amazon GameLift Serversinvoque cette méthode pour démarrer une nouvelle session de jeu sur le processus du serveur et recevoir les connexions des joueurs.

1. Pour activer une session de jeu, appelez`ActivateGameSession()`. Pour plus d'informations sur le SDK, consultez[SDK du serveur C\# pour Amazon GameLift Servers 4.x -- Actions](integration-server-sdk-csharp-ref-actions.md).

L'exemple de code suivant montre comment démarrer une session de jeu avecAmazon GameLift Servers. 

```
void OnStartGameSession(GameSession gameSession)
{
    // game-specific tasks when starting a new game session, such as loading map   
    ...
    // When ready to receive players   
    var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession();
}
```

## Mettre fin à une session de jeu
<a name="integration-unity-server-sdk4-end-game-session"></a>

**Note**  
Cette rubrique fait référence au Amazon GameLift Servers plugin pour Unity version 1.0.0, qui utilise le SDK du serveur 4.x ou une version antérieure.

Avertir Amazon GameLift Servers de la fin d'une session de jeu. Il est recommandé d'arrêter les processus du serveur une fois les sessions de jeu terminées afin de recycler et d'actualiser les ressources d'hébergement. 

1. Configurez une fonction nommée `onProcessTerminate` pour recevoir les demandes Amazon GameLift Servers et les appeler`ProcessEnding()`. 

1. L'état du processus passe à`TERMINATED`.

L'exemple suivant décrit comment mettre fin à un processus pour une session de jeu.

```
var processEndingOutcome = GameLiftServerAPI.ProcessEnding();

if (processReadyOutcome.Success)
   Environment.Exit(0);

// otherwise, exit with error code
Environment.Exit(errorCode);
```

## Créer un serveur, le compiler et le télécharger sur Amazon GameLift Servers
<a name="integration-unity-server-sdk4-gamelift-connection"></a>

**Note**  
Cette rubrique fait référence au Amazon GameLift Servers plugin pour Unity version 1.0.0, qui utilise le SDK du serveur 4.x ou une version antérieure.

Après avoir intégré votre serveur de jeuAmazon GameLift Servers, téléchargez les fichiers de build dans une flotte afin de Amazon GameLift Servers pouvoir les déployer pour l'hébergement de jeux. Pour plus d'informations sur la façon de télécharger votre serveur surAmazon GameLift Servers, consultez[Créez un serveur de jeu conçu pour Amazon GameLift Servers](gamelift-build-cli-uploading.md).