> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer un lobby

> Créez des instances PlayFab Lobby détenues par un client ou par un serveur, et configurez le nombre maximal de joueurs, la stratégie d'accès et les propriétés initiales des membres pour les sessions multijoueurs.

Cet article explique comment créer un lobby.

## Comment les lobbies sont-ils créés ?

Un lobby peut être créé de plusieurs façons.

* **Par vos joueurs** : les lobbies peuvent être créés par des joueurs qui souhaitent réunir une équipe de joueurs pour jouer. Il s'agit de lobbies détenus par un client.
* **Par vos serveurs de jeu** : les serveurs de jeu de votre titre peuvent créer des lobbies et attendre que des joueurs les rejoignent. Il s'agit de lobbies détenus par un serveur.
* **Par le matchmaking** : une fois qu'un groupe de joueurs s'est formé à l'issue du matchmaking, un lobby est créé pour les accueillir avant le début de la partie. Il s'agit de lobbies détenus par un client.

D'un point de vue technique, tous les lobbies se répartissent en deux catégories principales selon leur propriétaire : détenus par un serveur et détenus par un client. Pour en savoir plus, consultez [Exigences et privilèges du propriétaire](/fr/services/playfab/multiplayer/lobby/owner-requirements-and-privileges).

PlayFab Lobby sert généralement à réunir temporairement un groupe de joueurs. Pour connaître les applications courantes de Lobby, consultez la [vue d'ensemble de PlayFab Lobby](/fr/services/playfab/multiplayer/lobby).

### Types d'entités pris en charge

Avant de pouvoir créer un lobby, votre titre doit se connecter en tant qu'entité PlayFab.

* Pour créer des lobbies détenus par un client pour le compte de vos joueurs, connectez-vous en tant qu'entité title\_player\_account. Pour plus d'informations, consultez [Principes de base et bonnes pratiques de connexion](/fr/services/playfab/identity/player-identity/login/login-basics-best-practices).
* Pour créer des lobbies détenus par un serveur pour le compte de vos serveurs de jeu, connectez-vous en tant qu'entité game\_server. Pour plus d'informations, consultez [AuthenticateGameServerWithCustomId](https://learn.microsoft.com/en-us/rest/api/playfab/authentication/authentication/authenticate-game-server-with-custom-id).

## Comment les lobbies sont configurés

Plusieurs paramètres importants d'un lobby sont configurés lors de sa création : **maxMemberCount**, **accessPolicy**, **owner** et **ownerMigrationPolicy**.

* **maxMemberCount** définit le nombre de joueurs que le lobby peut accueillir
* **accessPolicy** définit qui peut découvrir la chaîne de connexion du lobby
* **owner** définit le propriétaire du lobby, qui dispose d'autorisations spéciales pour mettre à jour les données du lobby. Cette valeur correspond implicitement à l'entité client ou serveur qui crée le lobby.
* **ownerMigrationPolicy** définit les stratégies de transfert de la propriété du lobby si le propriétaire actuel quitte le lobby ou a du mal à maintenir sa connexion au lobby.

En outre, lors de la création, le créateur du lobby peut également définir des propriétés de lobby et des propriétés de recherche personnalisées afin d'ajouter des données personnalisées à la session du lobby. Ces propriétés personnalisées peuvent également être modifiées par le propriétaire du lobby pendant toute la durée de vie de celui-ci.

Pour plus d'informations, consultez [Propriétés du lobby](/fr/services/playfab/multiplayer/lobby/lobby-properties).

<a id="example-creating-a-client-owned-lobby-using-the-lobby-and-matchmaking-sdk" />

## Exemple de création d'un lobby détenu par un client à l'aide du SDK Lobby et Matchmaking

Cet exemple utilise un joueur local connecté à PlayFab en tant qu'entité [title\_player\_account](/fr/services/playfab/live-service-management/game-configuration/entities/available-built-in-entity-types).

Dans cet extrait de code, les propriétés du lobby sont transmises via **lobbyConfiguration**, et le joueur qui crée le lobby transmet ses propriétés de membre initiales via **creatorMemberConfiguration**. Le joueur local devient le propriétaire du lobby ; il s'agit donc d'un lobby détenu par un client. Une fois le lobby créé avec succès, le **PFLobbyHandle** peut être utilisé pour inviter d'autres joueurs avec [PFLobbySendInvite](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pflobbysendinvite).

```cpp theme={null}
    // Retrieved elsewhere from SDK's PFMultiplayerInitialize API
    PFMultiplayerHandle apiHandle = g_pfmHandle;

    // Retrieved elsewhere from one of PlayFab's title_player_account login APIs
    const PFEntityKey* clientOwner = m_localPlayerTitlePlayerAccounts[0];

    // Initialize the lobby configuration
    const char* gameModePropertyKey = "GameMode";
    const char* gameModePropertyValue = "GameMode_Foo";

    PFLobbyCreateConfiguration lobbyConfiguration{};
    lobbyConfiguration.maxMemberCount = 16;
    lobbyConfiguration.ownerMigrationPolicy = PFLobbyOwnerMigrationPolicy::Automatic;
    lobbyConfiguration.accessPolicy = PFLobbyAccessPolicy::Private;
    lobbyConfiguration.lobbyPropertyCount = 1;
    lobbyConfiguration.lobbyPropertyKeys = &gameModePropertyKey;
    lobbyConfiguration.lobbyPropertyValues = &gameModePropertyValue;
    
    // Initialize the creator's member properties
    const char* playerColorPropertyKey = "PlayerColor";
    const char* playerColorPropertyValue = "Red";

    PFLobbyJoinConfiguration creatorMemberConfiguration{};
    creatorMemberConfiguration.memberPropertyCount = 1;
    creatorMemberConfiguration.memberPropertyKeys = &playerColorPropertyKey;
    creatorMemberConfiguration.memberPropertyValues = &playerColorPropertyValue;

    // Create a lobby using our first player
    PFLobbyHandle lobby;
    HRESULT error = PFMultiplayerCreateAndJoinLobby(
        apiHandle,
        clientOwner,
        &lobbyConfiguration,
        &creatorMemberConfiguration,
        nullptr,
        &lobby);
```

Une fois l'appel de création du lobby terminé, un [PFLobbyCreateAndJoinLobbyCompletedStateChange](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/structs/pflobbycreateandjoinlobbycompletedstatechange) est fourni par [PFMultiplayerStartProcessingLobbyStateChanges](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayerstartprocessinglobbystatechanges).

## Exemple de création d'un lobby détenu par un serveur à l'aide du SDK Lobby et Matchmaking

Cet exemple est similaire à l'[exemple de lobby détenu par un client](#example-creating-a-client-owned-lobby-using-the-lobby-and-matchmaking-sdk), sauf qu'il crée le lobby en tant qu'entité [game\_server](/fr/services/playfab/live-service-management/game-configuration/entities/available-built-in-entity-types) et que [PFMultiplayerCreateAndClaimServerLobby](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayercreateandclaimserverlobby) est appelé à la place de [PFMultiplayerCreateAndJoinLobby](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayercreateandjoinlobby).

```cpp theme={null}
    // Retrieved elsewhere from SDK's PFMultiplayerInitialize API
    PFMultiplayerHandle apiHandle = g_pfmHandle;

    // Retrieved elsewhere from one of PlayFab's game_server login APIs
    const PFEntityKey* serverOwner = m_gameServerEntityKey;

    const char* gameModePropertyKey = "GameMode";
    const char* gameModePropertyValue = "GameMode_Foo";
    
    // Initialize the lobby configuration
    PFLobbyCreateConfiguration lobbyConfiguration{};
    lobbyConfiguration.maxMemberCount = 16;
    lobbyConfiguration.ownerMigrationPolicy = PFLobbyOwnerMigrationPolicy::Automatic;
    lobbyConfiguration.accessPolicy = PFLobbyAccessPolicy::Public;
    lobbyConfiguration.lobbyPropertyCount = 1;
    lobbyConfiguration.lobbyPropertyKeys = &gameModePropertyKey;
    lobbyConfiguration.lobbyPropertyValues = &gameModePropertyValue;
    
    // Create a lobby using our first player
    PFLobbyHandle lobby;
    HRESULT error = PFMultiplayerCreateAndClaimServerLobby(
        apiHandle,
        serverOwner,
        &lobbyConfiguration,
        nullptr,
        &lobby);
```

Une fois l'appel de création du lobby terminé, un [PFLobbyCreateAndClaimServerLobbyCompletedStateChange](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/structs/pflobbycreateandclaimserverlobbycompletedstatechange) est fourni par [PFMultiplayerStartProcessingLobbyStateChanges](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayerstartprocessinglobbystatechanges).

Pour plus d'informations sur les différences entre les lobbies détenus par un client et ceux détenus par un serveur, consultez [Serveurs de jeu et lobbies](/fr/services/playfab/multiplayer/lobby/lobby-server-overview).

<Note>
  Pour activer les API de serveur de jeu dans PlayFab Multiplayer, vous devez définir PFMULTIPLAYER\_INCLUDE\_SERVER\_APIS avant d'inclure PFLobby.h. Pour plus d'informations, consultez [Serveurs de jeu et lobbies](/fr/services/playfab/multiplayer/lobby/lobby-server-overview)
</Note>

## Voir aussi

* [Référence du SDK Lobby](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/pflobby_members)
* [Créer des lobbies consultables](/fr/services/playfab/multiplayer/lobby/define-search-keywords)
* [Inviter des joueurs dans un lobby](/fr/services/playfab/multiplayer/lobby/lobby-invites)
* [Propriétés du lobby](/fr/services/playfab/multiplayer/lobby/lobby-properties)
* [Lobby et matchmaking](/fr/services/playfab/multiplayer/lobby/lobby-and-matchmaking)


## Related topics

- [Créer un lobby](/fr/services/playfab/api-references/rest/multiplayer/lobby/create-lobby.md)
- [Démarrage rapide du SDK Lobby](/fr/services/playfab/multiplayer/lobby/lobby-getting-started.md)
- [Passer de MPSD à PlayFab Multiplayer et MPA](/fr/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-to-mlp.md)
- [Créer des lobbies consultables](/fr/services/playfab/multiplayer/lobby/define-search-keywords.md)
- [Rechercher des lobbies](/fr/services/playfab/multiplayer/lobby/find-lobbies.md)
