This document is about: FUSION 2-SHARED
SWITCH TO

매치메이킹 기초

세션

NetworkRunner를 멀티플레이어 모드에서 시작하면, 하나의 "세션"에 참가하게 됩니다.
세션은 여러 클라이언트가 공유하며, 고유한 SessionName을 가집니다.

NetworkRunner를 시작할 때 SessionName을 전달하면, Fusion은 해당 이름의 세션이 존재하면 그 세션에 참가하고,
존재하지 않으면 새 세션을 생성합니다.

C#

var networkRunner = GetComponent<NetworkRunner>();
var args = new StartGameArgs()
{
    GameMode = GameMode.Shared,
    PlayerCount = 10, // player count is optional and can be used to define the maximum amount of players in the session.
    SessionName = "MyRoomName"
};
networkRunner.StartGame(args);

클라이언트가 세션을 생성하지 않고 참가만 하도록 하려면 EnableClientSessionCreatonFalse로 설정할 수 있습니다.

StartGameArgsSessionName이 지정되지 않으면, 클라이언트는 공간이 있는 임의의 세션에 참가하거나,
열린 세션이 없을 경우 랜덤 이름으로 새 세션을 생성합니다.

지역

Fusion 세션은 사용 가능한 지역 중 하나에서 시작할 수 있습니다.
세션은 지역별로 존재하므로, SessionName으로 기존 세션에 참가할 때는 참가자가 같은 지역에 있어야 합니다.

기본적으로 PhotonAppSettings에 지역이 설정되어 있지 않으면, Fusion은 Best Region에 자동 연결합니다.
이는 시작 시 모든 지역에 핑을 보내 가장 낮은 핑을 가진 지역에 연결하는 방식입니다.
하지만 Best Region은 결정적이지 않기 때문에, 핑 값 차이가 미미할 경우 지역이 예측 불가능하게 선택될 수 있습니다.

실행 중 코드로 Region을 설정하는 예시는 여기에서 확인할 수 있습니다.

사용 가능한 전체 지역 목록은 여기에서 확인할 수 있습니다.

고급 매치메이킹

고급 매치메이킹 옵션은 전체 Fusion 문서에서 확인할 수 있습니다.

  • 인증:
    게임 출시 전에 반드시 구현할 것을 권장합니다.

  • 허용 지역 목록:
    출시 초기에는 소수의 지역(us, eu, asia 등)만 허용하여 커뮤니티 분리를 방지하는 것이 좋습니다.

  • 로비:
    세션에 참가하기 전에 현재 열려 있는 세션 목록을 확인할 수 있습니다.

  • 커스텀 속성:
    예를 들어, "map" 속성을 "map1"로 설정하면, 클라이언트는 "map1" 맵이 실행 중인 세션만 필터링하여 참가할 수 있습니다.

  • 빠른 재접속:
    연결이 끊겼을 경우, 플레이어가 다시 세션에 빠르게 재접속할 수 있도록 구현합니다.

Back to top