compassNavigateur de serveurs

Bienvenue sur Edgegap Server Browser OPEN BETA. Nous espérons que vous apprécierez l'occasion de prévisualiser notre nouveau service et d'aider à façonner son avenir via des tables rondes sur notre Discord.

Server Browser est un service géré pour Déploiements et persistants serveurs :

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

  • 📢 préchauffer de nouveaux serveurs pour répondre à la demande mondiale à grande échelle et éviter des files d'attente frustrantes ;

  • 📢 rationaliser les opérations des serveurs y compris les mises à jour, redémarrages, persistance, maillage, et plus encore.

circle-info

Les éléments marqués de l'icône 📢 sont des fonctionnalités prévues pour le lancement initial et au-delà (pas encore disponibles).

circle-check

✔️ Préparation

Networking Flows

Architecture de Server Browser

Il y a quatre (4) flux de données importants lors de l'utilisation de Server Browser :

  1. l'API Deployments est utilisé pour déployer, mettre à l'échelle et gérer vos serveurs dédiés.

    1. Utilisez API v2/deploy pour sessions liées au match durant moins de 24 heures.

    2. 📢 Utilisez Hot Standby pour la mise à l'échelle automatique basée sur des règles et le support du maillage.

  2. API Serveur utilisée par les serveurs dédiés pour annoncer leur disponibilité et gérer la capacité.

  3. API de réservation de sièges utilisée par les clients de jeu pour découvrir et se connecter aux serveurs dédiés.

  4. Les transports Netcode sont utilisés pour communiquer entre les clients de jeu et les serveurs dédiés.

circle-info

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

▶️ Commencer la navigation

En savoir plus sur le cycle de vie des serveurs/joueurs et leurs responsabilités pour garantir une utilisation efficace des serveurs.

Authentifier

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

Découvrir une instance

l'API Deployments est utilisé pour déployer, mettre à l'échelle et gérer vos serveurs dédiés.

Lorsque vous lancez une nouvelle Déploiements, avertissez Server Browser d'une nouvelle instance et définissez un nombre quelconque de paramètres de métadonnées optionnels utiles pour le filtrage, le tri et la navigation des joueurs :

  • informations sur les emplacements - capacité d'équipe et métadonnées spécifiques à l'équipe (par ex. nom de l'équipe),

    • au moins un emplacement par instance est requis pour gérer la capacité des joueurs ;

  • nom et balises - étiquettes personnalisables, uniques, lisibles par des humains et recherchables ;

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

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

  • qualificateurs de latence - identifiants de ville et de région, et assignés 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 adapté.

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-dessus. Tous les paramètres de métadonnées sont optionnels, et certaines instances peuvent ne pas avoir besoin de définir tous les paramètres.

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

circle-check

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

Les instances de serveur doivent envoyer périodiquement un battement de cœur keep-alive pour vérifier leur disponibilité continue et empêcher les joueurs d'essayer de rejoindre des serveurs plantés ou hors ligne. L'absence de battement de cœur pendant 30 secondes supprimera automatiquement l'instance et toutes les réservations de sièges en attente.

📢 Les serveurs peuvent mettre à jour leur instance en « mode hibernation » avant d'être réduits (arrêtés) pour rester découvrables sans envoyer d'autres requêtes de battement de cœur. Lorsqu'un joueur demande Navigateur de serveurs pour une instance en hibernation, Server Browser redéploiera automatiquement votre serveur.

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 paginer les résultats pour trouver un serveur qu'ils souhaiteraient rejoindre. Pour afficher les données de ping (latence), lisez les Balises de ping détails de chaque instance et mesurer la latence.

Les instances et emplacements peuvent être filtrés par sièges joignables ou paramètres de métadonnées indexés.

Paramètre
Opérateurs
Exemple de filtre (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

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

Réserver des sièges

Avant de rejoindre un serveur, une réservation de siège est requise pour garantir que l'instance offre une capacité disponible suffisante. Les réservations peuvent inclure un groupe de joueurs ou un individu seul.

Les réservations dépassant la capacité de sièges joignables du slot seront automatiquement rejetées (409 Conflictarrow-up-right ). Les sièges joignables sont tous les sièges disponibles qui n'ont pas encore été réservés par d'autres joueurs.

Identité fédérée : Les joueurs doivent fournir un identifiant de joueur tiers unique dans leur réservation. L'envoi du même ID une fois qu'ils Navigateur de serveurs permettra au serveur de vérifier leur identité.

Une fois qu'une réservation est 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 qu'elles ne soient 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 des 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 siège est effectuée, les joueurs peuvent procéder à la connexion au serveur de jeu de votre déploiement et transmettre leur ID de joueur.

Pour se connecter depuis PIE (Éditeur) lors du développement et des 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 demande de confirmation de réservation groupée avec tous les ID des nouveaux joueurs, recevant les informations dans la réponse de confirmation :

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

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

  • une liste d'ID de joueurs inconnus.

Votre serveur peut décider comment gérer 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 sièges disponibles pour s'assurer que les nouvelles réservations ne dépasseront pas la capacité.

Abandonner le serveur

Lorsque les joueurs quittent, le serveur doit mettre à jour leur emplacement assigné pour refléter la nouvelle capacité de sièges disponibles.

circle-check

Nous recommandons d'arrêter les serveurs sans joueurs pour 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.

⚙️ 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 un redémarrage rapide). Vous pouvez spécifier l'expiration des serveurs et des emplacements, et des métadonnées personnalisées :

chevron-right🍀 Exemple simplehashtag
circle-info

Pour de meilleures performances, évitez de spécifier des indices pour des 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 d'instance de serveur ou d'emplacement, voir 📗 API.

☁️ Cluster d'hébergement

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

Choisissez une 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 disponible maintenu par l'équipe Edgegap avec support en direct 24/7 pour les jeux publiés publiquement.

Les exigences de ressources pour votre instance dépendront des facteurs suivants :

  • nombre de joueurs - plus de joueurs entraînent plus de requêtes API,

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

  • nombre de serveurs - plus de serveurs entraînent plus de données stockées et plus de requêtes API,

  • logique de repli de nouvelle tentative du client - réessayer avec un backoff aléatoire aide à lisser les pics d'afflux de trafic,

  • durée moyenne des matchs - des sessions plus courtes nécessitent des interactions plus fréquentes 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 au Server Browser.

file-download
57KB

Importer la spécification API vers Client Web Scalar APIarrow-up-right ou Swagger Editorarrow-up-right pour inspecter les détails.

Pagination

Server Browser fournit une pagination par curseur pour récupérer des données filtrées de manière incrémentale dans un ordre spécifique. Cette approche requiert l'envoi d'un curseur (point de départ) et d'une taille de page (nombre d'éléments de réponse) à chaque récupération de plus de résultats, contrairement à la pagination traditionnelle limit-offset.

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 adapté dès la première page. Pour une meilleure expérience, nous recommandons d'afficher les résultats mis en cache pour les 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 du navigateur de serveurs est 0.0.4 . Restez à l'affût des mises à jour et des annonces.

0.0.4 (05 janv. 2026)

0.0.3 (28 nov. 2025)

  • Publication initiale du service Server Browser lancée en CLOSED BETA.

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

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

Mis à jour

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