다음을 통해 공유


로비 및 연결 문자열 조인

플레이어는 로비에 멤버십을 부여하는 불투명 식별자인 로비의 "연결 문자열"을 로비 서비스에 제공하여 로비에 참가합니다.

플레이어는 다음과 같은 방법으로 연결 문자열을 검색하고 로비에 참가할 수 있습니다.

  1. 게임 내 초대 사용 - 로비의 멤버는 로비 서비스를 통해 다른 플레이어를 해당 로비에 직접 초대할 수 있습니다. 이렇게 하면 로비의 연결 문자열이 초대된 플레이어와 공유됩니다. 이러한 초대는 플랫폼 간 작동하지만 게임 내에서만 작동합니다. 자세한 내용은 로비 초대를 참조하세요.
  2. 플랫폼 제공 초대 사용 - 로비 멤버는 플랫폼별 초대 메커니즘을 통해 로비의 연결 문자열을 다른 플레이어와 직접 공유할 수 있습니다. 이러한 초대는 플랫폼 간 작동하지 않지만 받는 사람이 이미 게임을 실행하지 않고도 받을 수 있습니다.
  3. FindLobbies로 사용 가능한 로비를 검색하고 사용 가능한 로비에 참여
  4. 대역 외 사용자 지정 검색 메커니즘을 통해 로비의 연결 문자열을 공유함으로써

참고: 플레이어(즉, title_player_account PlayFab 엔터티)만 멤버로 로비에 참가할 수 있습니다. 게임 서버(즉, game_server PlayFab 엔터티)는 멤버로 로비에 가입할 수 없습니다. 게임 서버가 로비와 상호 작용하는 방식에 대한 자세한 내용은 게임 서버 및 로비를 참조하세요.

연결 문자열 및 로비 ID

연결 문자열 외에 로비에는 LobbyId라는 또 다른 식별자가 있습니다. LobbyId는 로비의 고유 식별자입니다. 타이틀은 LobbyId를 사용하여 플레이어가 있는 여러 로비를 구별할 수 있지만 LobbyId를 사용하여 로비에 참여하거나 멤버십이 필요한 정보를 직접 쿼리할 수는 없습니다. 따라서 타이틀은 LobbyId를 비밀로 유지할 필요가 없습니다. 반면에 연결 문자열은 로비에 대한 액세스 권한을 부여하므로 원하지 않는 외부인에게 로비가 노출되지 않도록 주의해야 합니다.

로비 및 매치메이킹 SDK를 사용하여 로비에 참여하는 예

다음은 SDK에서 제공하는 PFMultiplayerJoinLobby API에 연결 문자열을 전달하는 방법을 보여주는 간단한 스니펫입니다.

이 스니펫에서 연결 문자열은 위에서 언급한 검색 메커니즘(게임 내 초대, 플랫폼별 초대 또는 필터링된 로비 검색)에 의해 제공될 수 있습니다.

// Initialize the member properties for the newly joining member
const char* playerColorPropertyKey = "PlayerColor";
const char* playerColorPropertyValue = MyGame::GetPlayerColorString(localUser);

PFLobbyJoinConfiguration joinConfig;
joinConfig.memberPropertyCount = 1;
joinConfig.memberPropertyKeys = &playerColorPropertyKey;
joinConfig.memberPropertyValues = &playerColorPropertyValue;

// Join the lobby using the connection string
HRESULT hr = PFMultiplayerJoinLobby(
    g_pfmHandle,
    &localUser,
    connectionString,
    &joinConfig,
    nullptr,
    nullptr);

참고 항목