Xbox Live 매치메이킹 세션 생성
이 문서는 Xbox Live에서 멀티플레이어 세션을 생성하는 방법에 대해 설명합니다. 이 기능은 사전에 XDP 대시보드에서 생성한 세션 템플릿, 매치메이킹 호퍼 및 보안 장치 연결 템플릿을 사용합니다.
함수 설명
xboxlive_matchmaking_create
함수는 멀티플레이어 세션을 생성합니다. 이 함수는 다음과 같은 인수를 사용합니다:
- user_id: Xbox 사용자 ID
- visibility: Xbox 매치 가시성 상수
- template: 세션 템플릿의 이름
- hopper: 매치메이킹 호퍼의 이름
- sdatemplate: 보안 장치 연결 템플릿의 이름
- matchattributes: (선택 사항) 매치 속성
가시성 상수
가시성은 다음과 같은 상수 중 하나로 설정할 수 있습니다:
상수 | 설명 |
---|---|
xboxlive_match_visibility_open |
세션에 다른 사용자가 참여할 수 있음을 지정합니다. |
xboxlive_match_visibility_private |
세션이 세션 구성원이 아닌 사용자에게 보이지 않음을 지정합니다. |
xboxlive_match_visibility_usetemplate |
세션 템플릿에서 사용된 값을 사용해야 함을 지정합니다. |
반환 값
이 함수는 고유한 요청 ID 값을 반환합니다. 이 값은 세션이 생성되었을 때 발생하는 Social Asynchronous Event를 식별하는 데 사용됩니다. 이 이벤트는 async_load
변수에 다음과 같은 키/값 쌍을 포함합니다:
"requestid"
: 호출 함수에서 반환된 요청 ID"status"
: "session_created" 문자열로 이벤트 유형을 알립니다."sessionid"
: 세션 ID 또는 실패 시 -1"error"
: 성공 시 0, 실패 시 -1"correlationid"
: 함수와의 상관 관계를 위한 세션 핸들
함수 사용 예제
아래는 xboxlive_matchmaking_create
함수를 사용하는 예제입니다:
var userID = xboxlive_user_for_pad(global.PadIndex);
result = xboxlive_matchmaking_create(userID, xboxlive_match_visibility_usetemplate, "MatchTicketSession", "MatchTicketHopper", "PeerServerTraffic");
위의 코드는 주어진 게임패드에서 사용자 ID를 검색한 후, 해당 사용자에 대한 매치메이킹 세션을 초기화합니다.
활용 예제
- 공개 세션 생성:
gml var userID = xboxlive_user_for_pad(global.PadIndex); result = xboxlive_matchmaking_create(userID, xboxlive_match_visibility_open, "PublicGameSession", "PublicHopper", "SecureTemplate");
- 비공식 세션 생성:
gml var userID = xboxlive_user_for_pad(global.PadIndex); result = xboxlive_matchmaking_create(userID, xboxlive_match_visibility_private, "PrivateGameSession", "PrivateHopper", "SecureTemplate");
- 템플릿 사용 세션 생성:
gml var userID = xboxlive_user_for_pad(global.PadIndex); result = xboxlive_matchmaking_create(userID, xboxlive_match_visibility_usetemplate, "TemplateGameSession", "TemplateHopper", "SecureTemplate");
이 예제들은 다양한 세션 유형을 생성하는 방법을 보여줍니다.