Passer de GameLift
Si vous cherchez à passer d'AWS Gamelift à Edgegap, les étapes simples suivantes vous permettront de démarrer en un rien de temps. Avant de commencer, nous supposons que :
Vous utilisez actuellement AWS Gamelift
Vous avez actuellement une version fonctionnelle du serveur de jeu sur Gamelift
Supprimer le SDK AWS Gamelift
La premiÚre étape pour passer à Edgegap est de supprimer le code qui initialise AWS Gamelift dans votre serveur de jeu. Ceci permet de réduire la charge et d'éviter des erreurs. Le code que vous devez supprimer ressemble probablement à ce qui suit :
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
La deuxiÚme étape pour passer à Edgegap est de conteneuriser votre serveur de jeu. Vous pouvez suivre les guides suivants :
Unity
Unreal
Poussez votre conteneur sur un dépÎt
Vous devrez pousser votre conteneur sur un dépÎt. Vous pouvez utiliser le dépÎt privé ou toute autre option.
Créez une application sur Edgegap
Maintenant que votre conteneur est sur un dépÎt, vous devrez créer une application sur Edgegap. Cette application représentera votre serveur de jeu. Avec cette application, vous pourrez déployer votre serveur.
Vous pouvez maintenant déployer votre serveur à la demande pour vos joueurs !
Mis Ă jour
Ce contenu vous a-t-il été utile�

