We have a beta version of the next master server version running at the moment for public testing. It would be awesome if you could point to this server when you test or play around (just not production of course).
This is basically an attempt at eliminating the disappearing host problem but there are other cleanups in there as well. So if you see anything out of the ordinary or still experience the problem, please let me know.
The beta server is running on a different IP and port, IP 83.221.146.11 and port 23457. So simply doing something like
void Start() {
MasterServer.ipAddress = "83.221.146.11"; // Different location than the default one
MasterServer.port = 23457;
// If server initialize server, register host, etc
// If client request host list, etc
}
Great! I’ve changed my code to use this - now I only need to finish my next Traces of Illumination multiplayer build (but you’ll see me testing internally)
I’ve also disabled the “re-register every 5 seconds”-code, so if the problem persists, I’ll notice
is there some weird stuff going on with your network? I did quite some multiplayer testing during the weekend, and it worked fine having the server both in the Unity editor and as a standalone.
Yesterday in the evening, both MasterServers were completely down - and so was forum.unity3d.com and unity3d.com. So, I tried it again today, and everything was working again.
I’ve just had a testing session where I kept the server in the editor. But now, I tried running the server standalone and get ConnectionTesterStatus.Error from Network.TestConnection(). I tried both MasterServers, and I tried it from both my Mac and a Windows PC (both on the same network, though).
In the editor, it works just fine, without any problems - but as standalone, it fails all the time.
I guess I’ll put that server on one of my “testing-production machines” (which have a full Internet IP-address) and see what happens there - hope it’ll work…
Yes, the official server crashed a few times during the weekend. It caused a bit of ruckus for the server so I moved it to a dedicated server (which only runs the master server atm). The DNS for proxy.unity3d.com now points to the new location, the old location is still active but only redirects to the new one. The culprit for the crashing has been worked around though, so it should stop doing that.
Connection Tester reports NAT target 83.221.146.11:10735 not connected to NAT facilitator 83.221.146.11:50001.
Been checking periodically today, and haven’t seen the test work.
The standard networking example results in:
Problem determining NAT capabilities
Edit:
BTW, here is a webplayer build of the networking example project with the masterserver switched to the beta server. http://protonfoundry.com/NetworkTest/
There was a mess up regarding the DNS so the changes didn’t propagate yet, hopefully they will soon. When they do everything should be back to normal. Sorry about that.
If you are using the previous master server, it will automatically redirect to the new one. This also updates the facilitator location so it should then work with the connection tester. I’m not sure why the network test player posted doesn’t work. When I test the stock network example project, the connection test works if I retry it after the initial failure.
RakNet source has been partially upgraded to the latest version (3.26). It includes bug fixes relevant to the master server, but the RakNet core has not been changed as it would break compatibility with the Unity player.
There is no public link for the beta version currently.
Larus, there still does seem to be a DNS propagation issue.
I re-downloaded the network example incase I changed anything and just forgot about it. But with only adding the new masterserver port I get the error:
Failed to connect to master server at 72.52.207.14:23457
If I add
MasterServer.ipAddress = "83.221.146.11";
It starts working, but the tester replies:
So then I add:
Network.connectionTesterIP = "83.221.146.11";
And it works.
Here is the strange part. If I comment out the line where I set the connectionTesterIP, it continues to work.
I print out the connectionTesterIP right below the line I commented out, and it says:
connectionTesterIP = "0.0.0.0";
But if I then close down Unity, and re-open it, (with that line still commented out), it fails to work until i manually set the IP again.
Doh, should be sorted now. The IP address reported is actually the right one but some firewall issues on the new server were causing problem, all sorted now.
When using the master server you only need to modify the IP and port of the master server itself. The facilitator and connection tester don’t need to be modified. The connection tester starts out at zero and is then looked up through DNS. Thus it can be moved around by updating the DNS records. So it showing up as 0.0.0.0 but then working is because the address was looked up right before it was used. If the address has been modified it is untouched, like when you manually change it.
I’ve found when I play with the IP address settings for the Master Server, Facilitator and Connection Tester I sometimes need to restart Unity to see my changes. Maybe if you’ve specified custom IP’s, you need a restart to tell the Network class to use the defaults.
I now enforce a custom IP whenever I “Awake” the network class - and the problem seems to have gone.