> For the complete documentation index, see [llms.txt](https://docs.edgegap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.edgegap.com/docs.edgegap.com-fr/learn/matchmaking.md).

# Mise en relation

Commencez rapidement avec le matchmaking et explorez des scénarios d'exemple pour divers genres.

Suivez cette vidéo pour commencer avec notre service Matchmaker :

{% embed url="<https://youtu.be/HxtvzvJ1FTk>" %}

## ✔️ Préparation

### Architecture du matchmaking

Ce guide se concentrera sur **l'API de matchmaking et l'API Backfill**.

<figure><img src="/files/b0cd9997f903da6e31360ce327dd0d965fb10c11" alt=""><figcaption></figcaption></figure>

Il existe quatre (4) flux de données importants lorsqu'il y a du matchmaking :

1. [API de matchmaking](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-api) **est utilisée par les clients du jeu pour communiquer avec Matchmaker :**
   1. pour la gestion des groupes, l'attribution des serveurs et la supervision,
   2. pour la mesure du ping avec [Balises Ping](/docs.edgegap.com-fr/learn/orchestration/ping-beacons.md).
2. [Déploiements](/docs.edgegap.com-fr/learn/orchestration/deployments.md) L'API est utilisée pour déployer, dimensionner et gérer vos serveurs dédiés par Matchmaker.
3. [Transports Netcode](/docs.edgegap.com-fr/docs/sample-projects.md) sont utilisés pour communiquer entre les clients du jeu et les serveurs dédiés.
4. [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#backfill-match) **pour remplacer ou ajouter des joueurs à un serveur en cours d'exécution.**

{% hint style="info" %}
Après le lancement, **votre matchmaker devra fonctionner 24h/24 et 7j/7** pour garantir que les joueurs du monde entier puissent rejoindre les serveurs.
{% endhint %}

## 🍀 Exemple simple

Commencez par un exemple simple et testez le flux de base des joueurs dans le matchmaking :

* en créant l'instance de matchmaker sur l'environnement partagé [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#hosting-cluster),
* en définissant les règles et paramètres dans votre matchmaker [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#configuration),
* en testant le flux des joueurs et en gérant les tickets avec [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-api).

### 1. Configuration du niveau gratuit

☑️ [Inscrivez-vous pour obtenir votre compte Edgegap gratuit](https://app.edgegap.com/auth/register) et ouvrez la [page du tableau de bord Matchmaker](https://app.edgegap.com/matchmaker-management-v2/matchmakers/list).

☑️ Cliquez sur **Créer un Matchmaker** d'abord, puis saisissez :

* nom du matchmaker - pour votre propre référence, par ex. : `quickstart-dev` ,
* téléchargez notre configuration JSON Simple Example.

🍀 **Exemple simple (configuration minimale recommandée) :**

{% hint style="danger" %}
**Assurez-vous de modifier l'application** **`nom`**  **et** **`version`**  **à correspondre à votre** [Applications et versions](/docs.edgegap.com-fr/learn/orchestration/application-and-versions.md).
{% endhint %}

<pre class="language-json"><code class="lang-json">{
  "version": "3.2.2",
  "inspect": true,
  "max_deployment_retry_count": 3,
  "profiles": {
    "simple-example": {
      "ticket_expiration_period": "5m",
      "ticket_removal_period": "1m",
      "group_inactivity_removal_period": "5m",
      "application": {
        "name": "<a data-footnote-ref href="#user-content-fn-1">my-game-server</a>",
        "version": "<a data-footnote-ref href="#user-content-fn-2">2024.01.30-16.23.00-UTC</a>"
      },
      "rules": {
        "initial": {
          "match_size": {
            "type": "player_count",
            "attributes": {
              "team_count": 1,
              "min_team_size": 2,
              "max_team_size": 2
            }
          },
          "beacons": {
            "type": "latencies",
            "attributes": {
              "difference": 100,
              "max_latency": 200
            }
          }
        },
        "expansions": {}
      }
    }
  }
}
</code></pre>

**Dépannage et FAQ :**

☑️ Si aucune erreur de validation n'apparaît, cliquez sur **Créer et démarrer** et attendez que le processus se termine. Cela lancera un nouveau cluster gratuit, avec votre matchmaker Simple Example.

✅ Vous pouvez maintenant passer à l'étape suivante.

### 2. Explorer la configuration

À mesure que nous publions des mises à jour de Matchmaker, chaque nouvelle version utilise [le versionnement sémantique](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#changelog) pour communiquer clairement l'impact des changements en interprétant le format `majeur.mineur.correctif`:

* 🔥 `majeure` les versions incluent des changements cassants et nécessitent une revue de l'intégration,
* 🌟 `mineure` les versions incluent des améliorations substantielles rétrocompatibles,
* 🩹 `correctif` les versions incluent des corrections de bugs et de petites améliorations.

[Inspecter les tickets](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-api) pour mieux comprendre et déboguer les flux de matchmaking possibles pendant le développement. Nous recommandons de désactiver l'API d'inspection pour votre matchmaker en production.

**Certaines** [**des déploiements peuvent entraîner des erreurs**](https://docs.edgegap.com/docs.edgegap.com-fr/learn/pages/5d7a2f9e0583a99d78071f1c4b8a7892a518534a#id-4.-deployment-error)**.** Nous essayons de résoudre cela en réessayant le déploiement jusqu'à `max_deployment_retry_count` fois automatiquement (sans confirmation du client).

Pour garantir que les plantages inattendus du client ou les tickets abandonnés ne restent pas en attente et n'occupent pas les ressources de votre matchmaker, les tickets non associés seront annulés après `ticket_expiration_period` ce qui fait que leur statut passe à `CANCELLED` puis supprimés définitivement après `ticket_removal_period` .

{% hint style="info" %}
[Découvrez comment le matchmaker maximise le taux de remplissage des matchs et réduit les temps d'attente à moins de 10 secondes.](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#find-match)
{% endhint %}

Le cœur de notre logique de matchmaking est configuré dans [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-profiles). Chaque profil est une file de matchmaking entièrement isolée, pointant vers [Applications et versions](/docs.edgegap.com-fr/learn/orchestration/application-and-versions.md#app-versions) avec une quantité prédéfinie de ressources CPU et mémoire (RAM) requises.

[Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-rules) dans l'ensemble de règles initial doit être respecté pour que les joueurs soient regroupés, chacun défini par trois propriétés :

* nom de votre choix, par ex. - `taille de match`,
* type de règle, également appelé opérateur, par ex. - `player_count`,
* et enfin les attributs de l'opérateur, par ex. `team_count` ou `max_team_size`.

**Règle de nombre de joueurs**

Il s'agit d'une règle spéciale définissant combien de joueurs doivent correspondre pour lancer l'attribution :

* `team_count` fait référence au nombre d'équipes, 1 équipe peut être utilisée pour des modes coopératifs ou chacun pour soi,
* `min_team_size` fait référence au nombre minimum de joueurs par équipe.
* `max_team_size` fait référence au nombre maximum de joueurs par équipe.

Notre exemple simple montre un jeu coopératif à 2 joueurs.

{% hint style="warning" %}
La règle de nombre de joueurs **est obligatoire et ne peut être définie qu'une seule fois** dans les règles de votre configuration initiale.
{% endhint %}

**Règle des latences**

✅ Vous pouvez maintenant passer à l'étape suivante.

### 3. Examiner les détails de l'instance

☑️ Consultez les détails de votre nouveau matchmaker dans notre tableau de bord une fois qu'il est initialisé :

<figure><img src="/files/40361436d9cb4efb59a3435f457c53549eb9887a" alt=""><figcaption></figcaption></figure>

* **Statut** indique l'état du service, peut être ONLINE, OFFLINE ou ERROR.
* **Identifiant** aide le personnel Edgegap à trouver rapidement votre matchmaker si vous avez besoin d'aide pour le dépannage.
* **Démarré le** peut être utile pour retrouver la date de la dernière mise à jour.
* **Taille** correspond à l'un de nos [paliers tarifaires](https://edgegap.com/resources/pricing#matchmaker).
* **URL de l'API** sera utilisée par les clients du jeu et les serveurs de jeu pour communiquer avec votre matchmaker.
* **URL Swagger** est une interface pratique de spécification OpenAPI que nous fournissons pour explorer le schéma de l'API.
* **Jeton d'authentification** est un jeton secret unique utilisé par les clients du jeu et les serveurs de jeu pour l'authentification.

{% hint style="danger" %}
**Le personnel Edgegap ne vous demandera jamais vos jetons. Régénérez votre jeton si vous suspectez une faille de sécurité.**
{% endhint %}

Pour tester votre nouveau matchmaker, **vous aurez besoin de l'URL Swagger, de l'URL de l'API et du jeton d'authentification**.

✅ Vous pouvez maintenant passer à l'étape suivante.

{% hint style="info" %}
Pour mettre à jour les règles de votre matchmaker en développement, modifiez votre configuration et redémarrez-le.
{% endhint %}

{% hint style="success" %}
Voir [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#rolling-updates-and-ab-tests) pour les jeux en direct et les mises à jour sans interruption.
{% endhint %}

### 4. Tester l'API des tickets

{% hint style="info" %}
**Veuillez patienter jusqu'à 5 minutes** après avoir démarré votre matchmaker pour laisser le temps à la propagation DNS de se terminer.
{% endhint %}

☑️ D'abord, **ouvrez votre URL Swagger** pour inspecter votre schéma OpenAPI dans l'interface Swagger :

<figure><img src="/files/00a60bb5f309cc7c33fad95f33cfd1a909da6b07" alt=""><figcaption></figcaption></figure>

☑️ Cliquez sur **Autoriser** 🔒, collez votre **Jeton d'authentification**, puis confirmez en cliquant sur **Autoriser**.

<figure><img src="/files/e871d0152012296c5409126091e24c2cf3bb3e1e" alt=""><figcaption></figcaption></figure>

☑️ Faites défiler jusqu'à **API des tickets** **- POST /tickets**, développez et cliquez sur **Essayer**.

<figure><img src="/files/28e74ffc5e1e03a3bb3cc8e2ff83f202c0ad3144" alt=""><figcaption></figcaption></figure>

☑️ Prévisualisez votre requête :

* remarquez `player_ip` défini sur `null` - cela amènera Matchmaker à utiliser automatiquement l'adresse IP ajoutée à votre requête (voir [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#server-to-server-api) pour des alternatives),
* `profil` fait référence à votre [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-profiles),
* `attributs` incluent des valeurs pour vos règles de matchmaker, dans ce cas pour la `latences` règle,
  * règle `player_count` est la seule règle qui ne nécessite aucun attribut dans les tickets des joueurs.

☑️ Cliquez sur **Exécuter** et consultez la réponse à votre demande de ticket joueur :

* `id` est l'ID unique de votre ticket de matchmaking, enregistrez-le pour vérifier votre ticket plus tard,
* `profil` confirmant le choix de [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-profiles),
* `group_id` est un [ID de groupe unique attribué à chaque ticket, un joueur seul est représenté comme un groupe de 1](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#group-up),
* `team_id` est un ID d'équipe unique attribué à chaque joueur une fois `TEAM_FOUND` le statut est atteint,
  * [chaque équipe peut contenir plusieurs groupes, sans dépasser la taille d'équipe configurée](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-rules),
* `player_ip` est l'adresse IP publique résolue du joueur, quel que soit le mode d'identification,
* `affectation` est défini sur `null` pour indiquer que le ticket n'a pas été associé ou attribué à un serveur,
* `created_at` fournit des informations sur le moment où le ticket du joueur a été créé, pour l'utilisation dans l'interface du jeu,
* `le statut` indique le statut actuel du ticket, tous les tickets commencent en `SEARCHING` .

<figure><img src="/files/07a3ff95313395da59540c4e5c223cfcb2cb9faa" alt=""><figcaption></figcaption></figure>

☑️ Créez un deuxième ticket en appuyant sur **Exécuter** à nouveau, afin que nos deux joueurs soient mis en relation et qu'un serveur soit démarré.

☑️ Réduisez POST /tickets et ouvrez **GET /tickets/{ticketId}**, puis cliquez sur **Essayer**.

☑️ Saisissez l'ID du ticket depuis la réponse de l'étape précédente et cliquez sur **Exécuter**.

<figure><img src="/files/3b574b44c5fb348b4cf991ec2b9804f8892ef7ee" alt=""><figcaption></figcaption></figure>

☑️ Consultez l'affectation mise à jour pour votre ticket joueur :

* statut changé en `MATCH_FOUND` d'abord, tout en conservant `affectation` défini sur `null` pour indiquer que les joueurs ont été mis en relation et qu'un serveur est en cours d'attribution,

<figure><img src="/files/c81c4b5fcd71678729e900253948cc53ac1a9db4" alt=""><figcaption></figcaption></figure>

☑️ Cliquez sur **Exécuter** à nouveau pour vérifier votre ticket, et consultez l'affectation mise à jour pour votre ticket :

* statut changé en `HOST_ASSIGNED` avec `affectation` contenant les détails du serveur attribué.

<figure><img src="/files/14d96ccb4b44a0d1fc2015813875a4ae3d40ae2e" alt=""><figcaption></figcaption></figure>

<details>

<summary>Dépannage et FAQ</summary>

Mon ticket est bloqué en `SEARCHING` .

* Veuillez vérifier que vous avez créé suffisamment de tickets avec des critères qui se chevauchent et respectent votre configuration.

***

Mon ticket passe sans cesse de `MATCH_FOUND` et `TEAM_FOUND` à plusieurs reprises.

* Les comptes du niveau gratuit sont limités à 1 déploiement à la fois. Veuillez envisager de passer à une offre supérieure ou d'arrêter votre déploiement actuel pour en démarrer un nouveau.

***

Mon ticket passe directement à `CANCELLED`.

* Votre ticket a atteint son expiration. Recréez un nouveau ticket ou augmentez la période d'expiration dans votre configuration à des fins de test.

***

Je reçois une erreur HTTP 404 Not Found lors de la vérification de mon ticket.

* Votre ticket a été supprimé soit par une requête DELETE, soit parce qu'il a atteint sa période de suppression (qui commence après l'expiration du ticket, définie dans votre configuration). Recréez un nouveau ticket ou augmentez les périodes d'expiration/suppression dans votre configuration à des fins de test.

</details>

☑️ [Inspectez votre nouveau déploiement dans notre tableau de bord](https://app.edgegap.com/deployment-management/deployments/list):

* remarquez que chaque déploiement est étiqueté avec tous les ID de ticket et le profil pour une traçabilité accrue.

<figure><img src="/files/3c22b9aed5101822c485b0ef8011b948caf49e40" alt=""><figcaption></figcaption></figure>

☑️ Essayez de vous connecter depuis votre client de jeu au serveur attribué.

{% hint style="warning" %}
Si vous rencontrez une latence élevée, votre intégration netcode peut être configurée pour simuler la latence réseau. **Désactivez le VPN lors des tests** pour des conditions plus réalistes et obtenez un [déploiement à faible latence](/docs.edgegap.com-fr/learn/orchestration/deployments.md#server-placement).
{% endhint %}

☑️ Une fois que vous avez vérifié que vous pouvez vous connecter à votre déploiement sans problème et que vous avez terminé les tests, **Arrêtez votre déploiement** pour libérer de la capacité dans votre compte pour la prochaine version.

✅ Vous pouvez maintenant passer à l'étape suivante.

{% hint style="info" %}
Trouvez la spécification OpenAPI pour les tests à `{matchmaker-url}/swagger/v1/swagger.json`.
{% endhint %}

### 5. Intégration du jeu

Matchmaker s'intègre avec :

* **Client de jeu**, pour [gérer les groupes, les adhésions, les attributions et les tickets](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#group-up),
* **Serveur dédié**, pour [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#backfill-match) après le départ d'un joueur.

☑️ Dans **Client de jeu**, nous recommandons de fournir aux joueurs des mises à jour du statut des tickets via l'interface en jeu pour une meilleure expérience joueur. Voir :

☑️ Dans **Client de jeu**, assurez-vous de gérer les `429 Trop de requêtes`  erreurs répétables avec un backoff exponentiel et une nouvelle tentative, afin de laisser le temps à Matchmaker de se rétablir lors de pics soudains de trafic.

☑️ Dans **Client de jeu**, assurez-vous de gérer les erreurs non répétables :

* `404 Not Found` - le ticket a été supprimé,
* `500 Internal Server Error` - panne temporaire du service.

☑️ Dans **Serveur de jeu**, lisez les préférences des joueurs et le contexte initial du serveur :

1. [Variables injectées (Matchmaker)](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#injected-environment-variables) **pour récupérer les données initiales de matchmaking des joueurs.**
2. [Variables injectées (versions de l'application)](/docs.edgegap.com-fr/learn/orchestration/application-and-versions.md#other-parameters-optional) pour les paramètres de version, les paramètres et les secrets.
3. [Variables injectées (déploiement)](/docs.edgegap.com-fr/learn/orchestration/deployments.md#injected-environment-variables) pour les informations de déploiement, l'IP, l'emplacement, etc...

☑️ Une fois les joueurs connectés, **Serveur de jeu et clients de jeu** démarrez une scène de chargement - scène 3D, interface sociale de type lobby ou écran de chargement avec barre de progression, afin d'indiquer que l'initialisation progresse.

☑️ Assurez-vous que votre [déploiement sera arrêté](https://docs.edgegap.com/docs/deployment#stop-a-deployment) correctement une fois le match terminé.

🙌 Félicitations, vous avez terminé l'intégration du matchmaking ! Pour en savoir plus, continuez à lire.

## 🏁 Exemple avancé

Une configuration complète exploitant toutes les fonctionnalités du matchmaking, y compris [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-profiles), [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-rules), et [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#rule-expansion) pourrait ressembler à ceci :

## 🥛 Démonstration de backfill

En s'appuyant sur [#simple-example](#simple-example "mention"), cette configuration présente [Backfill](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#backfill-match) avec [Groupes](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#group-up).

## ⚔️ Jeux compétitifs

Les jeux compétitifs se concentrent sur des joueurs s'affrontant pour remporter la victoire, que ce soit individuellement (chacun pour soi) ou en équipes. Assurez des matchs équitables et équilibrés en associant des joueurs ou des équipes de niveau de compétence similaire, et maintenez le rythme du jeu en trouvant rapidement des adversaires équitables.

Vous pouvez **définir plusieurs équipes avec 1 joueur ou plus chacune**, par exemple :

<table><thead><tr><th width="300">Mode de jeu</th><th>Nombre d'équipes</th><th>Taille de l'équipe</th><th>Nombre total de joueurs</th></tr></thead><tbody><tr><td>FPS 5v5</td><td>2</td><td>5</td><td><strong>10</strong></td></tr><tr><td>MOBA 5v5</td><td>2</td><td>5</td><td><strong>10</strong></td></tr><tr><td>Battle Royale 20x3</td><td>20</td><td>3</td><td><strong>60</strong></td></tr><tr><td>Free For All 10 joueurs</td><td>1</td><td>10</td><td><strong>10</strong></td></tr></tbody></table>

Définissez plusieurs [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-profiles) pour des règles et paramètres spécifiques au mode de jeu, et [étendez selon les besoins](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#rule-expansion).

* **Pour tous les matchs :**
  * restreindre [la latence du matchmaking](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#ping-optimization) pour éviter d'apparier des joueurs éloignés,
  * [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#group-up) pour les groupes préformés et éviter de dépasser les tailles d'équipe,
  * assouplir progressivement les restrictions de latence au fil du temps pour trouver plus de joueurs,
  * allouer plus de CPU ou de mémoire avec différents [Applications et versions](/docs.edgegap.com-fr/learn/orchestration/application-and-versions.md#app-versions) pour des profils spécifiques,
* **Pour les matchs occasionnels :**
  * omettre les restrictions de rang pour maximiser la vitesse de mise en relation et le taux de remplissage des matchs,
  * laisser les joueurs fournir leurs préférences de carte pour trouver une carte adaptée à tous,
  * spécifier la taille du groupe de backfill pour remplacer les joueurs partis sans dépasser les tailles d'équipe,
  * supprimer les limitations de latence pour garantir une correspondance après 3 minutes (180 s) d'attente dans la file.
* **Pour les matchs compétitifs :**
  * restreindre le rang pour n'autoriser que des adversaires d'un niveau de compétence similaire,
  * utiliser les rangs de montée ou de descente pour associer des joueurs aux extrêmes du rang de la ligue.
* **Pour les 1 % de matchs de haut niveau (challengers) :**
  * utiliser des évaluations de compétence numériques (ELO) pour obtenir un contrôle fin de la répartition des compétences dans les matchs,
  * attendre plus longtemps avant d'assouplir les exigences de latence en raison du plus faible nombre de joueurs.

{% hint style="success" %}
En utilisant plusieurs profils pour **séparer les modes de jeu occasionnels, les modes de jeu compétitifs et les challengers de haut niveau** vous pouvez personnaliser séparément les règles et les extensions pour chaque type de joueur.
{% endhint %}

## 🤝 Jeux coopératifs

Les jeux coopératifs exigent que les joueurs travaillent ensemble en équipe vers un objectif commun, ou contre un adversaire IA. Faites correspondre des joueurs ayant des préférences et des habitudes de jeu similaires. Remplacez les joueurs qui quittent, et améliorez [Balises Ping](/docs.edgegap.com-fr/learn/orchestration/ping-beacons.md#connection-quality) pour offrir une expérience de jeu réactive.

Avec un nombre d'équipes de 1 et une taille maximale d'équipe de 4, **exiger jusqu'à 4 joueurs par match**.

Définissez plusieurs [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-profiles) pour les règles et paramètres spécifiques au mode de jeu :

* commencer avec un minimum de 4 joueurs pour maintenir les joueurs dans la file et maximiser le taux de remplissage des matchs,
* restreindre [la latence du matchmaking](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#ping-optimization) pour éviter d'apparier des joueurs éloignés,
* laisser les joueurs choisir une difficulté de jeu particulière pour convenir au niveau de compétence de chacun,
* laisser les joueurs fournir leurs préférences de carte pour trouver une carte adaptée à tous,
* restreindre l'écart de niveau des joueurs afin d'exiger un degré similaire de progression dans le jeu,
* spécifier la taille du groupe de remplissage pour remplacer les joueurs partis sans dépasser la capacité du serveur,
* utiliser des indicateurs de modération pour séparer les joueurs à faible karma et les tricheurs de la population générale,
* [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#group-up) pour les groupes préformés et pour remplir les équipes sans dépasser la capacité du serveur,
* allouer davantage de CPU ou de mémoire à l'aide de différents [Applications et versions](/docs.edgegap.com-fr/learn/orchestration/application-and-versions.md#app-versions) pour d'autres profils.

Commencez avec les conditions idéales, et [étendez les restrictions](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#rule-expansion) pour garantir des matchs rapides :

* assouplir les restrictions de latence au fil du temps pour trouver plus de joueurs,
* augmenter l'écart de niveau autorisé entre les joueurs pour trouver plus de joueurs,
* réduire la taille minimale de l'équipe pour exiger moins de joueurs et lancer la partie plus tôt,
  * le serveur peut remplir les emplacements vides avec des coéquipiers IA,
  * ou [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#backfill-match) pour ajouter des joueurs plus tard,
* définir la taille minimale de l'équipe à 1 pour lancer la partie en solo après 150 s d'attente dans la file

## 🎈 Jeux sociaux

Les jeux sociaux se concentrent sur la création de liens et de relations entre les joueurs grâce à la collaboration, la communication et l'expérience partagée. Prendre en charge un grand nombre de joueurs, maximiser le taux de remplissage des matchs et aligner les préférences et habitudes de jeu des joueurs. Remplacer les joueurs qui quittent, et garantir une grande [Balises Ping](/docs.edgegap.com-fr/learn/orchestration/ping-beacons.md#connection-quality) pour offrir une expérience de jeu réactive.

Avec un nombre d'équipes de 1 (chacun pour soi) et une taille maximale d'équipe de 50, **exiger jusqu'à 50 joueurs par match**.

Définir [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#matchmaking-profiles) pour les règles et paramètres spécifiques au mode de jeu :

* restreindre [la latence du matchmaking](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#ping-optimization) pour éviter d'apparier des joueurs éloignés,
* laisser les joueurs indiquer leurs préférences de mode de jeu et trouver un mode adapté à tout le monde,
* spécifier la taille du groupe de remplissage pour remplacer les joueurs partis sans dépasser la capacité du serveur,
* utiliser des indicateurs de modération pour séparer les joueurs à faible karma et les tricheurs de la population générale,
* [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#group-up) pour des salons préformés ou pour remplir les équipes sans dépasser la capacité du serveur,
* allouer davantage de CPU ou de mémoire à l'aide de différents [Applications et versions](/docs.edgegap.com-fr/learn/orchestration/application-and-versions.md#app-versions) pour d'autres profils.

Commencez avec les conditions idéales, et [étendez les restrictions](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#rule-expansion) pour garantir des matchs rapides :

* assouplir les restrictions de latence au fil du temps pour trouver plus de joueurs,
* réduire progressivement la taille minimale de l'équipe pour exiger moins de joueurs et lancer la partie plus tôt,
  * le serveur peut remplir les emplacements vides avec des joueurs IA,
  * ou [Vue approfondie](/docs.edgegap.com-fr/learn/matchmaking/matchmaker-in-depth.md#backfill-match) pour ajouter des joueurs plus tard,
* définir la taille minimale de l'équipe à 1 pour lancer la partie en solo après 150 s d'attente dans la file.

[^1]: remplacez par le nom de votre propre application

[^2]: remplacez par la version de votre propre application


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.edgegap.com/docs.edgegap.com-fr/learn/matchmaking.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
