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 서버에서 하는 방법을 살펴 보세요.
비단절 전략
필요에 의해 마스터 또는 게임서버 주소는 적당한 형식으로 클라이언트에게 전송 됩니다:
- IPv4 address: 서버와 클라이언트 모두 IPv4를 사용할 때.
- IPv6 address: 서버와 클라이언트 모두 IPv6를 사용할 때.
- DNS hostname: 클라이언트는 IPv6 를 서버는 IPv4를 사용할 때.
지원하는 SDK
현재, 다음의 Photon SDK 가 IPv6 를 지원합니다:
- Photon Server SDK / Photon Plugin SDK
4.0.28.x
버전 부터. - Photon .NET (C#) Client SDK:
4.1.x.x
버전 부터 - Photon Native (C++/Objective-C) Client SDKs:
4.1.x.x
버전 부터 - PUN: 버전
1.68
부터.
유니티는 버전 5.3.4p4, 4.7.2, 5.1.5 와 5.2.5 부터 IPv6를 지원 합니다.
유니티 블로그 포스트에서 더 많은 정보를 찾아 보세요.
Photon 서버 환경 설정
Hostnames
PublicHostName
을 Photon 어플리케이션의 환경설정 파일(컴파일 전에는 "app.config" , 컴파일 후에는 "{DLL_name}.config")에 다음과 같이 서버의 도메인명으로 설정하세요.
XML
<setting name="PublicHostName" serializeAs="String">
<value>YOURhost.YOURdomain.com</value>
</setting>
예제:
Photon LoadBalancing 어플리케이션에 대해서 "GameServer\bin\Photon.LoadBalancing.dll.config" 파일내 게임서버에 대해서 수행되어야 합니다.
IPv6-ready
- IPv6 의 "::" 는 IPv4 의 "0.0.0.0" 와 동등 합니다.
- IPv6 의 "::1"는 IPv4 의 "127.0.0.1" (루프백 주소)와 동등 합니다.
XML
<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" 로 설정 하세요:
XML
<setting name="PublicIPAddressIPv6" serializeAs="String">
<value>::1</value>
</setting>
문제 해결
IPv6 DNS64/NAT64 시뮬레이션
우리는 Apple 이 제안하고 있는 방법을 이용하여 로컬 환경에서 테스트 하는 것을 권장 합니다.
Mac 을 여기에서 설명한 것 처럼 로컬 WiFi를 설정할 수 있습니다.
IP 주소의 도메인 명
도메인 명이 공개적으로 이용할 수 있는지 구글의 공개 DNS 에 nslookup 커맨드 라인 툴을 이용하여 다음과 같이 체크 하는 것을 권고 합니다:
nslookup <YOURhost.YOURdomain.com> 8.8.8.8
<YOURhost.YOURdomain.com>
는 내가 가지고 있는 도메인 명으로 변경 해야 합니다 .
결과가 IPv6 또는 IPv4 주소가 예상한 결과로 나오는지 확인 해주세요.
서버에 접속 할 수 있는지 체크
인터넷에서 내 서버가 사용 할 수 있는지를 여러 방식 중에서 선택하여 검증 할 수 있습니다:
ping <도메인명 또는 IP 주소>
- OS 에 따라서
traceroute <도메인명 또는 IP 주소>
또는tracert <도메인명 또는 IP 주소>
를 사용. telnet <도메인명 또는 IP 주소> <port>