server | v4 switch to v3  

IPv6

개념

IPv6 로의 전환은 필수적입니다. 애플도 IPv6의 앱과 업데이트만을 허용한다고 2016년 6월 1일에 결정 했습니다.

(상세 내용은 이 기사)를 읽어 보시는 것을 권장 합니다. 결과적으로 일부 개발자들은 걱정이 될 수 도 있습니다. 걱정하지 마세요. Photon 이 알아서 다 해줍니다. 완전하게 IPv6 로 전환하는 것은 매우 시간이 걸린다는 것을 알고 있습니다.

두 옵션중의 하나를 이용하는 것이 잘 진행 될 것이라고 보장합니다. 이러한 옵션들은 Photon 서버 4 에서만 지원 됩니다. Photon Server 3 에서는 지원되지 않습니다.

두 옵션 모두 Photon 에서 최소로 요구되는 클라이언트 SDK 버전을 사용해야 합니다. 지원 하는 SDK 목록을 살펴 보세요.

옵션 A: IPv6-ready clients, IPv4-only servers 지원

DNS 에 매우 의존적인 옵션입니다."Bridged IPv6 to IPv4" 를 이용 합니다( DNS64+NAT64 를 사용하여 처리) Photon 서버는 IP 주소 대신에 DNS 호스트명(FQDN)을 사용하여 설정되어 있어야 합니다. Photon 서버에서 하는 방법을 살펴 보세요.

옵션 B: 클라이언트 서버 모두 IPv6 에서 실행

이 옵션은 IPv6-only 네트워크를 위한 것 입니다. Photon 서버는 IPv6 주소를 이용해 설정되어야 합니다. Photon 서버에서 하는 방법을 살펴 보세요.

Back To Top

비단절 전략

필요에 의해 마스터 또는 게임서버 주소는 적당한 형식으로 클라이언트에게 전송 됩니다:

  • IPv4 address: 서버와 클라이언트 모두 IPv4를 사용할 때.
  • IPv6 address: 서버와 클라이언트 모두 IPv6를 사용할 때.
  • DNS hostname: 클라이언트는 IPv6 를 서버는 IPv4를 사용할 때.

Back To Top

지원하는 SDK

현재, 다음의 Photon SDK 가 IPv6 를 지원합니다:

Back To Top

Photon 서버 환경 설정

Photon 서버 환경설정에서 하드코딩된 IP 주소 보다는 도메인 이름 사용을 권장 합니다.

Back To Top

Hostnames

PublicHostName 을 Photon 어플리케이션의 환경설정 파일(컴파일 전에는 "app.config" , 컴파일 후에는 "{DLL_name}.config")에 다음과 같이 서버의 도메인명으로 설정하세요.

<setting name="PublicHostName" serializeAs="String">
    <value>YOURhost.YOURdomain.com</value>
</setting>

예제:
Photon LoadBalancing 어플리케이션에 대해서 "GameServer\bin\Photon.LoadBalancing.dll.config" 파일내 게임서버에 대해서 수행되어야 합니다.

Back To Top

IPv6-ready

  • IPv6 의 "::" 는 IPv4 의 "0.0.0.0" 와 동등 합니다.
  • IPv6 의 "::1"는 IPv4 의 "127.0.0.1" (루프백 주소)와 동등 합니다.

"PhotonServer.config" 에서 각각의 ListenerIPAddressIPv6="::" 를 다음의 예처럼 추가 해주세요:

      <TCPListener
        IPAddress="0.0.0.0"
        IPAddressIPv6="::"
        Port="4531"
        DisableNagle="true"
        InactivityTimeout="5000"
        OverrideApplication="Game">
      </TCPListener>

Photon 어플리케이션의 ".config" 파일(컴파일 전에는 "app.config" , 컴파일 후에는 "{DLL_name}.config")에서 다음 처럼 PublicIPAddressIPv6 를 "::1" 로 설정 하세요:

<setting name="PublicIPAddressIPv6" serializeAs="String">
    <value>::1</value>
</setting>

Back To Top

문제 해결

IPv6 DNS64/NAT64 시뮬레이션

우리는 Apple 이 제안하고 있는 방법을 이용하여 로컬 환경에서 테스트 하는 것을 권장 합니다. Mac 을 여기에서 설명한 것 처럼 로컬 WiFi를 설정할 수 있습니다.

Back To Top

IP 주소의 도메인 명

도메인 명이 공개적으로 이용할 수 있는지 구글의 공개 DNS 에 nslookup 커맨드 라인 툴을 이용하여 다음과 같이 체크 하는 것을 권고 합니다:

nslookup <YOURhost.YOURdomain.com> 8.8.8.8

<YOURhost.YOURdomain.com> 는 내가 가지고 있는 도메인 명으로 변경 해야 합니다 . 결과가 IPv6 또는 IPv4 주소가 예상한 결과로 나오는지 확인 해주세요.

Back To Top

서버에 접속 할 수 있는지 체크

인터넷에서 내 서버가 사용 할 수 있는지를 여러 방식 중에서 선택하여 검증 할 수 있습니다:

  • ping <도메인명 또는 IP 주소>
  • OS 에 따라서 traceroute <도메인명 또는 IP 주소> 또는 tracert <도메인명 또는 IP 주소> 를 사용.
  • telnet <도메인명 또는 IP 주소> <port>

기술문서 TOP으로 돌아가기