Passer de Gamelift
Supprimer le SDK AWS Gamelift
Unity (C#)
using UnityEngine;
using Aws.GameLift.Server;
using System.Collections.Generic;
public class GameLiftServerExampleBehavior : MonoBehaviour
{
//Ceci est un exemple d'intégration simple avec le SDK GameLift Server qui permettra aux processus du serveur de jeu de devenir actifs sur GameLift !
public void Start()
{
//Identifier le numéro de port (codé en dur ici pour simplifier) sur lequel le serveur de jeu écoute les connexions des joueurs
var listeningPort = 7777;
//InitSDK établira une connexion locale avec l'agent de GameLift pour permettre une communication ultérieure.
var initSDKOutcome = GameLiftServerAPI.InitSDK();
if (initSDKOutcome.Success)
{
ProcessParameters processParameters = new ProcessParameters(
(gameSession) => {
//Lorsqu'une session de jeu est créée, GameLift envoie une demande d'activation au serveur de jeu et transmet l'objet de session de jeu contenant les propriétés et autres paramètres du jeu.
//C'est ici qu'un serveur de jeu doit agir en fonction de l'objet session de jeu.
//Une fois que le serveur de jeu est prêt à recevoir des connexions de joueurs entrantes, il doit invoquer GameLiftServerAPI.ActivateGameSession()
GameLiftServerAPI.ActivateGameSession();
},
(updateGameSession) => {
//Lorsqu'une session de jeu est mise à jour (par ex. par un backfill FlexMatch), GameLift envoie une requête au serveur de jeu
//contenant l'objet session de jeu mis à jour. Le serveur de jeu peut alors examiner les
//matchmakerData fournis et gérer correctement les nouveaux joueurs entrants.
//updateReason est la raison pour laquelle cette mise à jour est fournie.
},
() => {
//Callback OnProcessTerminate. GameLift invoquera ce callback avant d'arrêter une instance hébergeant ce serveur de jeu.
//Il donne au serveur de jeu la possibilité de sauvegarder son état, communiquer avec des services, etc., avant d'être arrêté.
//Dans ce cas, nous indiquons simplement à GameLift que nous allons effectivement arrêter.
GameLiftServerAPI.ProcessEnding();
},
() => {
//Ceci est le callback HealthCheck.
//GameLift invoquera ce callback toutes les ~60 secondes.
//Ici, un serveur de jeu pourrait vérifier la santé des dépendances, etc.
//Retournez simplement true si c'est sain, false sinon.
//Le serveur de jeu a 60 secondes pour répondre avec son statut de santé. GameLift utilisera 'false' par défaut si le serveur de jeu ne répond pas à temps.
//Dans ce cas, nous sommes toujours en bonne santé !
return true;
},
listeningPort, //Ce serveur de jeu indique à GameLift qu'il écoutera sur le port 7777 les connexions des joueurs entrants.
new LogParameters(new List<string>()
{
//Ici, le serveur de jeu indique à GameLift quels fichiers télécharger lorsque la session de jeu se termine.
//GameLift téléchargera tout ce qui est spécifié ici pour que les développeurs puissent récupérer ensuite.
"/local/game/logs/myserver.log"
}));
//Appeler ProcessReady indique à GameLift que ce serveur de jeu est prêt à recevoir des sessions de jeu entrantes !
var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParameters);
if (processReadyOutcome.Success)
{
print("ProcessReady success.");
}
else
{
print("ProcessReady failure : " + processReadyOutcome.Error.ToString());
}
}
else
{
print("InitSDK failure : " + initSDKOutcome.Error.ToString());
}
}
void OnApplicationQuit()
{
//Assurez-vous d'appeler GameLiftServerAPI.Destroy() lorsque l'application se quitte. Cela réinitialise la connexion locale avec l'agent de GameLift.
GameLiftServerAPI.Destroy();
}
}Unreal Engine (C++)
Conteneurisez votre serveur de jeu
Poussez votre conteneur sur un dépôt
Créez une application sur Edgegap
Mis à jour
Ce contenu vous a-t-il été utile ?

