Passer au contenu principal
Services Web et Mes Serveurs

Configuration des serveurs et services externes (y compris l'hébergement)

Paul Winterhalder avatar
Écrit par Paul Winterhalder
Mis à jour il y a plus de 2 semaines

brainCloud est très riche en fonctionnalités, mais il est impossible pour un backend de fournir toutes les fonctionnalités possibles.

Heureusement, brainCloud facilite l'intégration de votre application avec des services personnalisés et tiers. (Et cela en plus des intégrations intégrées à brainCloud!)

L'intégration avec des serveurs/services personnalisés est contrôlée par deux écrans dans la section Cloud Code du portail:

  • Services Web: vous définissez ici les services externes avec lesquels vos scripts Cloud Code peuvent communiquer. Il vous suffit de déclarer l'adresse http du service externe, de lui attribuer un code (nom), puis de l'appeler via l' API HttpClient .

  • Mes Serveurs: c'est ici que vous déclarez les serveurs qui doivent avoir un accès privilégié à votre application (via l'API S2S). Il peut s'agir d'outils et services personnalisés que vous avez développés, ou de serveurs de salle et de relais spéciaux que brainCloud peut héberger (et lancer) pour votre application.

Les types de serveurs suivants peuvent être configurés via la page Mes Serveurs:

  • Serveur personnalisé: il s'agit simplement de serveurs externes auxquels vous souhaitez permettre l'accès à votre application via l'API S2S. Pour plus de sécurité, il est recommandé de déclarer les plages d'adresses IP de ces serveurs afin que brainCloud puisse bloquer automatiquement les requêtes indésirables.

  • Serveur relais: les serveurs relais sont une forme simple de serveur multijoueur, sans logique métier ni logique de jeu. Lorsqu'un utilisateur envoie un message à un serveur relais, celui-ci le transmet à tous les autres utilisateurs de la session. Les serveurs relais sont très utiles pour les jeux multijoueurs occasionnels en temps réel. brainCloud V4 a introduit les serveurs relais et notre protocole de communication. La configuration d'un serveur relais pour votre application permet à brainCloud de lancer automatiquement les serveurs relais depuis les lobbies.

  • Serveur de salle: contrairement aux serveurs relais, les serveurs de salle intègrent une logique de jeu ou métier personnalisée pour votre expérience multijoueur. Pour configurer un serveur de salle, vous devez configurer brainCloud avec les détails d'une image Docker à charger lors du démarrage des serveurs. Les serveurs de salle, comme les serveurs relais, peuvent être lancés automatiquement depuis les lobbies.

  • Gestionnaire de serveurs de salles: cette option vous permet de spécifier l'URL d'un service qui agira comme gestionnaire de serveurs de salles pour les lobbies brainCloud. Cela vous permet de gérer l'hébergement et l'allocation de vos propres serveurs de salles indépendamment de brainCloud.

Lors de la configuration des serveurs relais et des serveurs de salle, certains paramètres spéciaux doivent être pris en compte:

  • Taille du serveur: taille du serveur à allouer au fournisseur de cloud. Les spécifications des tailles disponibles sont disponibles ici .

  • Conteneurs par serveur: indique le nombre d'instances Docker à lancer sur le serveur. Le nombre à configurer dépend de la taille du serveur choisi, du nombre d'utilisateurs pris en charge et de la complexité de l'expérience serveur. Plus ce nombre est élevé, moins le nombre de serveurs physiques nécessaires à la maintenance de votre application est élevé (et donc vos coûts).

  • Conteneurs prêts minimum: indique le nombre d'emplacements de conteneurs disponibles à tout moment. Par exemple, si vous avez configuré vos serveurs pour prendre en charge trois emplacements de conteneurs, avec minReady=1, et que tous les trois sont actuellement utilisés, brainCloud lancera automatiquement un serveur supplémentaire afin que votre minReady soit au moins supérieur à 1. Si minReady était défini sur 0, brainCloud ne lancerait pas proactivement le serveur supplémentaire. Cela accélérera le démarrage des sessions de serveur Relais/Salle, mais entraînera également des coûts plus élevés pour votre application.

  • Nombre maximal de serveurs: définit le nombre maximal de serveurs pouvant être lancés (par région). Ceci permet de maîtriser les coûts d'hébergement.

  • Maintenir les serveurs inactifs au chaud: ce paramètre spécifie un nombre de minutes pendant lequel les serveurs inutilisés doivent être maintenus en service avant leur arrêt. Des valeurs plus élevées accélèrent le démarrage des sessions de serveur relais/salle, mais entraînent également des coûts plus élevés pour votre application.

  • Durée maximale de session: il s'agit d'un délai de surveillance utilisé pour garantir que votre expérience ne soit pas bloquée, ce qui entraînerait une perte de disponibilité du serveur (et augmenterait vos coûts). Si la durée maximale de session est atteinte, brainCloud arrêtera le service de conteneur.

  • Environnement personnalisé: utilisez cette section JSON pour spécifier les variables d'environnement à configurer pour votre service.

Les serveurs de salle incluent ces paramètres supplémentaires:

  • Registre Docker: le registre permettant de récupérer votre image Docker. Actuellement, seul DockerHub est pris en charge.

  • Dépôt Docker: l'adresse de votre image Docker. Important: si votre image n'est pas accessible au public, vous devez accorder à l'utilisateur dockerhub braincloudhost un accès en lecture seule au dépôt.

  • Ports exposés - les ports que votre image doit exposer, au format : "80/tcp,888/udp"

Et enfin, tous les types de serveurs prennent en charge:

  • Secret: le secret est utilisé lorsque le serveur communique avec brainCloud. Chaque type de serveur possède son propre secret.

Avez-vous trouvé la réponse à votre question ?