Déployer depuis UGS
Suivez ce guide si vous préférez conserver votre Unity Matchmaker et déployer les serveurs sur Edgegap.
Vous cherchez des alternatives ? Découvrez notre solution gérée Appariement avec intégration SDK et exemples.
Premiers pas
Ce guide se concentre sur l'ajout de l'hébergement de serveurs Edgegap en tant que fournisseur d'hébergement, en supposant :
vous disposez d'une configuration Unity Matchmaking fonctionnelle,
vous êtes inscrit sur Edgegap et téléchargé votre build de serveur Unity.
Veuillez vous référer à la documentation de Unity Matchmaking pour les sujets liés au matchmaking.
Voir Passer depuis Multiplay pour comparer et faire correspondre les concepts Multiplay à l'hébergement Edgegap.
Choisir le bon emplacement pour votre serveur peut réduire la latence jusqu'à 58 % en moyenne !
Dans ce guide, nous aborderons :
la compilation et le déploiement de
EdgegapAllocatormodule de cloud script pour votre Matchmaker,la récupération des adresses IP publiques des joueurs utilisées pour un placement optimal du serveur,
la mise en place d'un écouteur de webhook dans le cloud script UGS et la récupération de l'attribution du serveur.
Allocateur Edgegap
Commencez par télécharger le dépôt des fournisseurs d'hébergement avec EdgegapAllocator code source.
Il s'agit de notre cloud script utilisé pour démarrer de nouveaux serveurs, lancé par Unity matchmaker une fois la partie constituée. Il s'agit d'une intégration officielle approuvée par Unity.
Secrets requis
Tout d'abord, ajoutez ces secrets dans le tableau de bord Unity sous Administration > Secrets:
EDGEGAP_API_TOKEN- Votre jeton API Edgegap.
Trouvez votre jeton dans le tableau de bord Edgegap.
Modifications de code requises
Modifiez Project/EdgegapAllocator.cs et mettez à jour ces constantes :
Remplacez par le nom de votre application Edgegap depuis la liste des applications.
Remplacez par le nom de version de votre application Edgegap que vous souhaitez utiliser.
Remplacez par le nom du port de la version de votre application Edgegap qui sera utilisé pour la connexion des joueurs.
Déployez le module
Récupérer l'IP du joueur
Si aucune adresse IP de joueur n'est fournie, vos déploiements reviendront à l'emplacement de Los Alamos.
Afin de fournir à la demande l'emplacement de serveur optimal pour chaque partie, Edgegap exige que vous fournissiez les adresses IP des joueurs lors de la création d'un déploiement. Bien que Unity ne propose pas cette fonctionnalité, vous pouvez utiliser notre extrait C# pour l'implémenter dans vos clients de jeu à l'aide du service gratuit ipify:
Chaque joueur est censé fournir son adresse IP publique à l'aide de données personnalisées dans ses tickets :
Réception de l'attribution
L'attribution peut être récupérée à l'aide des méthodes standard de Unity Matchmaking.
Notre exemple gérera les attributions pour vous à l'aide de API de statut, limitée à 20 requêtes/s.
Cela suffit pour la plupart des jeux. Si vous prévoyez plus de 50 000 CCU, envisagez d'autres méthodes.
Attribution alternative
Pour les lancements mondiaux à grande échelle, une alternative plus évolutive utilisant Webhooks est disponible.
Une fois la partie créée et votre cloud script ayant demandé un nouveau déploiement, votre réponse n'inclura pas encore les détails de connexion. À la place, vous recevrez une sorte de reçu - un ID de déploiement.
Votre fonction allocatrice doit stocker cet ID de déploiement dans vos données de jeu UGS, en même temps que les ID des joueurs appariés, afin de pouvoir retrouver les joueurs et fournir ultérieurement les détails de connexion.
À présent, vous devrez créer une autre fonction de cloud script AssignmentProcessor avec une URL publique. Cette URL doit être incluse dans la requête de déploiement de votre Allocator en tant que webhook_on_ready .
Une fois qu'Edgegap déploie votre serveur de jeu, il enverra à votre nouveau cloud script un événement HTTP webhook incluant tous les détails de connexion tels que le FQDN (URL) et le port externe pour les connexions des clients. Votre AssignmentProcessor devra retrouver l'ID de déploiement et stocker les détails de connexion avec celui-ci.
Vos clients de jeu doivent interroger ces données de jeu et tenter de se connecter dès que le FQDN et le port externe sont récupérés.

Mis à jour
Ce contenu vous a-t-il été utile ?

