> ## 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.

# 멀티플레이어를 위한 대규모 세션 활성화

> 2015 Multiplayer API를 사용하여 MMO 게임, 방송, encounter에 최대 10,000명의 멤버를 지원하는 대규모 MPSD 멀티플레이어 세션을 만드는 방법을 설명합니다.

이 항목에서는 100명 이상의 멤버를 처리할 수 있는 멀티플레이어 *대규모 세션*을 만드는 방법을 설명합니다.
이 시나리오는 MMO(대규모 다중 사용자 온라인) 게임 및 방송(대부분의 멤버가 관전자인 경우)에서 가장 흔합니다. 대규모 세션 지원은 다른 스타일의 게임에도 적용될 수 있습니다.

일부 상황에서는 소규모 플레이어 그룹을 다룰 때에도 대규모 세션이 유용할 수 있습니다.
여러 플레이어를 동일한 세션에 두고 싶지만, 게임에서 서로 마주치지 않는 경우 서로를 인식할 필요가 없는 경우, 대규모 세션의 `encounters` 속성을 사용할 수 있습니다.

대규모 세션은 현재 [Multiplayer Manager](/services/xbox-services/multiplayer/mpm/live-multiplayer-manager-nav)에서 지원되지 않습니다. Multiplayer Service Directory(MPSD)에 직접 호출을 사용하려면 2015 Multiplayer API를 사용해야 합니다.

대규모 세션은 일반 세션과 약간 다르게 처리됩니다.

* 대규모 세션은 일반 세션보다 적은 정보를 포함하지만 더 효율적입니다.
* 대규모 세션은 최대 10,000명의 멤버를 지원합니다.
* 대규모 세션을 구독할 수 없습니다.
* 대규모 세션 멤버는 recent player 목록에 자동으로 포함되지 않습니다.

## 최근 플레이어

XBOX 플레이어가 새 플레이어와 멀티플레이어 게임을 플레이한 후, 대시보드의 최근 플레이어 목록에서 해당 플레이어를 볼 수 있습니다.

* 플레이어가 게임에서 새 플레이어와 훌륭한 경험을 했다면, 다시 함께 플레이하거나 친구로 추가하고 싶을 수 있습니다.
* 플레이어가 어떤 플레이어와 좋지 않은 경험을 했다면, 앞으로 그 사람을 피하거나 게임이 끝난 후 나쁜 행동을 신고하고 싶을 수 있습니다.

일반 세션 중에 XBOX services는 같은 세션의 플레이어를 최근 플레이어 목록에 자동으로 추가합니다.
그러나 대규모 세션을 사용하는 경우 최근 플레이어 목록이 적절하게 채워지도록 몇 가지 추가 단계를 수행해야 합니다.

## 대규모 세션 설정

세션을 대규모 세션으로 설정하려면 세션 템플릿의 기능 섹션에 `"large": true`를 추가하세요.
`maxMembersCount` 값은 최대 10,000까지 설정할 수 있습니다.

다음 템플릿은 최대 2,000명의 플레이어를 지원하는 대규모 세션을 생성합니다.

```json theme={null}
{
    "constants": {
        "system": {
            "version": 1,
            "maxMembersCount": 2000,
            "visibility": "open",
            "capabilities": {
                "gameplay": true,
                "large": true
            },
            "timeouts": {
                "inactive": 0,
                "ready": 180000,
                "sessionEmpty": 0
            }
        },
        "custom": { }
    }
}
```

## 대규모 세션 작업

대규모 세션을 MPSD에 쓸 때 초당 10회의 쓰기를 초과하지 않도록 권장합니다.
일반적인 1,000명 플레이어 세션은 멤버 참여 또는 이탈과 같은 업데이트로 플레이어당 평균 2분마다 쓰기가 발생할 수 있습니다.

기타 속성은 대규모 세션에서 유지되지 않아야 합니다.

### 동일한 대규모 세션의 플레이어 연결

MPSD에서 대규모 세션을 검색할 때 응답에는 멤버 목록이 포함되지 않습니다. 전체 목록을 가져올 방법이 없습니다.
호출자가 세션에 있는 경우, 요청과 마찬가지로 `members` 컬렉션의 유일한 항목은 자신의 멤버 레코드이며 `me`로 표시됩니다.

이는 클라이언트 멤버가 세션에서 자신의 항목만 업데이트할 수 있음을 의미합니다. 그들은 지정한 공통 식별자를 서버에서 제공하는 것에 의존합니다. XBOX services는 이 식별자를 사용하여 함께 플레이한 플레이어를 연결하여 평판 및 최근 플레이어 상태를 업데이트할 수 있습니다.

세션의 플레이어가 함께 플레이했음을 나타내는 방법에는 두 가지가 있습니다: 영구 그룹과 짧은 encounter입니다.

#### 영구 그룹

*영구 그룹*은 지속적으로 함께 플레이하는 명명된 플레이어 그룹으로, 일부 플레이어가 그룹에 참여하거나 이탈할 수 있습니다. 그룹 이름은 GUID와 같이 일반 세션에 적용되는 것과 동일한 이름 지정 규칙을 따라야 합니다.

각 멤버가 그룹에 참여하거나 이탈할 때, 문자열 배열인 자신의 `groups` 속성에서 그룹 이름을 추가하거나 제거해야 합니다.

```json theme={null}
{
    "members": {
        "me": {
            "properties": {
                "system": {
                    "groups": [ "example-group-name" ]
                }
            }
        }
    }
}
```

#### 짧은 encounter

두 플레이어가 짧고 일회성 마주침(*짧은 encounter*)을 갖는 경우, 게임은 `group` 속성 대신 `encounters` 속성을 사용하여 이를 나타낼 수 있습니다.

각 encounter에 이름을 지정하세요. encounter 후, 참가자 두 명(또는 전원)은 자신의 `encounters` 속성에 encounter 이름을 씁니다.

```json theme={null}
{
    "members": {
        "me": {
            "properties": {
                "system": {
                    "encounters": [ "trade.0c7bbbbf-1e49-40a1-a354-0a9a9e23d26a" ]
                }
            }
        }
    }
}
```

`groups`와 `encounters`에 동일한 이름을 사용할 수 있습니다. 예를 들어 한 플레이어가 `groups`에 이름이 추가된 그룹과 "trades with"하는 경우, encounter를 가진 플레이어는 그룹 이름을 자신의 "encounters" 목록에 업로드합니다. 이는 개별 플레이어가 그룹의 모든 멤버를 최근 플레이어로 볼 수 있게 하고 그 반대의 경우도 마찬가지입니다. 그룹의 플레이어는 그룹 멤버십을 업데이트하기 위해 어떤 작업도 수행할 필요가 없습니다.

플레이어가 30초 동안 그룹의 멤버이면 encounter로 간주됩니다.
encounter는 일회성 이벤트로 간주되므로 `encounters` 속성은 항상 즉시 처리된 다음 세션에서 지워집니다.

`encounters` 배열은 응답에 나타나지 않습니다.
반면 `groups` 속성은 변경, 제거되거나 멤버가 세션을 떠날 때까지 유지됩니다.


## Related topics

- [MPSD(Multiplayer Session Directory) 개념](/ko/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-concepts-nav.md)
- [개념](/ko/services/xbox-services/multiplayer/mpsd/concepts/index.md)
- [서비스 간 멀티플레이어 세션 관리](/ko/services/xbox-services/fundamentals/s2s-auth-calls/s2s-calls/s2s-call-patterns/live-mpsd-service-to-service.md)
- [멀티플레이어 서비스 구성](/ko/services/xbox-services/multiplayer/concepts/live-configure-the-multiplayer-service.md)
- [멀티플레이어 세션 템플릿](/ko/services/xbox-services/multiplayer/mpsd/concepts/live-session-templates.md)
