@scuta: The trick is, that the IPv6 network has a DNS64/NAT64 "gateway" to the IPv4 world. Even if your device doesn't see any IPv4 addresses ever, it can connect through this gateway to any IPv4 server. This is what the shared IPv6-only network on MacOS provides.
In theory, this means Apple's testing lab should also provide this but they don't. As described in the first post, you should make sure you point out that you tested along their requirements, that you use UDP initiated by the client and expect UDP responses from the (IPv4) server, which is Photon.
By all means, you should test TCP with the MacOS IPv6-only WiFi, too. If that's OK, Apple should accept the game, if you run TCP as workaround during submission.
If you need help communicating with Apple, we're happy to do to. However, we never got involved in any specific case and never got useful info by them, why their tests fail. It's not in our hands, sadly!
Thanks @Tobias that was an awesome answer and it pretty much cleared it up for me. I understand completely that you cannot do anything about this, Apple's attitude was always like this so no surprise there.. By the way I switched to TCP and it was magically accepted although it was only a test-flight build. Anyway I will stick around and update you guys whether it passes the live review or not.
I was directed here, having the exact same issue as @KevinB earlier in this thread (using Photon Server's Load Balancing application, Apple can successfully connect to our master server, but their connection times out trying to connect to the game server on the same machine, just with a different port).
It looks as though UDP is a pretty consistent culprit in this, having read the replies to this thread, but we're not willing to switch protocols because of this. Instead, we have implemented an "offline mode" of sorts for our game that allows our app to pass Apple's review, even when Photon times out.
Having said that, have you, @Tobias, or anyone else at Exit Games, tried to create and submit a small iOS app that fit this criteria? Ideally both the client and server would be configured with deeper logging than customers have access to to see if:
Apple is even sending any UDP traffic to the game server that maybe Photon is mis-handling/ignoring;
if they're not even getting that far (e.g., their network setup is bad).
It might provide better data for them than we, as customers, can provide if you can show them that literally nothing is making its way to your server. Or, in the other case, it could give you more information about a possible bug that's been hard to track down on your end.
This issue has plagued me for months now and I've been rejected many, many times because of it. It sounds like you've been able to hop on a call with Apple about this in the past, but if you actually had an iOS app in the store for them to reference (and for you to monitor), it might make things easier for both sides to diagnose. What do you think?
Whenever I try to connect with the DNS64/NAT64 testing hotspot, I get this error: Connect() to 'ns.exitgames.com' () failed: System.Net.Sockets.SocketException: No such host is known
at System.Net.Dns.hostent_to_IPHostEntry (System.String h_name, System.String[] h_aliases, System.String[] h_addrlist) [0x00000] in :0
at System.Net.Dns.GetHostByName (System.String hostName) [0x00000] in :0
at System.Net.Dns.GetHostEntry (System.String hostNameOrAddress) [0x00000] in :0
at ExitGames.Client.Photon.IPhotonSocket.GetIpAddress (System.String address) [0x00000] in :0
at ExitGames.Client.Photon.SocketUdp.DnsAndConnect () [0x00000] in :0
ExitGames.Client.Photon.SocketUdp:DnsAndConnect()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Cause: ExceptionOnConnect
ConnexionManagement:OnFailedToConnectToPhoton(DisconnectCause)
NetworkingPeer:SendMonoMessage(PhotonNetworkingMessage, Object[])
NetworkingPeer:OnStatusChanged(StatusCode)
ExitGames.Client.Photon.EnetPeer:DispatchIncomingCommands()
ExitGames.Client.Photon.PhotonPeer:DispatchIncomingCommands()
PhotonHandler:Update()
here the anwser from apple wow Thank you for your response. We do not have special procedures for testing PUN servers. Your app should work when submitted, just as other apps have done successfully. Your issues may or may not be related to the factors discussed in those forums.
Your app is still failing to connect with the server.
They cant connect to the server but when i testing it i can
@forplayers: When you get the "No such host is known" issue, then your test IPv6 network is not setup properly or something else blocks that net from accessing DNS/DNS64. This category of issues is a "setup problem". Maybe check the Mac's settings for the shared WiFi...
We thought about submitting our own app but have not had anything that seemed "release-able", as we only go for demos but it seems we have to get anything submitted. The big question is: Will we be able to learn anything from this?! We're not expecting to be able to start a conversation...
Same problem with PUN 1.75, Unity 5.3.6. Apple accepted my game updates all summer, but rejects now. I think of switching to TCP while it is on moderation and then switch back to UDP using backend. Hope this will help. I will update info on that later.
we got rejected by apple 2 times with the same reason. they told us to test the game through their NAT64 guide. We did it, and everything was going well, but still got rejected. Then we thought that would be we were not using the right Ipv6 enviroment, so we called our ISP to set up a new Ipv6-only network. Then, using that network on Unity Editor to connect UsingBestRegion, we got an error like this:
Connect() to 'ns.exitgames.com' (InterNetwork) failed: System.Net.Sockets.SocketException: A socket operation was attempted to an unreachable network.
at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP, Boolean requireSocketPolicy) [0x00000] in :0 at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00000] in :0 at System.Net.Sockets.Socket.Connect (System.Net.IPAddress address, Int32 port) [0x00000] in :0 at ExitGames.Client.Photon.SocketUdp.DnsAndConnect () [0x00000] in :0
Hi all , I am using photon voip plugin in my projetc , once i open the app in ios device app is getting crashed , it is working fine in android and unity editor , But in ios device it was crashing.Currently testing the app after removing all other dependencies , Exceptn voip no other things involved in project and app is still getting crashed in ios device .It would be great if u guys help me in fixing this issue, Thanks in advance
we got rejected by apple 2 times with the same reason. they told us to test the game through their NAT64 guide. We did it, and everything was going well, but still got rejected. Then we thought that would be we were not using the right Ipv6 enviroment, so we called our ISP to set up a new Ipv6-only network.
Well, a pure IPv6 is not supported by the Photon Cloud, as we (still!) have a hard time finding hosting solutions for that. However, pure IPv6 is not a requirement by Apple. IPv6 networks with DNS64/NAT64 are. The latter two techs are making IPv4 servers available in the IPv6 network (by resolving the hostname accordingly and by doing NAT between both IP versions.
Without DNS64/NAT64, the Photon Cloud is not available but Apple's review seems to run into another kind of issue (they do have DNS64/NAT64 but seem to block some UDP datagrams coming from the server).
@r3lazx: Please mail us to [email protected], if you're interested to do a test-submission with us. We could try using different ports.
Comments
In theory, this means Apple's testing lab should also provide this but they don't. As described in the first post, you should make sure you point out that you tested along their requirements, that you use UDP initiated by the client and expect UDP responses from the (IPv4) server, which is Photon.
By all means, you should test TCP with the MacOS IPv6-only WiFi, too. If that's OK, Apple should accept the game, if you run TCP as workaround during submission.
If you need help communicating with Apple, we're happy to do to. However, we never got involved in any specific case and never got useful info by them, why their tests fail. It's not in our hands, sadly!
It looks as though UDP is a pretty consistent culprit in this, having read the replies to this thread, but we're not willing to switch protocols because of this. Instead, we have implemented an "offline mode" of sorts for our game that allows our app to pass Apple's review, even when Photon times out.
Having said that, have you, @Tobias, or anyone else at Exit Games, tried to create and submit a small iOS app that fit this criteria? Ideally both the client and server would be configured with deeper logging than customers have access to to see if:
- Apple is even sending any UDP traffic to the game server that maybe Photon is mis-handling/ignoring;
- if they're not even getting that far (e.g., their network setup is bad).
It might provide better data for them than we, as customers, can provide if you can show them that literally nothing is making its way to your server. Or, in the other case, it could give you more information about a possible bug that's been hard to track down on your end.This issue has plagued me for months now and I've been rejected many, many times because of it. It sounds like you've been able to hop on a call with Apple about this in the past, but if you actually had an iOS app in the store for them to reference (and for you to monitor), it might make things easier for both sides to diagnose. What do you think?
Connect() to 'ns.exitgames.com' () failed: System.Net.Sockets.SocketException: No such host is known at System.Net.Dns.hostent_to_IPHostEntry (System.String h_name, System.String[] h_aliases, System.String[] h_addrlist) [0x00000] in :0 at System.Net.Dns.GetHostByName (System.String hostName) [0x00000] in :0 at System.Net.Dns.GetHostEntry (System.String hostNameOrAddress) [0x00000] in :0 at ExitGames.Client.Photon.IPhotonSocket.GetIpAddress (System.String address) [0x00000] in :0 at ExitGames.Client.Photon.SocketUdp.DnsAndConnect () [0x00000] in :0 ExitGames.Client.Photon.SocketUdp:DnsAndConnect() (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51) Cause: ExceptionOnConnect ConnexionManagement:OnFailedToConnectToPhoton(DisconnectCause) NetworkingPeer:SendMonoMessage(PhotonNetworkingMessage, Object[]) NetworkingPeer:OnStatusChanged(StatusCode) ExitGames.Client.Photon.EnetPeer:DispatchIncomingCommands() ExitGames.Client.Photon.PhotonPeer:DispatchIncomingCommands() PhotonHandler:Update()
Thank you for your response. We do not have special procedures for testing PUN servers. Your app should work when submitted, just as other apps have done successfully. Your issues may or may not be related to the factors discussed in those forums.
Your app is still failing to connect with the server.
They cant connect to the server but when i testing it i can
@rayleigh: That is as unhelpful as ever by Apple.
We thought about submitting our own app but have not had anything that seemed "release-able", as we only go for demos but it seems we have to get anything submitted. The big question is: Will we be able to learn anything from this?! We're not expecting to be able to start a conversation...
I think of switching to TCP while it is on moderation and then switch back to UDP using backend. Hope this will help.
I will update info on that later.
This is the message from Apple:
"We discovered one or more bugs in your app when reviewed on iPad running iOS 11.0.2 on Wi-Fi connected to an IPv6 network."
And i replied like this:
"We are using PUN and that we tested the networkcode versus Apple's own test procedures as described in Apple's own test-description page:
https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html
So the bug report is not an indication as to where the problem lies, but the fact that the iOS app works in the test environment and not in App Review is an indication that the app / App Review interaction needs further review. "
No help, they rejected again .
Any suggestions?
Now waiting for someone to call me from Apple lol not sure what they wanna discuss because it is obvious they have problems and not me
Then we thought that would be we were not using the right Ipv6 enviroment, so we called our ISP to set up a new Ipv6-only network. Then, using that network on Unity Editor to connect UsingBestRegion, we got an error like this:
Connect() to 'ns.exitgames.com' (InterNetwork) failed: System.Net.Sockets.SocketException: A socket operation was attempted to an unreachable network.
at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP, Boolean requireSocketPolicy) [0x00000] in :0
at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00000] in :0
at System.Net.Sockets.Socket.Connect (System.Net.IPAddress address, Int32 port) [0x00000] in :0
at ExitGames.Client.Photon.SocketUdp.DnsAndConnect () [0x00000] in :0
Please check this. Thanks
I am using photon voip plugin in my projetc , once i open the app in ios device app is getting crashed , it is working fine in android and unity editor , But in ios device it was crashing.Currently testing the app after removing all other dependencies , Exceptn voip no other things involved in project and app is still getting crashed in ios device .It would be great if u guys help me in fixing this issue, Thanks in advance
Thank you for choosing Photon!
Your post is off topic here.
Take a look here or here.
However, pure IPv6 is not a requirement by Apple. IPv6 networks with DNS64/NAT64 are.
The latter two techs are making IPv4 servers available in the IPv6 network (by resolving the hostname accordingly and by doing NAT between both IP versions.
Without DNS64/NAT64, the Photon Cloud is not available but Apple's review seems to run into another kind of issue (they do have DNS64/NAT64 but seem to block some UDP datagrams coming from the server).
@r3lazx: Please mail us to [email protected], if you're interested to do a test-submission with us. We could try using different ports.