

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.

# SDK Go Server pour GameLift Serveurs Amazon -- Actions
<a name="integration-server-sdk-go-actions"></a>

Utilisez la référence au SDK 5.x du serveur pour intégrer votre jeu multijoueur à héberger. Amazon GameLift Servers Pour obtenir des conseils sur le processus d'intégration, consultez[Addition GameLift Serveurs Amazon sur votre serveur de jeu à l'aide du SDK du serveur](gamelift-sdk-server-api.md).

`GameLiftServerAPI.go`définit les actions du SDK du serveur Go.

[SDK du serveur Go pour Amazon GameLift Servers -- Types de données](integration-server-sdk-go-datatypes.md)

**Topics**
+ [SDK du serveur Go pour Amazon GameLift Servers -- Types de données](integration-server-sdk-go-datatypes.md)
+ [GetSdkVersion()](#integration-server-sdk-go-getsdkversion)
+ [InitMetrics()](#integration-server-sdk-go-initmetrics)
+ [InitMetricsFromEnvironment()](#integration-server-sdk-go-initmetricsfromenv)
+ [InitSDK()](#integration-server-sdk-go-initsdk)
+ [ProcessReady()](#integration-server-sdk-go-processready)
+ [ProcessEnding()](#integration-server-sdk-go-processending)
+ [ActivateGameSession()](#integration-server-sdk-go-activategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk-go-updateplayersessioncreationpolicy)
+ [GetGameSessionId()](#integration-server-sdk-go-getgamesessionid)
+ [GetTerminationTime()](#integration-server-sdk-go-getterm)
+ [AcceptPlayerSession()](#integration-server-sdk-go-acceptplayersession)
+ [RemovePlayerSession()](#integration-server-sdk-go-removeplayersession)
+ [DescribePlayerSessions()](#integration-server-sdk-go-describeplayersessions)
+ [StartMatchBackfill()](#integration-server-sdk-go-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk-go-stopmatchbackfill)
+ [GetComputeCertificate()](#integration-server-sdk-go-getcomputecertificate)
+ [GetFleetRoleCredentials()](#integration-server-sdk-go-getfleetrolecredentials)
+ [ListContainersNetworkInfo()](#integration-server-sdk-go-listcontainersnetworkinfo)
+ [Détruire ()](#integration-server-sdk-go-destroy)

## GetSdkVersion()
<a name="integration-server-sdk-go-getsdkversion"></a>

Renvoie le numéro de version actuel du kit SDK intégré dans le processus serveur.

### Syntaxe
<a name="integration-server-sdk-go-getsdkversion-syntax"></a>

```
func GetSdkVersion() (string, error)
```

### Valeur renvoyée
<a name="integration-server-sdk-go-getsdkversion-return"></a>

En cas de succès, renvoie la version actuelle du SDK sous forme de chaîne. La chaîne renvoyée inclut le numéro de version (exemple`5.0.0`). En cas d'échec, renvoie un message d'erreur tel que`common.SdkVersionDetectionFailed`.

### Exemple
<a name="integration-server-sdk-go-getsdkversion-example"></a>

```
version, err := server.GetSdkVersion()
```

## InitMetrics()
<a name="integration-server-sdk-go-initmetrics"></a>

Initialise la collecte de métriques pour le Amazon GameLift Servers SDK. Cette méthode met en place des rapports de métriques pour aider à surveiller les performances et l'état du serveur. Appelez cette méthode après [InitSDK()](#integration-server-sdk-go-initsdk) mais avant[ProcessReady()](#integration-server-sdk-go-processready).

### Syntaxe
<a name="integration-server-sdk-go-initmetrics-syntax"></a>

```
func InitMetrics() error
func InitMetrics(metricsParameters MetricsParameters) error
```

### Parameters
<a name="integration-server-sdk-go-initmetrics-parameter"></a>

MetricsParameters (facultatif)  
Un `MetricsParameters` objet qui configure la collecte de métriques. Si elle n'est pas fournie, la configuration des métriques par défaut est utilisée. La MetricsParameters structure contient les champs suivants :  
+ `StatsdHost`- Le nom d'hôte ou l'adresse IP du serveur StatsD.
+ `StatsdPort`- Le numéro de port du serveur StatsD.
+ `CrashReporterHost`- Le nom d'hôte ou l'adresse IP du service Crash Reporter.
+ `CrashReporterPort`- Le numéro de port du service de reportage sur les accidents.
+ `FlushIntervalMs`- Intervalle en millisecondes pour le vidage des données des métriques.
+ `MaxPacketSize`- Taille maximale des paquets de métriques en octets.
Pour plus d'informations sur la MetricsParameters structure, consultez [ Server SDK 5.x pour les types de données C\#. ](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/integration-server-sdk5-csharp-datatypes.html)

### Valeur renvoyée
<a name="integration-server-sdk-go-initmetrics-return"></a>

En cas de succès, renvoie `nil` une erreur pour indiquer que la collecte de métriques a été initialisée avec succès.

### Exemple
<a name="integration-server-sdk-go-initmetrics-example"></a>

Initialisez les métriques avec la configuration par défaut :

```
err := server.InitMetrics()
```

Initialisez les métriques avec une configuration personnalisée :

```
metricsParams := MetricsParameters{
    StatsdHost:        "localhost",
    StatsdPort:        8125,
    CrashReporterHost: "localhost",
    CrashReporterPort: 9125,
    FlushIntervalMs:   5000,
    MaxPacketSize:     1024,
}

err := server.InitMetrics(metricsParams)
```

## InitMetricsFromEnvironment()
<a name="integration-server-sdk-go-initmetricsfromenv"></a>

Initialise la collecte de métriques pour le Amazon GameLift Servers SDK à l'aide de la configuration à partir de variables d'environnement. Cette méthode configure les rapports sur les métriques à l'aide des paramètres par défaut dérivés de l'environnement d'exécution.

Appelez cette méthode après [InitSDK()](#integration-server-sdk-go-initsdk) mais avant[ProcessReady()](#integration-server-sdk-go-processready).

### Syntaxe
<a name="integration-server-sdk-go-initmetricsfromenv-syntax"></a>

```
func InitMetricsFromEnvironment() error
```

### Valeur renvoyée
<a name="integration-server-sdk-go-initmetricsfromenv-return"></a>

En cas de succès, renvoie `nil` une erreur pour indiquer que la collecte de métriques a été initialisée avec succès à l'aide de la configuration de l'environnement.

### Exemple
<a name="integration-server-sdk-go-initmetricsfromenv-example"></a>

```
err := server.InitMetricsFromEnvironment()
```

## InitSDK()
<a name="integration-server-sdk-go-initsdk"></a>

Initialise le kit SDK Amazon GameLift Servers. Appelez cette méthode au lancement avant toute autre initialisation associéeAmazon GameLift Servers. Cette méthode permet de configurer la communication entre le serveur et le Amazon GameLift Servers service.

### Syntaxe
<a name="integration-server-sdk-go-initsdk-syntax"></a>

```
func InitSDK(params ServerParameters) error 
```

### Parameters
<a name="integration-server-sdk-go-initsdk-parameter"></a>

[ServerParameters](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-serverparameters)  
Pour initialiser un serveur de jeu  sur une flotte Amazon GameLift Servers Anywhere, créez un `ServerParameters` objet avec les informations suivantes :  
+ L'URL WebSocket utilisée pour vous connecter à votre serveur de jeu. 
+ L'identifiant du processus utilisé pour héberger votre serveur de jeu. 
+ L'identifiant de l'ordinateur hébergeant les processus de votre serveur de jeu. 
+ L'ID de la Amazon GameLift Servers flotte contenant votre calcul Amazon GameLift Servers Anywhere.
+ Le jeton d'autorisation généré par l'Amazon GameLift Serversopération. 
Pour initialiser un serveur de jeu sur une flotte EC2 Amazon GameLift Servers gérée, créez un `ServerParameters` objet sans paramètres. Cet appel permet à l'Amazon GameLift Serversagent de configurer l'environnement informatique et de se connecter automatiquement au Amazon GameLift Servers service pour vous. 

### Valeur renvoyée
<a name="integration-server-sdk-go-initsdk-return"></a>

En cas de succès, renvoie `nil` une erreur pour indiquer que le processus serveur est prêt à être appelé[ProcessReady()](#integration-server-sdk-go-processready). 

**Note**  
Si `InitSDK()` les appels à échouent pour des versions de jeu déployées sur des flottes Anywhere, vérifiez le `ServerSdkVersion` paramètre utilisé lors de la création de la ressource de build. Vous devez définir explicitement cette valeur sur la version du SDK du serveur utilisée. La valeur par défaut de ce paramètre est 4.x, ce qui n'est pas compatible. Pour résoudre ce problème, créez une nouvelle version et déployez-la dans une nouvelle flotte.

### Exemple
<a name="integration-server-sdk-go-initsdk-example"></a>

Amazon GameLift ServersExemple Anywhere

```
//Define the server parameters
serverParameters := ServerParameters {
  WebSocketURL: "wss://us-west-1.api.amazongamelift.com",
  ProcessID: "PID1234",
  HostID: "HardwareAnywhere",
  FleetID: "aarn:aws:gamelift:us-west-1:111122223333:fleet/fleet-9999ffff-88ee-77dd-66cc-5555bbbb44aa",
  AuthToken: "1111aaaa-22bb-33cc-44dd-5555eeee66ff"
}

//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
err := server.InitSDK(serverParameters)
```

Amazon GameLift Serversexemple EC2 géré

```
//Define the server parameters
serverParameters := ServerParameters {}

//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
err := server.InitSDK(serverParameters)
```

## ProcessReady()
<a name="integration-server-sdk-go-processready"></a>

Amazon GameLift ServersIndique que le processus serveur est prêt à héberger des sessions de jeu. Appelez cette méthode après l'avoir invoquée. [InitSDK()](#integration-server-sdk-go-initsdk) Cette méthode ne doit être appelée qu'une seule fois par processus.

### Syntaxe
<a name="integration-server-sdk-go-processready-syntax"></a>

```
func ProcessReady(param ProcessParameters) error
```

### Parameters
<a name="integration-server-sdk-go-processready-parameter"></a>

**ProcessParameters**  
Un [ProcessParameters](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-process) objet communique les informations suivantes concernant le processus serveur :  
+ Les noms des méthodes de rappel implémentées dans le code du serveur de jeu que le Amazon GameLift Servers service invoque pour communiquer avec le processus serveur.
+ Numéro de port sur lequel le processus serveur écoute.
+ Type de [LogParameters](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-log) données contenant le chemin d'accès à tous les fichiers spécifiques à une session de jeu que vous Amazon GameLift Servers souhaitez capturer et stocker.

### Valeur renvoyée
<a name="integration-server-sdk-go-processready-return"></a>

Renvoie une erreur avec un message d'erreur si la méthode échoue. Renvoie `nil` si la méthode est réussie.

### Exemple
<a name="integration-server-sdk-go-processready-example"></a>

Cet exemple illustre les implémentations de l'appel [ProcessReady()](#integration-server-sdk-go-processready) et de la fonction déléguée.

```
// Define the process parameters
processParams := ProcessParameters {
  OnStartGameSession: gameProcess.OnStartGameSession,
  OnUpdateGameSession: gameProcess.OnGameSessionUpdate,
  OnProcessTerminate: gameProcess.OnProcessTerminate,
  OnHealthCheck: gameProcess.OnHealthCheck,
  Port: port,
  LogParameters: LogParameters {    // logging and error example
    []string {"C:\\game\\logs", "C:\\game\\error"}
  }
}

err := server.ProcessReady(processParams)
```

## ProcessEnding()
<a name="integration-server-sdk-go-processending"></a>

Amazon GameLift ServersIndique que le processus serveur est en train de se terminer. Appelez cette méthode après toutes les autres tâches de nettoyage (y compris l'arrêt de la session de jeu active) et avant de terminer le processus. Selon le résultat de`ProcessEnding()`, le processus se termine avec succès (0) ou erreur (-1) et génère un événement de flotte. Si le processus se termine par une erreur, l'événement de flotte généré l'est`SERVER_PROCESS_TERMINATED_UNHEALTHY`.

### Syntaxe
<a name="integration-server-sdk-go-processending-syntax"></a>

```
func ProcessEnding() error
```

### Valeur renvoyée
<a name="integration-server-sdk-go-processending-return"></a>

Renvoie un code d'erreur 0 ou un code d'erreur défini.

### Exemple
<a name="integration-server-sdk-go-processending-example"></a>

```
// operations to end game sessions and the server process
defer func() {
  err := server.ProcessEnding()
  server.Destroy()
  if err != nil {
    fmt.Println("ProcessEnding() failed. Error: ", err)
    os.Exit(-1)
  } else {
    os.Exit(0)
  }
}
```

## ActivateGameSession()
<a name="integration-server-sdk-go-activategamesession"></a>

Amazon GameLift ServersIndique que le processus serveur a activé une session de jeu et qu'il est maintenant prêt à recevoir les connexions des joueurs. Cette action est appelée dans le cadre de la fonction de `onStartGameSession()` rappel, après toute initialisation de session de jeu.

### Syntaxe
<a name="integration-server-sdk-go-activategamesession-syntax"></a>

```
func ActivateGameSession() error
```

### Valeur renvoyée
<a name="integration-server-sdk-go-activategamesession-return"></a>

Renvoie une erreur avec un message d'erreur si la méthode échoue.

### Exemple
<a name="integration-server-sdk-go-activategamesession-example"></a>

Cet exemple montre l'`ActivateGameSession()`appel dans le cadre de la fonction `onStartGameSession()` déléguée. 

```
func OnStartGameSession(GameSession gameSession) {
  // game-specific tasks when starting a new game session, such as loading map   
  // Activate when ready to receive players   
  err := server.ActivateGameSession();
}
```

## UpdatePlayerSessionCreationPolicy()
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy"></a>

Met à jour la capacité de la session de jeu à accepter de nouvelles sessions de joueur. Une session de jeu peut être définie pour accepter ou refuser toutes les nouvelles sessions joueur.

### Syntaxe
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-syntax"></a>

```
func UpdatePlayerSessionCreationPolicy(policy model.PlayerSessionCreationPolicy) error
```

### Parameters
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-parameter"></a>

**joueur SessionCreationPolicy**  
Valeur de chaîne qui indique si la session de jeu accepte de nouveaux joueurs.   
Les valeurs valides sont les suivantes :  
+ **`model.AcceptAll`**— Acceptez toutes les sessions pour nouveaux joueurs.
+ **`model.DenyAll`**— Refusez toutes les sessions pour les nouveaux joueurs.

### Valeur renvoyée
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-return"></a>

Renvoie une erreur avec un message d'erreur en cas d'échec.

### Exemple
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-example"></a>

Cet exemple définit la stratégie de participation de la session de jeu actuelle de manière à ce que tous les joueurs soient acceptés.

```
err := server.UpdatePlayerSessionCreationPolicy(model.AcceptAll)
```

## GetGameSessionId()
<a name="integration-server-sdk-go-getgamesessionid"></a>

Récupère l'identifiant de la session de jeu hébergée par le processus serveur actif.

### Syntaxe
<a name="integration-server-sdk-go-getgamesessionid-syntax"></a>

```
func GetGameSessionID() (string, error)
```

### Parameters
<a name="integration-server-sdk-go-getgamesessionid-parameter"></a>

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-go-getgamesessionid-return"></a>

En cas de succès, renvoie l'ID de session de jeu et aucune erreur. Pour les processus inactifs qui ne sont pas encore activés lors d'une session de jeu, l'appel renvoie une chaîne vide et une `nil` erreur.

### Exemple
<a name="integration-server-sdk-go-getgamesessionid-example"></a>

```
gameSessionID, err := server.GetGameSessionID()
```

## GetTerminationTime()
<a name="integration-server-sdk-go-getterm"></a>

Renvoie l'heure à laquelle un processus serveur doit être arrêté si une heure de terminaison est disponible. Un processus serveur effectue cette action après avoir reçu un `onProcessTerminate()` rappel deAmazon GameLift Servers. Amazon GameLift Serversappelle `onProcessTerminate()` pour les raisons suivantes : 
+ Lorsque le processus du serveur a signalé un mauvais état de santé ou n'a pas réponduAmazon GameLift Servers.
+ Lors de la fermeture de l'instance lors d'un événement de réduction d'échelle.
+ Lorsqu'une instance est résiliée en raison d'une interruption d'[instance ponctuelle. ](spot-tasks.md)

### Syntaxe
<a name="integration-server-sdk-go-getterm-syntax"></a>

```
func GetTerminationTime() (int64, error)
```

### Valeur renvoyée
<a name="integration-server-sdk-go-getterm-return"></a>

En cas de succès, renvoie l'horodatage en secondes d'époque pendant lequel le processus serveur est censé s'arrêter et une `nil` erreur de terminaison. La valeur est le temps de fin, exprimé en ticks écoulés à partir de. `0001 00:00:00` Par exemple, la valeur de la date et de l'heure `2020-09-13 12:26:40 -000Z` est égale à `637355968000000000` des ticks. Si aucun délai de résiliation n'est disponible, renvoie un message d'erreur.

### Exemple
<a name="integration-server-sdk-go-getterm-example"></a>

```
terminationTime, err := server.GetTerminationTime()
```

## AcceptPlayerSession()
<a name="integration-server-sdk-go-acceptplayersession"></a>

Indique Amazon GameLift Servers qu'un joueur avec l'ID de session de joueur spécifié s'est connecté au processus serveur et doit être validé. Amazon GameLift Serversvérifie que l'identifiant de session du joueur est valide. Une fois la session du joueur validée, Amazon GameLift Servers change le statut de l'emplacement du joueur de `RESERVED` à`ACTIVE`. 

### Syntaxe
<a name="integration-server-sdk-go-acceptplayersession-syntax"></a>

```
func AcceptPlayerSession(playerSessionID string) error
```

### Parameters
<a name="integration-server-sdk-go-acceptplayersession-parameter"></a>

`playerSessionId`  
Identifiant unique émis Amazon GameLift Servers lors de la création d'une nouvelle session de joueur.

### Valeur renvoyée
<a name="integration-server-sdk-go-acceptplayersession-return"></a>

Renvoie un résultat générique composé d'un succès ou d'un échec avec un message d'erreur. 

### Exemple
<a name="integration-server-sdk-go-acceptplayersession-example"></a>

Cet exemple gère une demande de connexion qui inclut la validation et le rejet d'identifiants de session de joueur non valides. 

```
func ReceiveConnectingPlayerSessionID(conn Connection, playerSessionID string) {
    err := server.AcceptPlayerSession(playerSessionID)
    if err != nil {
        connection.Accept()
    } else {
        connection.Reject(err.Error())
    }
}
```

## RemovePlayerSession()
<a name="integration-server-sdk-go-removeplayersession"></a>

Amazon GameLift ServersIndique qu'un joueur s'est déconnecté du processus du serveur. En réponse, Amazon GameLift Servers change l'emplacement du joueur comme étant disponible. 

### Syntaxe
<a name="integration-server-sdk-go-removeplayersession-syntax"></a>

```
func RemovePlayerSession(playerSessionID string) error
```

### Parameters
<a name="integration-server-sdk-go-removeplayersession-parameter"></a>

**`playerSessionId`**  
Identifiant unique émis Amazon GameLift Servers lors de la création d'une nouvelle session de joueur.

### Valeur renvoyée
<a name="integration-server-sdk-go-removeplayersession-return"></a>

Renvoie un résultat générique composé d'un succès ou d'un échec avec un message d'erreur.

### Exemple
<a name="integration-server-sdk-go-removeplayersession-example"></a>

```
err := server.RemovePlayerSession(playerSessionID)
```

## DescribePlayerSessions()
<a name="integration-server-sdk-go-describeplayersessions"></a>

Récupère les données de session du joueur, notamment les paramètres, les métadonnées de session et les données du joueur. Utilisez cette méthode pour obtenir des informations sur les points suivants :
+ Une session solo
+ Toutes les sessions de joueurs au cours d'une session de jeu
+ Toutes les sessions de joueur associées à un identifiant de joueur unique

### Syntaxe
<a name="integration-server-sdk-go-describeplayersessions-syntax"></a>

```
func DescribePlayerSessions(req request.DescribePlayerSessionsRequest) (result.DescribePlayerSessionsResult, error) {
	return srv.describePlayerSessions(&req)
}
```

### Parameters
<a name="integration-server-sdk-go-describeplayersessions-parameter"></a>

**[DescribePlayerSessionsRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-playersessions)**  
Un `DescribePlayerSessionsRequest` objet décrit les sessions de joueur à récupérer.

### Valeur renvoyée
<a name="integration-server-sdk-go-describeplayersessions-return"></a>

En cas de succès, renvoie un `DescribePlayerSessionsResult` objet contenant un ensemble d'objets de session de joueur correspondant aux paramètres de la demande.

### Exemple
<a name="integration-server-sdk-go-describeplayersessions-example"></a>

Cet exemple demande toutes les sessions de joueurs activement connectées à une session de jeu spécifiée. En omettant * NextToken * et en réglant la * valeur * Limite sur 10, Amazon GameLift Servers renvoie les 10 premiers enregistrements de session de joueur correspondant à la demande.

```
// create request
describePlayerSessionsRequest := request.NewDescribePlayerSessions() 
describePlayerSessionsRequest.GameSessionID, _ = server.GetGameSessionID() // get ID for the current game session
describePlayerSessionsRequest.Limit = 10                                 // return the first 10 player sessions
describePlayerSessionsRequest.PlayerSessionStatusFilter = "ACTIVE"         // Get all player sessions actively connected to the game session

describePlayerSessionsResult, err := server.DescribePlayerSessions(describePlayerSessionsRequest)
```

## StartMatchBackfill()
<a name="integration-server-sdk-go-startmatchbackfill"></a>

Envoie une demande de recherche de nouveaux joueurs pour des emplacements ouverts dans une session de jeu créée avec FlexMatch. Pour plus d'informations, consultez la section Fonction [ de ](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html) FlexMatch remblayage.

Cette action est asynchrone. Si de nouveaux joueurs sont mis en correspondance, Amazon GameLift Servers fournit des données de matchmaking mises à jour à l'aide de la fonction de rappel. `OnUpdateGameSession()`

Un processus de serveur ne peut comporter qu'une seule requête de renvoi de correspondance à la fois. Pour envoyer une nouvelle requête, appelez d'abord [StopMatchBackfill()](#integration-server-sdk-go-stopmatchbackfill) pour annuler la requête d'origine.

### Syntaxe
<a name="integration-server-sdk-go-startmatchbackfill-syntax"></a>

```
func StartMatchBackfill(req request.StartMatchBackfillRequest) (result.StartMatchBackfillResult, error)
```

### Parameters
<a name="integration-server-sdk-go-startmatchbackfill-parameter"></a>

**[StartMatchBackfillRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-startmatchbackfillrequest)**  
Un StartMatchBackfillRequest objet communique les informations suivantes :  
+ ID de ticket à attribuer à la requête de renvoi. Ces informations sont facultatives ; si aucun identifiant n'est fourni, il en Amazon GameLift Servers génère un.
+ Matchmaker auquel envoyer la requête. L'ARN de configuration complet est obligatoire. Cette valeur se trouve dans les données de matchmaking de la session de jeu.
+ L'ID de la session de jeu à remplir.
+ Les données de matchmaking disponibles pour les joueurs actuels de la session de jeu.

### Valeur renvoyée
<a name="integration-server-sdk-go-startmatchbackfill-return"></a>

Renvoie un `StartMatchBackfillResult` objet avec l'ID du ticket de remplissage correspondant, ou échoue avec un message d'erreur. 

### Exemple
<a name="integration-server-sdk-go-startmatchbackfill-example"></a>

```
// form the request
startBackfillRequest := request.NewStartMatchBackfill()
startBackfillRequest.RequestID = "1111aaaa-22bb-33cc-44dd-5555eeee66ff"          // optional
startBackfillRequest.MatchmakingConfigurationArn = "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig"
var matchMaker model.MatchmakerData
if err := matchMaker.UnmarshalJSON([]byte(gameSession.MatchmakerData)); err != nil {    
    return
}
startBackfillRequest.Players = matchMaker.Players
res, err := server.StartMatchBackfill(startBackfillRequest)

// Implement callback function for backfill
func OnUpdateGameSession(myGameSession model.GameSession) {
    // game-specific tasks to prepare for the newly matched players and update matchmaker data as needed
}
```

## StopMatchBackfill()
<a name="integration-server-sdk-go-stopmatchbackfill"></a>

Annule une demande de remplacement de correspondance active. Pour plus d'informations, consultez la section Fonction [ de ](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html) FlexMatch remblayage.

### Syntaxe
<a name="integration-server-sdk-go-stopmatchbackfill-syntax"></a>

```
func StopMatchBackfill(req request.StopMatchBackfillRequest) error
```

### Parameters
<a name="integration-server-sdk-go-stopmatchbackfill-parameter"></a>

**[StopMatchBackfillRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-stopmatchbackfillrequest)**  
Un StopMatchBackfillRequest objet qui identifie le ticket de matchmaking à annuler :   
+ L'ID de ticket attribué à la demande de remplissage.
+ L'entremetteur auquel la demande de remplacement a été envoyée.
+ La session de jeu associée à la demande de remplacement.

### Valeur renvoyée
<a name="integration-server-sdk-go-stopmatchbackfill-return"></a>

Renvoie un résultat générique composé d'un succès ou d'un échec avec un message d'erreur.

### Exemple
<a name="integration-server-sdk-go-stopmatchbackfill-example"></a>

```
stopBackfillRequest := request.NewStopMatchBackfill()  // Use this function to create request
stopBackfillRequest.TicketID = "1111aaaa-22bb-33cc-44dd-5555eeee66ff"
stopBackfillRequest.MatchmakingConfigurationArn = "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig"
                
//error
err := server.StopMatchBackfill(stopBackfillRequest)
```

## GetComputeCertificate()
<a name="integration-server-sdk-go-getcomputecertificate"></a>

Récupère le chemin d'accès au certificat TLS utilisé pour chiffrer la connexion réseau entre le serveur de jeu et votre client de jeu. Vous pouvez utiliser le chemin du certificat lorsque vous enregistrez votre appareil informatique dans une flotte Amazon GameLift Servers Anywhere. Pour de plus amples informations, veuillez consulter [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html).

### Syntaxe
<a name="integration-server-sdk-go-getcomputecertificate-syntax"></a>

```
func GetComputeCertificate() (result.GetComputeCertificateResult, error)
```

### Valeur renvoyée
<a name="integration-server-sdk-go-getcomputecertificate-return"></a>

Renvoie un `GetComputeCertificateResult` objet contenant les éléments suivants : 
+  CertificatePath: chemin d'accès au certificat TLS sur votre ressource de calcul. Lorsque vous utilisez une flotte Amazon GameLift Servers gérée, ce chemin contient : 
  + `certificate.pem`: le certificat d'utilisateur final. La chaîne de certificats complète est la combinaison des `certificateChain.pem` éléments ajoutés à ce certificat.
  + `certificateChain.pem`: chaîne de certificats qui contient le certificat racine et les certificats intermédiaires.
  + `rootCertificate.pem`: le certificat racine.
  + `privateKey.pem`: clé privée du certificat d'utilisateur final.
+ ComputeName: nom de votre ressource de calcul.

### Exemple
<a name="integration-server-sdk-go-getcomputecertificate-example"></a>

```
tlsCertificate, err := server.GetFleetRoleCredentials(getFleetRoleCredentialsRequest)
```

## GetFleetRoleCredentials()
<a name="integration-server-sdk-go-getfleetrolecredentials"></a>

Récupère les informations d'identification du rôle de service que vous créez pour étendre les autorisations à votre autre Services AWS utilisateur. Amazon GameLift Servers Ces informations d'identification permettent à votre serveur de jeu d'utiliser vos AWS ressources. Pour de plus amples informations, veuillez consulter [Configurer un rôle de service IAM pour Amazon GameLift Servers](setting-up-role.md).

### Syntaxe
<a name="integration-server-sdk-go-getfleetrolecredentials-syntax"></a>

```
func GetFleetRoleCredentials(
  req request.GetFleetRoleCredentialsRequest,
) (result.GetFleetRoleCredentialsResult, error) {
  return srv.getFleetRoleCredentials(&req)
}
```

### Parameters
<a name="integration-server-sdk-go-getfleetrolecredentials-parameters"></a>

[GetFleetRoleCredentialsRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-getfleetrolecredentialsrequest)  
Identifiants de rôle qui étendent l'accès limité à vos AWS ressources au serveur de jeu.

### Valeur renvoyée
<a name="integration-server-sdk-go-getfleetrolecredentials-return"></a>

Renvoie un `GetFleetRoleCredentialsResult` objet contenant les éléments suivants : 
+ AssumedRoleUserArn - Le nom de ressource Amazon (ARN) de l'utilisateur auquel appartient le rôle de service. 
+ AssumedRoleId - L'ID de l'utilisateur auquel appartient le rôle de service. 
+ AccessKeyId - L'identifiant de la clé d'accès pour authentifier et donner accès à vos AWS ressources. 
+ SecretAccessKey - L'identifiant de la clé d'accès secrète pour l'authentification. 
+ SessionToken - Un jeton pour identifier la session active en cours qui interagit avec vos AWS ressources. 
+ Expiration : délai écoulé avant l'expiration des informations d'identification de votre session.

### Exemple
<a name="integration-server-sdk-go-getfleetrolecredentials-example"></a>

```
// form the customer credentials request
getFleetRoleCredentialsRequest := request.NewGetFleetRoleCredentials()
getFleetRoleCredentialsRequest.RoleArn = "arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction"

credentials, err := server.GetFleetRoleCredentials(getFleetRoleCredentialsRequest)
```

## ListContainersNetworkInfo()
<a name="integration-server-sdk-go-listcontainersnetworkinfo"></a>

Récupère les informations réseau de tous les conteneurs exécutés sur la même instance, notamment le nom, l'ID, l'adresse IP locale et le type de groupe de conteneurs de chaque conteneur. Utilisez ces informations pour permettre aux processus du serveur de jeu de découvrir et de communiquer avec d'autres conteneurs qui s'exécutent sur la même instance.

Cette action n'est prise en charge que sur les flottes de conteneurs. Lorsqu'il est appelé depuis n'importe quel autre type de calcul, il renvoie une `UnsupportedComputeTypeException` erreur. Amazon GameLift Serversobtient les informations réseau à partir d'un serveur de découverte qui s'exécute localement sur l'instance.

### Syntaxe
<a name="integration-server-sdk-go-listcontainersnetworkinfo-syntax"></a>

```
func ListContainersNetworkInfo() (result.ListContainersNetworkInfoResult, error)
```

### Valeur renvoyée
<a name="integration-server-sdk-go-listcontainersnetworkinfo-return"></a>

En cas de succès, renvoie un `ListContainersNetworkInfoResult` objet contenant les éléments suivants :
+ `ContainersNetworkInfo`- Une liste d'`ContainerNetworkInfo`entrées, avec une entrée pour chaque conteneur exécuté sur l'instance. Chaque entrée contient les éléments suivants :
  + `ContainerName`- Le nom du contenant.
  + `ContainerID`- L'identifiant unique du conteneur.
  + `IPAddress`- L'adresse IP locale du conteneur sur l'instance.
  + `ContainerGroupType`- Type de groupe de conteneurs auquel appartient le conteneur. Les valeurs valides sont `GAME_SERVER` et `PER_INSTANCE`.

### Exemple
<a name="integration-server-sdk-go-listcontainersnetworkinfo-example"></a>

```
networkInfo, err := server.ListContainersNetworkInfo()
if err != nil {
  fmt.Println("ListContainersNetworkInfo() failed. Error: ", err)
  return
}

for _, container := range networkInfo.ContainersNetworkInfo {
  fmt.Printf("Container %s (%s) at %s, group type %s\n",
    container.ContainerName, container.ContainerID, container.IPAddress, container.ContainerGroupType)
}
```

## Détruire ()
<a name="integration-server-sdk-go-destroy"></a>

Libère le SDK du serveur de Amazon GameLift Servers jeu de la mémoire. Il est recommandé d'appeler cette méthode avant `ProcessEnding()` et après la fin du processus. Si vous utilisez une flotte Anywhere et que vous n'arrêtez pas les processus du serveur après chaque session de jeu, appelez `Destroy()` puis `InitSDK()` réinitialisez avant de signaler Amazon GameLift Servers que le processus est prêt à héberger une session de jeu avec. `ProcessReady()`

### Syntaxe
<a name="integration-server-sdk-go-destroy-syntax"></a>

```
func Destroy() error {
	return srv.destroy()
}
```

### Valeur renvoyée
<a name="integration-server-sdk-go-destroy-return"></a>

Renvoie une erreur avec un message d'erreur si la méthode échoue.

### Exemple
<a name="integration-server-sdk-go-destroy-example"></a>

```
// operations to end game sessions and the server process
defer func() {
  err := server.ProcessEnding()
  server.Destroy()
  if err != nil {
    fmt.Println("ProcessEnding() failed. Error: ", err)
    os.Exit(-1)
  } else {
    os.Exit(0)
  }
}
```