For the complete documentation index, see llms.txt. This page is also available as Markdown.

Appariement

Ce SDK est un kit de démarrage optionnel pour les utilisateurs de Unity, pouvant être étendu et personnalisé ultérieurement.

💡 Fonctionnalités

  • Exemples complets

  • Automatisation du ping

  • Tickets, groupes, équipes

  • Variables de match

  • Définitions de types (C#)

  • Tests de développement local

  • Multiplateforme

  • Facile à personnaliser

  • Nouvelle tentative automatisée

✔️ Préparation

Le SDK Unity contient des utilitaires d’intégration optionnels pour les déploiements, le matchmaking et le navigateur de serveurs. Ce plugin prend officiellement en charge les versions de Unity 2021.3.0f1 et ultérieures.

Exigences

Installez un client Git (par exemple git-scm)

Un client Git est nécessaire pour permettre à Unity de télécharger et d’installer automatiquement notre package Unity. Vous n’aurez pas besoin d’utiliser git directement une fois qu’il sera installé.

Installation

  1. Ouvrez votre projet Unity,

  2. Sélectionnez Fenêtre > Gestion des packages > Gestionnaire de packages ,

  3. Cliquez sur l’ icône et sélectionnez Ajouter un package à partir d’une URL Git... ,

  4. Saisissez l’URL de notre SDK lorsque vous y êtes invité :

  1. Cliquez sur Ajouter et attendez que l’installation soit terminée.

Importer les exemples

Ce package inclut plusieurs exemples, destinés à être utilisés individuellement (ne combinez pas les exemples).

Sources vérifiées

Il s’agit du seul canal de distribution officiel pour ce SDK, ne faites pas confiance aux sources non vérifiées !

Mettre à jour le package

Accédez au SDK Edgegap dans Unity Package Manager et cliquez sur Mettre à jour .

Certaines versions peuvent contenir des changements incompatibles. Cela sera indiqué par une nouvelle version MAJEURE.

Mise à jour vers v3

Cette mise à jour inclut de nombreux nouveaux Navigateur de serveurs utilitaires et exemples, améliore la gestion des erreurs de matchmaking, et plus encore. Voir Notes de version pour la liste complète.

🍀 Démarrage

Ce guide suppose une connaissance de base de Appariement concepts et d'un Matchmaker en cours d'exécution.

Aperçu

Notre SDK utilise largement l’injection de dépendances et Observateur des modèles de programmation.

Ce package intègre à la fois Navigateur de serveurs et Appariement, qui peuvent être utilisés ensemble ou séparément. Vous pouvez librement réutiliser n’importe quels scripts pour vos propres forks et intégrations personnalisés.

Ce package comprend :

  • Fichiers d'exécution - seront compilés et intégrés à vos builds client et serveur :

    • Utilitaires spécifiques au service :

      • Appariement - une intégration client complète à réutiliser/étendre.

      • Fonctions API - définitions des points de terminaison, gestion des erreurs et automatisations de journalisation.

    • Spécifiques au service DTO - conteneurs de données typés pour l'API de matchmaking.

    • Utilitaires partagés - journalisation, HTTP, ping, observables, etc...

    • Partagés DTO - utilisés par plusieurs services Edgegap pour transmettre des données.

  • Fichiers d'exemple - intégrés et compilés UNIQUEMENT s'ils sont importés dans votre projet :

Client de groupe

L'automatisation du ping, la gestion des tickets et la récupération de l'hôte sont effectuées par le client de groupe.

Une fois instancié, le Monobehaviour parent (gestionnaire) de l'agent doit initialiser le client et fournir :

  • onMonitorUpdate callback - observer les changements d'état de santé du service,

  • onAssignmentUpdate callback - observer et réagir aux changements d'affectation de l'hôte.

Une fois initialisé, ce client fournira automatiquement des validations et configurera les observateurs de journalisation, en se terminant par un seul appel au point de terminaison de l'API de surveillance pour indiquer l'état de santé du service.

Le gestionnaire du client est censé prendre le relais et appeler les fonctions du client à partir de ce point :

  • Balises pour récupérer une liste des Balises de ping,

  • MeasureBeaconsRoundTripTime pour fournir des mesures de ping par rapport à un ensemble donné de balises,

  • CreateGroup pour permettre au leader du salon de créer un groupe rejoignable, auquel des amis peuvent être invités,

  • JoinGroup pour rejoindre un groupe existant à l'aide de l'ID du groupe envoyé via un salon/backend tiers,

  • SetReady pour marquer le propriétaire du groupe et ses membres comme prêts et commencer la recherche de matchs,

  • ResumeMatchmaking charger un groupe mis en cache et poursuivre la recherche en cas de plantage du client,

  • StopMatchmaking pour supprimer le ticket (s'il n'a pas été apparié) et quitter la file d'attente,

  • Statut pour vérifier l'état de santé du service Server Browser.

Lorsqu'une nouvelle connexion joueur est établie, le joueur est censé envoyer son ID de ticket au serveur de jeu en utilisant votre netcode, afin de corréler les connexions avec Coup d'œil approfondi.

🧪 Exemples

Commencez avec des exemples, y compris une intégration complète et fonctionnelle pour le serveur et le client.

Exemple simple

Inclut une implémentation complète du cycle de vie du joueur avec mesure du ping, gestion des tickets et récupération de l'affectation de l'hôte. Montre comment lire les variables de match injectées côté serveur.

Modifiez les attributs de matchmaking pour étendre facilement cet exemple afin qu'il convienne à toute configuration.

Sélecteur de région

Certains joueurs (ou groupes) ont des conditions localisées particulières (telles que FAI blocage, blocage à l'échelle du pays, ou autre) et peuvent préférer choisir une région manuellement plutôt qu'en se basant uniquement sur le ping.

Examinez notre exemple de sélecteur de région et inspirez-vous-en pour l'implémentation de votre interface de matchmaking.

Former un groupe

Rejoignez la file de matchmaking avec un groupe d'amis, en demandant à tous les joueurs de confirmer avant de lancer la recherche. Commencez avec une implémentation UI minimale, puis personnalisez-la selon la conception de votre jeu.

Explorez l'intégration UI avec le flux de formation de groupe et offrez la meilleure expérience sociale possible.

⚙️ Personnalisation

Ce SDK est conçu pour être étendu et modifié, bien que certaines modifications puissent être risquées :

✅ Gestionnaire - connecter en toute sécurité les observateurs de l'UI et effectuer de petites ajouts ou modifications,

⚠️ Agent - modifiez la gestion du cycle de vie du joueur à vos risques et périls,

⚠️ API - écrivez votre propre intégration à partir de zéro, en utilisant des utilitaires sélectionnés à la carte.

Les gestionnaires peuvent observer tous les événements émis par les agents Server et Client, comme décrit ci-dessous.

Si vous avez besoin d’aide, veuillez nous contacter sur Discord. Pour l’assistance aux jeux en direct, consultez notre système de tickets.

Observer les événements

Le client de groupe émet des événements (actions) que le gestionnaire parent peut observer et exploiter.

Aperçu des événements émis par l'observable Surveillance :

Type d'action
Message de l'événement
Description

🟢 Mise à jour

sain

Tous les systèmes sont OK.

🟢 Mise à jour

non sain

Problème inattendu.

🔴 Erreur

échec de récupération du moniteur

Mauvaise configuration ou problème inattendu.

🔴 Erreur

échec de récupération des balises

Problème inattendu.

Aperçu des événements émis par l'observable Groupe:

Type d'action
Message de l'événement
Description

🟢 Mise à jour

créé

Groupe créé avec succès.

🔴 Erreur

échec de création du groupe

Échec de la création du groupe.

🟢 Mise à jour

rejoint

Groupe rejoint avec succès.

🔴 Erreur

échec de la jonction au groupe

Échec de la jonction au groupe.

🟢 Mise à jour

repris

Groupe repris avec succès.

🔴 Erreur

groupe introuvable

Pas membre du groupe, ou groupe expiré.

🔴 Erreur

conflit, abandonnez et redémarrez

Veuillez abandonner le groupe actuel avant d'essayer d'en créer ou d'en rejoindre un nouveau.

🟢 Mise à jour

membre mis à jour [{ready}]

Membre mis à jour avec la nouvelle valeur Prêt.

🔴 Erreur

échec de la mise à jour du membre

Échec de la mise à jour du membre du groupe. Impossible de passer en non-prêt une fois que le groupe a commencé à rechercher un match.

🔵 Notification

interrogation [{consecutive}/{maximum}]

Le client a lancé l'interrogation de l'état du groupe.

🔵 Notification

interrogation arrêtée

Le client a arrêté l'interrogation de l'état du ticket.

🔴 Erreur

échec de l'interrogation, nombre maximal de tentatives atteint

Le client a épuisé le nombre maximal de tentatives d'interrogation consécutives. Vérifiez l'état du service.

🔴 Erreur

échec de l'interrogation

Le client a reçu une erreur non réessayable lors de l'interrogation. Vérifiez l'état du service.

🟢 Mise à jour

groupe mis à jour [{status}]

Changement d'état du groupe détecté pendant l'interrogation.

🟢 Mise à jour

abandonné

Ticket supprimé avec succès.

🟢 Mise à jour

échec de l'abandon (introuvable)

Le client n'a pas pu trouver le ticket à supprimer, il a peut-être expiré.

🟡 Avertissement

échec de l'abandon (déjà apparié)

Le client n'a pas pu supprimer un groupe apparié. Désactivez l'abandon ou Coup d'œil approfondi pour remplacer le joueur.

🔴 Erreur

échec de l'abandon

Échec de la suppression du groupe ou de l'adhésion.

🟢 Mise à jour

supprimé

Le groupe a expiré, la référence locale a été supprimée.

Mis à jour

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