지역

Photon 클라우드는 전 세계에서 낮은 레이턴시 게이밍을 위하여 글로벌 접속을 제공 합니다.

사용할 수 있는 지역

Photon 클라우드에는 몇 개의 지역이 있으며 전 세계적으로 분산된 다수의 호스팅 센터가 있습니다.

각 Photon 클라우드 지역은 "지역 토큰" 에 의해 구별 됩니다.

클라이언트의 "Connect" 메소드에 지역 토큰을 전달하기 위해서 다음을 호출합니다:

사용할 수 있는 지역과 토큰 목록:

지역호스트 위치토큰
아시아싱가포르asia
호주멜버룬au
캐나다, 동부몬트리올cae
중국 본토 (지침을 확인하세요)광동cn
유럽암스테르담eu
인도첸아이in
일본도쿄jp
남미상파울루sa
한국서울kr
USA, 동부워싱턴us
USA, 서부새너제이usw

관리화면 지역 필터링

대시보드에서 바로 직접 어플리케이션별로 사용할 수 있는 Photon Cloud 지역 목록을 필터링 할 수 있습니다.

Photon Cloud: Regions Whitelist
Photon Cloud 지역 필터링

관리화면으로 이동하여 선택한 어플리케이션의 "관리" 를 클릭하고 "편집" 을 클릭합니다. 다음과 같이 바람직한 지역의 목록을 입력할 수 있는 입력 필드를 찾을 수 있을 것 입니다:

  • 허용된 목록은 세미콜론으로 분리된 지역 토큰 문자열이어야 합니다. 예를 들어, "eu;us".
  • 지역 토큰은 대소문자를 구별하고 여기에 정의되어 있습니다.
  • 정의되지 않았거나 식별할 수 없는 지역 토큰들은 목록에서 무시됩니다.
  • 비어 있는 ("") 또는 잘못된 형식의 문자열 (예를들어, ";;;") 은 빈 목록을 나타냅니다.
  • 빈 목록은 모든 지역을 사용하도록 허용하는 것을 의미 합니다.

확인하고 저장하면, GetRegions 오퍼레이션은 필터링된 지역 목록만을 리턴할 것 입니다. 따라서 클라이언트들은 그 목록에서 선택해야하지만 명시적으로 사용할 수 있는 모든 지역에 연결하는 것이 가능합니다. 관리화면에서 변경사항을 적용하기까지는 최대 10분까지 걸릴 수 있다는 것을 고려해주시기 바랍니다.

지역 선택 방법

미국내 사용자들은 미국 지역의 Photon Cloud에 접속한 경우 가장 낮은 레이턴시를 가지게 됩니다. 참 쉽죠.

하지만 사용자들이 전 세계에 있는 경우는 어떻게 해야 할까요?

다음을 할 수 있습니다

  • a) 게임 클라이언트가 다른 Photon Cloud 지역으로 핑을 날려서 최고의 핑을 보여주는 지역을 사전-선택 합니다. 방법을 읽어 보세요
  • b) 지역별로 구분한 클라이언트 버전을 배포하여 사용자들이 지역별로 해당 지역의 Photon Cloud에 접속하도록 합니다. 또는
  • c) 게임 메뉴에서 사용자들이 지역을 선택하도록 합니다.

또한 d) 게임플레이에서 높은 레이턴시를 감당할 수 있는 경우, 모든 사용자들이 동일한 지역에 접속하게 할 수도 있습니다. 예를 들면, "리얼타임이 아닌" 게임인 경우 입니다.

모든 Photon Cloud 앱들은 사용할 수 있는 모든 지역에서 추가 요금 없이 동작합니다. 가격 보기.

Photon Cloud의 관리화면에서는 각 지역의 게임 사용량을 모니터링할 수 있으며 구독 플랜을 쉽게 업그레이드하거나 다운그레이드 할 수 있습니다. 관리화면으로 이동.

가장 낮은 레이턴시로 게임을 시작하는 방법

Photon Cloud Regions' Connect Flows
Photon Cloud 지역으로 접속하기

가장 가까운 마스터 서버에 접속하기

일반적인 지역 마스터 서버 주소를 사용하여 마스터서버에 직접 접속하는 것은 더 이상 사용되지 않습니다. 대신에 사용하고 있는 SDK에서 제공되는 지역 마스터로 연결하는 메소드를 사용하게 됩니다!

클라이언트에서 가장 가까운 지역을 알고 있다면 지역만을 전달하여 접속 할 수 있습니다.

*다른 플랫폼에 대해서는 SDK 목록에서 각각의 SDK와 API 링크를 따라가 보세요.

SDK는 네임 서버로 부터 요청된 지역의 마스터 서버 주소를 얻게 됩니다. (그림 1번 "Photon Cloud 지역으로 접속하기") 그리고 선택한 지역내의 마스터 서버로 자동으로 연결 (그림 2번 "Photon 클라우드 지역으로 접속하기") 합니다.

런타임시 지역을 선택하는 방법

런타임에 지역을 선택하고 싶은 경우에는 - 예를들어, 플레이어에게 모든 지역 리스트를 보여주어 지역을 선택하는 것 - 먼저 네임 서버에 접속 해야 합니다. 현재 사용할 수 있는 지역 마스터 서버 주소를 네임 서버로 질의 할 수 있습니다. (그림 1번 "Photon Cloud 지역으로 접속하기")

우리가 쓰고 있는 "네임서버" 는 사용할 수 있는 지역에 대해 지역적으로 로드 밸런싱된 네임 서버 입니다. 네임서버는 마스터 서버 주소 요청을 최대한 시간을 낮게 유지합니다.

C# Client SDKs

연결이 성공하면 사용 가능한 지역 목록을 얻습니다.

이제 마스터 서버들의 목록에서 게임 플레이를 위하여 낮은 레이턴시를 가진 가장 좋은 지역을 알아 보기 위하여 ping을 할 수 있으며 플레이어들이 지역을 선택하도록 할 수도 있습니다.

클라이언트가 지역을 결정 했을 때, 그 지역의 마스터 서버로 접속 합니다(그림 2번 "Photon Cloud 지역으로 접속하기").

마지막으로, 게임을 위한 룸에 참여하거나 생성 합니다.(그림 3번 "Photon Cloud 로 클라이언트 접속하기").

C++ 클라이언트 SDK

1. Photon Cloud에 접속했는지 확인 해주세요. Cloud 지역들은 Photon 서버가 지원하지 않습니다.

2. Client 클래스의 생성자는 두 개의 선택적인 파라미터를 가지고 있습니다. 파라미터의 마지막 것은 regionSelectionMode 라고 하며, LoadBalancing::RegionSelectionMode 의 값을 취하고 기본값은 RegionSelectionMode::DEFAULT 입니다. 이 파리미터에 명시적으로 RegionSelectionMode::SELECT을 지정해주시기 바랍니다.

3. Client::connect() 호출에 의하여 발생되는 연결 흐름 과정에서, 클라이언트는 네임 서버로 부터 사용 가능한 지역들의 목록을 받습니다. Listener 는 선택적인 콜백인 Listener::onAvailableRegions() 을 선언 합니다.

regionSelectionModeRegionSelectionMode::SELECT 를 전달했다면, 클라이언트는 사용할 수 있는 지역의 항목을 자동적으로 선택하지는 않지만 그 리스트를 콜백으로 전달하게 됩니다.

따라서 Listener 구현에서는 기준에 따라 지역을 선택 할 수 있도록 콜백의 빈 기본 구현을 오버라이드 해 주어야 합니다.

4. 연결 흐름은 지역을 선택하기 전까지 완전히 멈추게 됩니다.

5. 연결 과정을 게속 하기 위해 선택한 지역을 Client::selectRegion() 에 전달합니다.

참고: Client::selectRegion()Listener::onAvailableRegions() (이 콜백내에서 직접적으로 selectRegion() 호출 또는 나중에 콜백이 리턴된 이후)에 대한 호출 수신 이후에만 호출될 것으로 예측됩니다. 그렇지 않으면 클라이언트는 지역 선택의 연결-흐름의 올바른 단게에 있지 않게 될 것 입니다.

Listener::onAvailableRegions() 의 구현 예제는 클라이언트 SDK 내의 demo_loadBalancing 의 소스 코드에서 확인하실 수 있습니다:

selectRegion()onAvailableRegions() 호출이 수신된 이후에만 연결-흐름 동안에 호출되는 점을 참조하여 주세요.

onAvailableRegions()을 다른 시점에서 또는 다른 상태 또는 반복적으로 호출하는 것은 지원되지 않으며 정의되지 않은 행동을 유발하게 됩니다.

Objective-C 클라이언트 SDK

1. Photon Cloud에 접속했는지 확인 해주세요. Cloud 지역들은 Photon 서버가 지원하지 않습니다.

2. EGLoadBalancingClient 생성자는 두개의 선택적인 파라미터가 있습니다. 파라미터중 마지막 것은 regionSelectionMode 라고 하며, EGRegionSelectionMode.h 의 값을 받고 기본값은 EGRegionSelectionMode_DEFAULT 입니다. 이 파라미터에 명시적으로 EGRegionSelectionMode_SELECT 를 전달해주세요.

3. EGLoadBalancingClient::connect() 호출에 의하여 발생되는 연결 흐름 과정에서, 클라이언트는 네임 서버로 부터 사용 가능한 지역들의 목록을 받습니다. EGLoadBalancingListener 에서 선택적인 콜백인 EGLoadBalancingListener::onAvailableRegions() 를 선언합니다. regionSelectionMode 에 대해서 EGRegionSelectionMode_SELECT 값을 전달하지 않은 경우에, EGLoadBalancingClient 는 사용할 수 있는 지역 목록에서 자동적으로 항목을 선택하지 않지만, 콜백으로 목록을 전달합니다. 따라서 EGLoadBalancingListener 구현에서는 기준에 따라 지역을 선택 할 수 있도록 콜백의 빈 기본 구현을 오버라이드 해 주어야 합니다.

4. 연결 흐름은 지역을 선택하기 전까지 완전히 멈추게 됩니다.

5. 연결 과정을 게속 하기 위해 선택한 지역을 EGLoadBalancingClient::selectRegion() 에 전달합니다.

참고: EGLoadBalancingClient::selectRegion() 은 EGLoadBalancingListener::onAvailableRegions()(이 콜백내에서 직접적으로selectRegion()` 호출 또는 나중에 콜백이 리턴된 이후)에 대한 호출 수신 이후에만 호출될 것으로 예측됩니다. 그렇지 않으면 클라이언트는 지역 선택의 연결-흐름의 올바른 단게에 있지 않게 될 것 입니다.

EGLoadBalancingListener::onAvailableRegions() 에 대한 구현 예제는 클라이언트 SDK 내의 demo_loadBalancing_objc 소스코드에서 보실 수 있습니다:

selectRegion()onAvailableRegions() 호출이 수신된 이후에만 연결-흐름 동안에 호출되는 점을 참조하여 주세요.

onAvailableRegions()을 다른 시점에서 또는 다른 상태 또는 반복적으로 호출하는 것은 지원되지 않으며 정의되지 않은 행동을 유발하게 됩니다.

중국 본토 지역에서 사용하기

먼저, Photon 앱에서 중국 본토 지역으로의 접속을 요청해야 합니다. 저희가 귀하의 AppID를 잠금해제 할 수 있도록 저희에게 메일을 보내주세요.
Second, you cannot subscribe to paid plans to be used in Chinese Mainland Region via our website. Please reach out to us by email.

방화벽이 트래빅을 차단할 수도 있으므로, Photon 네임서버는 중국에서만 국한 되어야 합니다. 중국 Photon 네임서버는 "ns-cn.exitgames.com" 입니다.

중국 본토 밖의 고객과 연결하는 것은 대부분 좋은 결과를 얻을 수 없을 것 입니다. 또한 Photon 서버에서 중국 본토 이외의 서버 (예:사용자정의 인증, WebHooks, WebRPC)로 연결하는 것은 신뢰할 수 없을 것 입니다.

중요: 현재 단계에서, 관리화면을 통해 앱을 변경하는 것은 중국의 앱 캐쉬에 자동적으로 반영되지 않습니다. 갱신 요청이 있는 경우에, 우리에게 이메일로 알려주시기 바랍니다.

또한 법적인 이유로 중국을 위해 빌드를 분리하는 것이 필요하며, 별도의 AppId를 사용하는 것을 권장합니다. 예를 들어, 빌드 조건에 따라 AppId와 Photon 네임서버를 변경하려면 컴파일 조건(원하는 경우)을 사용하시기 바랍니다

중국 시장을 위한 특별한 빌드 구성에 대해서는 다음 지침을 따라 주세요:

C# 클라이언트 SDKs

  1. 중국 지역에서 잠금해제된 AppId를 어플리케이션에 설정합니다. 동일한 프로젝트를 사용하고 다른 빌드를 가지고 있으면, 다음과 같이 할 수 있습니다:
  2. "LoadBalancingClient.cs" 파일을 열고 NameServerHost 를 "ns-cn.exitgames.com" 으로 설정합니다:
  3. LoadBalancingClient.ConnectToRegionMaster("CN") 를 사용하여 중국 본토 지역으로 연결합니다.

C++ 클라이언트 SDKs

  • Client::connect()serverAdress 파라미터에 "ns-cn.exitgames.com" 을 전달합니다.
  • Client::connect()serverAdress 파라미터에 "ns-cn.exitgames.com" 을 전달합니다.
  • serverType 이 기본 값인 ServerType::NAME_SERVER 로 유지 되고 있는지 확인해주세요.

Objective-C 클라이언트 SDK

  • EGLoadBalancingClient::connect()serverAdress 파라미터를 "ns-cn.exitgames.com" 으로 전달합니다.
  • serverType 파라미터가 기본 값인 EGServerType_NAME_SERVER 로 유지 되고 있는지 확인해주세요.

 To Document Top