지역
Photon 클라우드는 전 세계에서 낮은 레이턴시 게이밍을 위하여 글로벌 접속을 제공합니다.
클라이언트의 초기 접속은 Photon 네임 서버로 가게 되며, 여기에서는 사용할 수 있는 지역을 제공합니다.
각 지역은 타지역과 완벽하게 분리되어 있으며 마스터 서버(매치메이킹 용)와 게임 서버(호스팅 룸) 이루어져 있습니다.
사용할 수 있는 전체 지역은 아래에 있습니다. 관리 화면에서, 클라이언트에서 사용할 수 있는 지역을 정의할 수 있습니다.
목차
PUN에서 지역 설정 하기
ConnectToBestCloudServer(string gameVersion)
가장 낮은 ping을 가진 마스터 서버로 클라이언트가 접속합니다.
모든 Photon 클라우드 마스터 서버의 핑 결과는 PlayerPrefs에 저장됩니다.
OverrideBestCloudServer(CloudRegionCode region)
을 사용하여 명시적으로 "가장 좋은" 서버를 설정하시기 바랍니다.
PhotonServerSettings asset 편집에서 지역을 셋업 할 수 있습니다.
PhotonNetwork.ConnectUsingSettings()
를 호출하여 지역에 접속하는 것은 매우 쉽습니다.
PUN을 이용한 추가적인 셋업 정보에 대해서는 초기 설정 문서를 참고해 주세요.
최적 지역 고려 사항
"최적 지역" 옵션은 결정론적이지 않습니다. 때로는 약간의 변동성 또는 정확히 동일한 핑 계산으로 인해 "무작위" 일 수 있습니다.
이론적으로 가능한 것:
- 동일한 기기에서 여러 영역으로 동일한 핑 값을 가진 경우입니다. 따라서 동일한 네트워크에 연결된 클라이언트는 무작위로 다른 지역에 연결됩니다.
- 동일 네트워크에 연결된 서로 다른 기기에서 동일한 지역에 대하여 서로 다른 핑 값(또는 동일한 기기에서 다른 시도)
예를 들어, "us" 그리고 "usw"인 경우(또는 "ru" 그리고 "rue")에, 원하는 지역을 선택 또는 나머지 지역을 없앨 수 있도록 온라인 지역 화이트리스트를 사용할 수 있거나 지역을 지정하여 접속할 수 있습니다.
사용할 수 있는 지역
Photon 클라우드에는 몇 개의 지역이 있으며 전 세계적으로 분산된 다수의 호스팅 센터가 있습니다.
각 Photon 클라우드 지역은 "지역 토큰"에 의해 구별됩니다.
클라이언트의 "Connect" 메소드에 지역 토큰을 전달하기 위해서는 PhotonNetwork.ConnectToRegionMaster(regionCode, gameVersion)
를 호출합니다.
지역 | 호스트 위치 | 토큰 |
---|---|---|
아시아 | 싱가포르 | asia |
호주 | 멜버른 | au |
캐나다, 동부 | 몬트리올 | cae |
중국 본토1 (지침을 참고하세요) | 상하이 | cn |
유럽 | 암스테르담 | eu |
인도 | 첸아이 | in |
일본 | 도쿄 | jp |
러시아 | 모스코바 | ru |
러시아, 동부 | 하바로프스크 | rue |
남 아프리카2 | 요하네스버그 | za |
남 아메리카 | 상파울루 | sa |
한국 | 서울 | kr |
USA, 동부 | 워싱턴 D.C. | us |
USA, 서부 | 산호세 | usw |
1: 중국 본토 지역은 AppId와 구독을 분리해야 합니다. 2: 남 아프리카 지역은 아직 예비 시험 중입니다.
관리 화면 지역 필터링
관리 화면에서 바로 직접 어플리케이션별로 사용할 수 있는 Photon Cloud 지역 목록을 필터링할 수 있습니다.
관리 화면으로 이동하여 선택한 어플리케이션의 "관리"를 클릭하고 "편집" 을 클릭합니다. 다음과 같이 바람직한 지역의 목록을 입력할 수 있는 입력 필드를 찾을 수 있을 것입니다:
- 허용된 목록은 세미콜론으로 분리된 지역 토큰 문자열이어야 합니다. 예를 들어, "eu;us".
- 지역 토큰은 대소문자를 구별하고 여기에 정의되어 있습니다.
- 정의되지 않았거나 식별할 수 없는 지역 토큰들은 목록에서 무시됩니다.
- 비어 있는 ("") 또는 잘못된 형식의 문자열 (예, ";;;") 은 빈 목록을 나타냅니다.
- 빈 목록은 모든 지역을 사용하도록 허용하는 것을 의미합니다.
확인하고 저장하면, GetRegions
오퍼레이션은 필터링 된 지역 목록만을 리턴할 것입니다.
따라서 클라이언트들은 그 목록에서 선택해야 하지만 명시적으로 사용할 수 있는 모든 지역에 연결하는 것이 가능합니다.
관리 화면에서 변경사항을 적용하기까지는 최대 10분까지 걸릴 수 있다는 것을 고려해 주시기 바랍니다.
중국 본토 지역에서 사용하기
방화벽이 트래픽을 차단할 수도 있으므로, Photon 네임서버는 중국에서만 국한되어야 합니다. 중국 Photon 네임서버는 "ns.photonengine.cn"입니다.
중국 본토 밖의 고객과 연결하는 것은 대부분 좋은 결과를 얻을 수 없을 것입니다. 또한 Photon 서버에서 중국 본토 이외의 서버 (예:사용자 정의 인증, WebHooks, WebRPC)로 연결하는 것은 신뢰할 수 없을 것입니다.
또한 법적인 이유로 중국을 위해 빌드를 분리하는 것이 필요하며, 별도의 AppId를 사용하는 것을 권장합니다. 예를 들어, 빌드 조건에 따라 AppId와 Photon 네임서버를 변경하려면 컴파일 조건(원하는 경우)을 사용하시기 바랍니다
중국 시장을 위한 특별한 빌드 구성에 대해서는 다음 지침을 따라 주세요:
- 중국 지역에 잠금 해제된 어플리케이션의 AppId를 설정합니다.
동일한 프로젝트를 사용하고 다른 빌드를 가지고 있는 경우, 다음과 같이 할 수 있습니다:
void Awake() { // TODO: replace compile condition with your own #if CHINA PhotonNetwork.PhotonServerSettings.AppID = "ChinaPUNAppId"; // TODO: replace with your own AppId #else PhotonNetwork.PhotonServerSettings.AppID = "nonChinaPUNAppId"; // TODO: replace with your own AppId #endif }
- "NetworkingPeer.cs" 파일을 열고
NameServerHost
를 "ns.photonengine.cn" 로 설정합니다: CloudRegionCode
와CloudRegionFlag
열거형에 새로운 "CN" (도는 "cn") 지역 토큰을 아래와 같이 추가합니다:PhotonNetwork.ConnectToRegion(CloudRegionCode.cn, gameVersion)
을 사용하여 중국 본토 지역으로 접속합니다.