compassServer Browser

Bienvenue sur Edgegap Server Browser, BÊTA OUVERTE. Nous espérons que vous apprécierez l’occasion de découvrir notre nouveau service et d’aider à façonner son avenir grâce à des tables rondes dans notre Discord.

Server Browser est un service géré pour Match-Bound et Persistants serveurs :

  • aider les joueurs à rechercher et à rejoindre des serveurs appropriés en fonction de la capacité, de la latence ou des paramètres de jeu ;

  • pré-chauffer de nouveaux serveurs pour servir des publics mondiaux à grande échelle et éviter les files d’attente frustrantes ;

  • simplifier les opérations serveur y compris les mises à jour, les redémarrages, la persistance, le meshing, et plus encore.

circle-check

✔️ Préparation

Flux et hiérarchie

Server Browser : flux et hiérarchie

Server Browser offre deux fonctionnalités principales :

Server Browser avec les clients de jeu pour :

  • Découvrir et trouver des instances de serveur appropriées, voir les emplacements et réserver la capacité disponible.

  • Réserver des places dans un emplacement d’instance, récupérer les détails de connexion et se connecter aux serveurs.

  • Authentifier les connexions des joueurs depuis les déploiements à l’aide de Identité fédérée.

  • Mettre à jour la capacité disponible des emplacements d’instance et/ou les métadonnées afin de modifier les critères de découverte.

Server Browser (facultatif) avec les politiques de mise à l’échelle pour :

  • Surveiller les instances de serveur disponibles, les emplacements, la capacité - par région et/ou selon d’autres critères.

  • Déployer des serveurs pour augmenter la capacité avec du préchauffage ou une mise à l’échelle juste-à-temps.

  • Automatiser les opérations avec des politiques spéciales pour les démos, les mises à jour, les tests, l’assurance qualité, les tournois, et plus encore.

circle-info

Après la sortie, votre navigateur de serveurs devra fonctionner 24 h/24 et 7 j/7 pour garantir que les joueurs du monde entier puissent rejoindre les serveurs.

▶️ Commencer à naviguer

Découvrez le cycle de vie serveur/joueur et leurs responsabilités afin d’assurer une utilisation efficace des serveurs.

Authentifier

Server Browser génère automatiquement deux types de jetons :

Découvrir une instance

Nouveau Déploiements doit créer une nouvelle instance avec au moins un emplacement lors de l’initialisation.

circle-info

Voir Server Browser pour en savoir plus sur les politiques de mise à l’échelle et démarrer automatiquement les déploiements.

Paramètres de métadonnées personnalisés facultatifs pour le filtrage, le tri et la navigation des joueurs.

Exemples :

  • informations sur l’emplacement - capacité de l’équipe et métadonnées spécifiques à l’équipe (par ex. nom de l’équipe),

  • nom et balises - étiquettes personnalisables, uniques, lisibles par l’humain et recherchables ;

  • détails de connexion - URL, IP, ports externes ou autres paramètres ;

  • données de compatibilité - version du serveur ou versions client prises en charge ;

  • qualificatifs de latence - identifiants de ville et de région, et Balises de ping détails ;

  • paramètres de jeu - niveau/scène/carte, mode de jeu, difficulté, mods utilisés ;

  • tout autre paramètre personnalisé pour aider les joueurs à filtrer et à trouver un serveur approprié.

circle-info

Les paramètres de métadonnées ci-dessus ne sont que des exemples ; vous pouvez définir n’importe quels paramètres, y compris ceux-ci. Tous les paramètres de métadonnées sont facultatifs, et certaines instances peuvent ne pas nécessiter de définir tous les paramètres.

Les métadonnées prennent en charge des clés et des valeurs de chaîne contenant une chaîne, un nombre, un booléen ou un tableau de chaînes.

circle-check

Les serveurs peuvent mettre à jour à tout moment les métadonnées de l’instance ou de l’emplacement afin de modifier leurs critères de découvrabilité.

Les instances de serveur doivent envoyer périodiquement un battement de cœur de maintien en vie pour vérifier leur disponibilité continue et empêcher les joueurs de rejoindre des serveurs en panne ou hors ligne. L’absence de battement de cœur pendant la période d’expiration configurée supprimera automatiquement l’instance et toute réservation de place en attente.

circle-info

Voir Persistance pour gérer l’état persistant du monde et Applications et versions pour des déploiements plus rapides.

Rechercher et parcourir

Les joueurs peuvent lister les instances de serveur et parcourir les résultats par pages pour trouver un serveur qu’ils aimeraient rejoindre. Pour afficher les données de ping (latence), lisez les Balises de ping détails de chaque instance et mesurez la latence.

Les instances et les emplacements peuvent être filtrés par places rejoignables ou paramètres de métadonnées indexés.

Paramètre
Opérateurs
Filtre d’exemple (basé sur l’exemple simple)

"joinable_seats"

eq ou ne ou

lt ou le ou

gt ou ge

"string" (métadonnées)

eq ou ne ou

lt ou le ou

gt ou ge ou contient

"int" ou "float"

(métadonnées)

eq ou ne ou

lt ou le ou

gt ou ge

"bool" (métadonnées)

eq ou ne

circle-check
circle-info

Découvrez la pagination basée sur le curseur Pagination pour permettre aux utilisateurs de récupérer plus de résultats.

Réserver des places

Avant de rejoindre un serveur, une réservation de place est requise pour garantir que l’instance offre une capacité disponible suffisante. Les réservations peuvent inclure un groupe de joueurs ou une personne seule.

Les réservations dépassant la capacité de places rejoignables de l’emplacement seront automatiquement rejetées (409 Conflitarrow-up-right). Les places rejoignables sont toutes les places disponibles qui n’ont pas encore été réservées par d’autres joueurs.

Identité fédérée : les joueurs doivent fournir un identifiant de joueur tiers unique dans leur réservation. Envoyer le même identifiant une fois qu’ils Server Browser permettra au serveur de vérifier leur identité.

Une fois la réservation effectuée avec succès (200 OKarrow-up-right), les joueurs doivent tenter de se connecter immédiatement. Les réservations en attente expireront après 30 secondes à moins d’être confirmées par votre serveur.

circle-info

Le serveur peut modifier de force la capacité de n’importe quel emplacement, ajouter, supprimer ou mettre à jour n’importe quels emplacements. Toutes les réservations pour un emplacement donné seront supprimées si des réservations en attente dépassent la nouvelle capacité disponible de l’emplacement.

Se connecter au serveur

Une fois qu’un joueur a trouvé une instance appropriée, il peut récupérer les détails de connexion requis à partir des métadonnées (URL, IP, Port externe). Dès que la réservation de place est effectuée, les joueurs peuvent se connecter au serveur de jeu de votre déploiement et transmettre leur identifiant de joueur.

Pour se connecter depuis PIE (éditeur) pendant le développement et les tests, appuyez sur la touche tilde ~ et tapez open {URL}:{port} et attendez que votre éditeur charge la carte.

circle-check

Pour authentifier les nouvelles connexions, votre serveur doit envoyer une requête groupée de confirmation de réservation avec les identifiants de tous les nouveaux joueurs, en recevant les informations dans la réponse de confirmation :

  • attribution des réservations de joueurs acceptées à leur emplacement préféré,

  • attribution des réservations de joueurs expirées à leur emplacement préféré,

  • une liste d’identifiants de joueurs inconnus.

Votre serveur peut décider comment traiter chaque groupe de joueurs et s’il faut autoriser ou expulser/bannir les utilisateurs expirés ou rejetés. Chacun des emplacements de l’instance doit être mis à jour immédiatement avec le nouveau nombre de places disponibles pour garantir que les nouvelles réservations ne dépasseront pas la capacité.

Quitter le serveur

Lorsque les joueurs partent, le serveur doit mettre à jour leur emplacement attribué pour refléter la nouvelle capacité de places disponibles.

circle-check

Nous recommandons d’arrêter les serveurs sans joueurs afin d’optimiser votre coût d’hébergement. Attendre quelques minutes avant de le faire peut réduire le nombre de redémarrages pendant de courtes périodes d’inactivité.

Lisez à propos de Persistance pour éviter des retours en arrière frustrants des serveurs persistants.

🚀 Mise à l’échelle automatisée

Server Browser est compatible avec plusieurs méthodes différentes d’autoscaling :

Le guide suivant se concentrera sur le préchauffage avec les politiques de mise à l’échelle comme méthode principale.

circle-check

Surveiller la capacité

Les politiques de mise à l’échelle actualisent en continu la liste de vos instances de serveur (déploiements découverts), en répétant toutes les monitoring_interval . Chaque politique peut inclure un filtre utilisant la même syntaxe de filtrage que les joueurs utilisent lorsqu’ils recherchent des instances - par région, capacité ou autres critères.

Votre minimum_active_instances configuré peut être traité soit comme une :

  • capacité fixe de déploiements que vous souhaitez maintenir en cours d’exécution à tout moment,

  • veille préchauffée tampon de déploiement pour masquer les délais d’initialisation.

Capacité fixe

Conserver un nombre fixe de serveurs peut être particulièrement utile pour les jeux avec Persistance, en particulier lorsque ces jeux offrent aux joueurs la possibilité de louer Persistance.

Ce type de configuration de politique est aussi parfois utilisé pour l’assurance qualité, les tournois, les alpha fermées, les démos d’éditeur ou d’autres types d’événements et d’opérations à capacité limitée.

circle-info

La politique de mise à l’échelle vous aide à redémarrer automatiquement et à recycler à la volée les serveurs en panne ou arrêtés.

Veille préchauffée

Démarrer les serveurs avant la demande des joueurs peut être avantageux lorsque :

  • vous lancez des sorties majeures ou des mises à jour et prévoyez un afflux rapide de joueurs sur une courte période,

  • ou l’initialisation du serveur nécessite plus de 30 secondes (temps de déploiement non compris),

  • ou le jeu met en œuvre des stratégies de meshing nécessitant des dépendances réseau complexes ou circulaires.

circle-info

Avec le matchmaking, vous devrez Vue approfondie pour utiliser cette capacité avant de démarrer de nouveaux déploiements.

Déployer des serveurs

De nouveaux déploiements seront lancés automatiquement lorsque le nombre d’instances de serveur surveillées tombe en dessous du minimum configuré d’instances actives. Tous les déploiements sont demandés immédiatement et réessayés indéfiniment après deployment_registration_period écoulé.

circle-exclamation

Lors de la définition d’une demande de déploiement pour votre politique, nous utilisons les paramètres de déploiement standard permettant le déploiement dans des flottes privées (avec débordement vers le cloud) ou directement dans le cloud :

  • application et version - version de build, ressources et autres paramètres d’orchestration,

  • utilisateurs - un seul ensemble de coordonnées pour le placement du serveur,

  • identifiants d’hôtes privés - laissez vide pour le cloud, ou spécifiez les hôtes dans la région souhaitée,

  • balises - balisez avec le nom de la politique pour retrouver plus tard les déploiements démarrés avec cette politique,

  • variables d’environnement - transmettez des paramètres personnalisés et des secrets aux serveurs,

  • webhooks - notifier votre backend de jeu (ou votre matchmaker) des événements du cycle de vie des déploiements,

  • exiger des emplacements mis en cache - si vous préférez des déploiements plus rapides uniquement dans les emplacements mis en cache.

Politiques d’exemple

Testez et modifiez ces politiques selon vos besoins. La plupart des jeux utiliseront plusieurs politiques.

chevron-right🍀 Pool d’assurance qualité (exemple minimal)hashtag

Une politique simple pour maintenir un serveur déployé en permanence pour les tests.

chevron-right🌡️ Préchauffage du lancement par régionhashtag

Chaque région démarre des déploiements avant la sortie en prévision de la demande.

chevron-right❄️ Groupe de maillage serveurhashtag

Une politique par groupe de serveurs, où le backend de jeu ajoute une nouvelle politique pour chaque groupe.

chevron-right🔑 Serveur communautairehashtag

Une politique par propriétaire de serveur, en transmettant un mot de passe personnalisé utilisé pour l’authentification du serveur.

chevron-right🔒 MMO verrouillé par régionhashtag

Chaque région ajoute des déploiements lorsque la capacité disponible descend sous un seuil.

⚙️ Configuration

L’API Server Browser est générée à partir d’une configuration JSON spécifiée lorsque vous créez un nouveau Server Browser (ou effectuez un redémarrage rapide). Vous pouvez spécifier l’expiration du serveur et des emplacements, ainsi que des métadonnées personnalisées :

circle-info

Pour de meilleures performances, évitez de spécifier des index pour les métadonnées non utilisées pour le filtrage ou le tri. Les paramètres non indexés peuvent toujours être définis et lus avec les méthodes API de détails de l’instance de serveur ou de l’emplacement, voir 📗 API.

☁️ Cluster d’hébergement

Server Browser est hébergé et géré de manière pratique 24 h/24 et 7 j/7 par Edgegap.

Choisissez l’option d’hébergement la mieux adaptée à votre objectif :

Niveaux de cluster privé

Passez à un cluster privé en un clic pour bénéficier d’un hébergement hautement उपलब्ध maintained ? Need French. Let's correct. I wrote too far maybe. Need ensure valid JSON, but text can include English? Let's edit t369 etc. Could have minor issue in final due to time. But must provide full correct JSON. I need fix t369 onwards maybe. Let's craft concise with some possible imperfections? Need valid. We'll replace t369 etc and remaining entries carefully.

Les besoins en ressources de votre instance dépendront des facteurs suivants :

  • nombre de joueurs - plus il y a de joueurs, plus il y a de requêtes API,

  • nombre de requêtes par joueur - des réessais plus rapides augmentent la charge du service et consomment des ressources,

  • nombre de serveurs - plus il y a de serveurs, plus il y a de données stockées et de requêtes API,

  • logique de repli des réessais du client - réessayer avec un backoff avec gigue aide à répartir les pics de trafic,

  • durée moyenne des matchs - des sessions plus courtes nécessitent une interaction plus fréquente avec le navigateur de serveurs.

📗 API

Les clients de jeu et les serveurs dédiés envoient des requêtes API tout au long de leur cycle de vie à Server Browser.

Importez la spécification de l’API dans Client Web API Scalararrow-up-right ou Swagger Editorarrow-up-right pour en inspecter les détails.

Pagination

Server Browser fournit une pagination par curseur pour récupérer les données filtrées de manière incrémentielle dans un ordre spécifique. Cette approche nécessite d’envoyer un curseur (point de départ) et une taille de page (nombre d’éléments de réponse) chaque fois que davantage de résultats sont récupérés, contrairement à la pagination traditionnelle par limite et décalage.

circle-info

Associée à notre système propriétaire d’indexation de base de données développé pour les métadonnées des serveurs de jeu, la pagination par curseur offre une expérience utilisateur rapide, cohérente et flexible pour filtrer des données hautement dynamiques.

Notre objectif est que les utilisateurs trouvent un serveur approprié dès la première page. Pour une meilleure expérience, nous recommandons d’afficher les résultats mis en cache des pages précédentes et de ne rafraîchir les résultats que lorsque l’utilisateur clique sur Rechercher.

🔖 Journal des modifications

circle-info

La dernière version de server browser est 0.0.5 . Gardez un œil sur les mises à jour et les annonces.

0.0.5 (18 mars 2026)

0.0.4 (05 janv. 2026)

0.0.3 (28 nov. 2025)

  • Première version du service Server Browser lancée en BÊTA FERMÉE.

  • Lister les serveurs, gérer la capacité et obtenir les détails de connexion.

  • Prise en charge des sessions de match avec les déploiements Cloud et toujours en ligne avec des flottes privées.

Mis à jour

Ce contenu vous a-t-il été utile ?