Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

Master server beta version

Discussion in 'Multiplayer' started by larus, Sep 16, 2008.

  1. larus

    larus

    Unity Technologies

    Joined:
    Oct 12, 2007
    Posts:
    280
    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
    Code (csharp):
    1.  
    2. void Start() {
    3.     MasterServer.ipAddress = "83.221.146.11"; // Different location than the default one
    4.     MasterServer.port = 23457;
    5.     // If server initialize server, register host, etc
    6.     // If client request host list, etc
    7. }
    8.  
    should be enough make use of the new server.
     
  2. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    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 ;-)
     
  3. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Which version of RakNet is this new master server running on?
    What is the link to the new masterserver?
     
  4. shaun

    shaun

    Joined:
    Mar 23, 2007
    Posts:
    728
    Been running a Windows build of the MasterServer and testing the entire day with 2 other people. Rock solid. Thanks :)
     
  5. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
    Tested the beta server a bit today, seemed to work very reliably. I will be doing a lot more testing of it over the weekend.
     
  6. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
    Doing some testing with 2am Mountain Standard time.


    Code (csharp):
    1. Failed to connect to master server at 83.221.146.11:23457
    Code (csharp):
    1. CreateSocketOrThreadFailure
    2. UnityEngine.Debug:Log(Object)
    3. NetworkLogic:OnFailedToConnectToMasterServer(NetworkConnectionError) (at Assets/Custom Assets/Scripts/Networking/NetworkLogic.js:20)
    4. UnityEngine.MasterServer:RequestHostList(String)
    5. GuiPlayersOnline:RefreshList() (at Assets/Custom Assets/Scripts/GUI/GuiPlayersOnline.js:24)
    Code (csharp):
    1. Connection with master server lost
    Code (csharp):
    1. CreateSocketOrThreadFailure
    2. UnityEngine.Debug:Log(Object)
    3. NetworkLogic:OnFailedToConnectToMasterServer(NetworkConnectionError) (at Assets/Custom Assets/Scripts/Networking/NetworkLogic.js:20)
    4. UnityEngine.MasterServer:RequestHostList(String)
    5. GuiPlayersOnline:RefreshList() (at Assets/Custom Assets/Scripts/GUI/GuiPlayersOnline.js:24)
    Masterserver seemed to die for a few minutes then it came back.

    Overall it is working a lot better than the old server.

    EDIT: It just went down again 2:17 for about 10 seconds. Happened on all 3 computers I have it running on. Same messages as above.
     
  7. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Hi Larus,

    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...

    Sunny regards,
    Jashan
     
  8. larus

    larus

    Unity Technologies

    Joined:
    Oct 12, 2007
    Posts:
    280
    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.
     
  9. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
    I am still not able to do the connection test:

    Code (csharp):
    1. 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:

    Code (csharp):
    1. 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/
     
  10. seon

    seon

    Joined:
    Jan 10, 2007
    Posts:
    1,441
    I also cannot get onto the old or new MS in any flavour build (web, editor, stand alone).

    It's been down all morning (1pm here now) :(

    EDIT: It could just be the Network test FAcilitator that is down as I can force a game start and get others in it if I bypass the facilitator code.
     
  11. larus

    larus

    Unity Technologies

    Joined:
    Oct 12, 2007
    Posts:
    280
    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.
     
  12. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    any way to get an answer?
     
  13. larus

    larus

    Unity Technologies

    Joined:
    Oct 12, 2007
    Posts:
    280
    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.
     
  14. seon

    seon

    Joined:
    Jan 10, 2007
    Posts:
    1,441
    Thanks for the heads up Larus :)
     
  15. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
    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:

    Code (csharp):
    1. Failed to connect to master server at 72.52.207.14:23457
    If I add
    Code (csharp):
    1. MasterServer.ipAddress = "83.221.146.11";
    It starts working, but the tester replies:
    So then I add:
    Code (csharp):
    1. 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:
    Code (csharp):
    1. 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.

    Any when I ping masterserver.unity3d.com I get 72.52.207.14.
     
  16. larus

    larus

    Unity Technologies

    Joined:
    Oct 12, 2007
    Posts:
    280
    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.
     
  17. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
    Everything is working for me now.
     
  18. shaun

    shaun

    Joined:
    Mar 23, 2007
    Posts:
    728
    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.
     
  19. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
    I was getting errors in my console that the beta masterserver was returning malformed data when I was polling for a server list.

    Not sure why it happened.
     
  20. jeffcraighead

    jeffcraighead

    Joined:
    Nov 15, 2006
    Posts:
    740
    Is it possible to get the code for the beta so I can run it on my own server? I've got all my games pointed at a machine in my lab.
     
  21. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
    Just got an error while using beta masterserver:

    Code (csharp):
    1. ConnectionTester is unable to connect to the facilitator, test finished.
    And I have been getting players starting servers that appear to be running correctly, the test results in PrivateIPHasNATPunchThrough, but when I try to connect to them, it says that they are not connected to the facilitator.
     
  22. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
  23. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
    I am getting a lot of
    Code (csharp):
    1. Failed to connect to master server at 83.221.146.11:23457
    Code (csharp):
    1. ConnectionFailed
    Code (csharp):
    1. CreateSocketOrThreadFailed
    Right now for some reason.
     
  24. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
    Here's a new one (seems very rare):
    Code (csharp):
    1. Internal error while attempting to connect to master server (interface inactive)
    I received that after I finished an online race then returned to the main menu where it polls the masterserver for a list of servers.


    The number 1 problem I am still having is NATTargetNotConnected when trying to connect to a server.

    I am estimating that 30% of the players are creating servers that can not be connected to due to this error, but I do not know if this is a problem with the masterserver or if I am not testing them well enough to ensure they 'can' be a server.

    In case this isn't a masterserver issue, more detail is in this thread:
    http://forum.unity3d.com/viewtopic.php?t=14633
     
  25. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
    Now getting:
    Code (csharp):
    1. The connection request to 72.52.207.14:50001 failed. Are you sure the server can be connected to?
     
  26. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Getting this with both the new and the old master server:

    Code (csharp):
    1. ConnectionTester is unable to connect to the facilitator, test finished.
     
  27. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    the question now is, are they using 3.3.0.2 code for the master server, if they are, you won't connect, I can't get Unity 2.1 to connect to a native 3.3.0.2 raknet build but i can connect to a 3.0 build, packets are not compatible
     
  28. benblo

    benblo

    Joined:
    Aug 14, 2007
    Posts:
    476
    All this isn't very clear to me, should I only set MasterServer.ipAddress/port to 83.221.146.11:23457?
    Or also Network.connectionTesterIP and Network.natFacilitatorIP? (with ports 10735 and 50001)

    Larus, if you ever find the time to document exactly what goes on behind the scene, whose role is what, who calls what, etc, that'd be appreciated. We're trying to configure our own server here, and having a hell of a time...
     
  29. MikeHergaarden

    MikeHergaarden

    Joined:
    Mar 9, 2008
    Posts:
    1,027
    benblo, if you're setting up your own server for this. Make sure you run the connectiontester and the masterserver both on the same machine, and set all three(x 2) of the vars to your IP and port

    As in:
    Code (csharp):
    1.  
    2. Network.natFacilitatorIP = "IP";
    3. Network.natFacilitatorPort = 40404;
    4. MasterServer.ipAddress = "IP";
    5. MasterServer.port = 30303;
    6.  
    7. Network.connectionTesterIP = "IP";
    8. Network.connectionTesterPort = 50505;
    9.  
    The Master Server and Facilitator are in 1 application, the connection tester is a separate application.
     
  30. benblo

    benblo

    Joined:
    Aug 14, 2007
    Posts:
    476
    Thanks for your reply Leepo.

    Yes we're installing both, same machine, and I set up all 3 in script.
    Which is why I don't really get Larus' example, it uses the beta MS, but doesn't change the other IPs, how can that work?

    It was actually 2 different questions, I wasn't very clear. I want to try the beta server on the one hand, and understand the MS enough to be able to install it on the other hand (I'm not the one doing the actual install but I'm supposed to tell him how).
     
  31. MikeHergaarden

    MikeHergaarden

    Joined:
    Mar 9, 2008
    Posts:
    1,027
    Alright.

    Some explanation:

    The three services are really all different. The masterserver handles the gamelist..The connection tester tests for public/private IP(not exactly sure here..). The facilitator just handles the NAT punchtrough stuff. (http://unity3d.com/support/documentation/Components/net-MasterServerBuild.html)

    Larus only changed the masterservers IP in the script? Well in this case that wouldn't have made a difference I guess (the beta MS and the default facilitator probably run on the same network anyway)

    This quote does encourage running it on the same machine, and since the MS has it integrated any way...

    (http://unity3d.com/support/documentation/Components/net-MasterServer.html#advanced)


    But It isn't too strange that he didn't add the connectiontester to the script, as he was working on a new masterserver beta, the connectiontester is a seperate program and was probably unrelated to the bugfixes.

    You can also choose to run your own masterserver, and keep using the default(unity) connectiontester. But ofcourse, its wise to run your own in the end.

    Some installation help:

    What machine is it going to be installed on ? Mac, linux (linux, more specific: what OS Centos/Fedora ?)

    I installed it on a Centos server myself, and it was really simple.

    Simple installation instructions for Centos alike systems:

    Download both the masterserver(with facilitator) and the connectiontester here (use "wget URL" or something:
    http://unity3d.com/master-server/index.html

    Then execute "make".

    You can now run the apps if they were built correctly. It is possible that your missing something, of which I forgot the name, but this missing dependency can be easily searched for on the forum.

    Don't forget to add parameters to the apps (they both accept parameters for the IP's/ports).

    I'm not sure, I might have missed a step. But the person installing it for you will probably have no problems doing so.
     
  32. benblo

    benblo

    Joined:
    Aug 14, 2007
    Posts:
    476
    The install itself is no problem (except that you have to edit the source to change the ip... nice joke Larus ;)), but somehow the server doesn't play nice.

    I think it has more to do with the connection tester actually... we feel we're very close to getting it right, it's just that we feel blind, very hard to know what goes on. Your summary helps BTW, I appreciate it!
     
  33. MikeHergaarden

    MikeHergaarden

    Joined:
    Mar 9, 2008
    Posts:
    1,027
    Ah alright, then best you can do is read up on the docs etc, or await larus.

    You don't have to change the source at all, the program takes arguments for the port and IP settings.
     
  34. benblo

    benblo

    Joined:
    Aug 14, 2007
    Posts:
    476
    Hmm... are you talking about the official or beta version? I'm pretty sure the official has to be rebuilt.

    Edit: BTW, what's your take on this, should we bother with the official at all or jump straight to the beta?
    An official version numbered 0.1 doesn't inspire me much more confidence than a beta 0.2! :D
     
  35. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    The "official version". AFAIK, the beta's source is not available, yet.
     
  36. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    PS: Under Windows (which has no proper sleep, hence the funny pings in between), I use the following batch script to start both:

    Code (csharp):
    1.  
    2. START MasterServer.exe 23456
    3.  
    4. ping 127.0.0.1
    5. ping 127.0.0.1
    6. ping 127.0.0.1
    7.  
    8. START ConnTester.exe 23467 <MyIP> 50000
    9.  
    Of course <MyIP> is the external IP-address of the masterserver (so, the IP of that same machine).

    I'm using the builds from somewhere here around the forum (needed that to be able to build them convenientely with Visual Studio 2008).
     
  37. MikeHergaarden

    MikeHergaarden

    Joined:
    Mar 9, 2008
    Posts:
    1,027
    My masterserver and connectiontester need to be restarted about once a week. Is anyone else having this problem?

    I'm running the default code, on Centos5. The logs of both services show no odd errors/warnings at all. The contester stopped +/-24 hours earlier than the masterserver itself.

    Edit: Another restart needed 29-12-2008. No errors in the logs..
    Edit: I'm now running a cronjob to periodically restart the tester, and restart the masterserver when it's offline.
     
  38. Veli

    Veli

    Joined:
    Mar 10, 2009
    Posts:
    301
    Is this still buggy BTW? Some players are complaining that they cant see the server, while others are already playing there.
     
  39. Aubrey-Falconer

    Aubrey-Falconer

    Joined:
    Feb 13, 2008
    Posts:
    438
  40. dgish

    dgish

    Joined:
    May 2, 2009
    Posts:
    10
    The default master server is flakey, period -- most of the time I fail to get a host list. So I thought I'd try the beta server. Even after reading through the litany of problems, I still had a glimmer of hope it might be better somehow. I can ping it, but I get the standard error trying to connect:
    • Failed to connect to master server at 83.221.146.11:23457
    Trying to register a host produces:
    • Attempting to connect to master server at 83.221.146.11:23457

      Connected to facilitator at 72.52.207.14:50001

      The connection request to master server at 83.221.146.11:23457 failed. Are you sure it can be connected to?
    Notice it still attaches to the default server's facilitator. All I did was add the recommended lines to the Awake() function:
    Code (csharp):
    1. MasterServer.ipAddress = "83.221.146.11";
    2. MasterServer.port = 23457;
    3.  
    Is that all I need, or is the the beta server simply down until further notice?
     
  41. Aubrey-Falconer

    Aubrey-Falconer

    Joined:
    Feb 13, 2008
    Posts:
    438
    Dgish;

    Issues with servers disappearing from the list have been resolved in the beta master server, but a new issue of intermittent connectivity errors has surfaced.

    Larus recently let me know he would look into the new issue this week, so hopefully the beta light we see at the end of the proverbial tunnel is something more promising than a fast approaching train :)

    -Aubrey
     
  42. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    I haven't kept up with this thread much, but if you have the latest code base from Larus and running it on Windows, Mac or Linux (runs on all 3), to avoid connecting to the default Unity master server / facilitator you have to create a new method in your connection and call it from your Awake() or just put this in your Awake() method:

    Code (csharp):
    1.  
    2. var serverPort = 23456;
    3.  
    4. function ResetIP()
    5. {
    6.    // Change this ip to your master server public IP
    7.    MasterServer.ipAddress = "127.0.0.1";
    8.    // Change this to your port of your master server
    9.    MasterServer.port = serverPort;
    10. }
    11.  
    12. function Wake()
    13. {
    14.    ResetIP();
    15.    // normal wake routine here...
    16. }
    17.  
    As in the example Network.zip file you can get from the Unity examples, this information would be in the connectguimasterserver.js file, the serverPort is at the top of that file, you just update the Wake() method and add the ResetIP() method.

    Another thing to note, even in 2.5.1, the "server" code is the original 0.1.0 code base as it is announced to the master server and you can see it in debug traffic log, where as the master server is like 1.0.1 > give or take.
     
  43. Aubrey-Falconer

    Aubrey-Falconer

    Joined:
    Feb 13, 2008
    Posts:
    438
    Assigning the server doesn't have to be done in Awake(), does it?

    My code updates the master server connection info based upon information downloaded from an "update" server - and that part of it seems to be working fine.

    I have noticed an incredibly strange bug that involves the whole master server interface dying if the ip address is changed after requesting a server list, but I thought that it was the first server list request that initialized everything.
     
  44. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    It doesn't have to be done in awake but it does need to be done before making the call to the master server, unity client can only talk to one server at any time. If you change the server ip you will loose connection.

    Here is a concept image of the network using a master server. (more for those who have never used a master server or trying to figure out where it belongs in the schema of the network design, yes there is an extra firewall between the clouds, because you never know what you go through when you are between server hops)
     

    Attached Files:

  45. bakno

    bakno

    Joined:
    Mar 18, 2007
    Posts:
    604
    Hello

    We are almost ready to launch our first Unity-networked game. Fortunately we don't need the Master Server, but we do need the the connection tester and the facilitator to check network status.

    Given that these services provided by Unity servers are not reliable, I would like to know if any of you who have been able to successfully install and run the MS, is willing to rent this service.

    This means that we are willing to pay a monthly fee to a server owner that allows our players have access to a reliable connection tester and facilitator.

    I guess there is some business here for a dedicated network person or company since many other developers will need a reliable MS. Or does it exist already? :)
     
  46. Factoid

    Factoid

    Joined:
    Mar 30, 2008
    Posts:
    69
    The folks at Overinteractive posted about offering those services for free. Not sure if it's for testing or production though, check for posts by "dimeRocker".

    We tested on their systems though we've since migrated back to our own master server.

    Though if you're willing to pay to host such a service, maybe look at Amazon's EC2 services. You can rent a virtual server with enough bandwidth for about $2.40 USD a day.
     
  47. bakno

    bakno

    Joined:
    Mar 18, 2007
    Posts:
    604
    Thanks Factoid

    This is a great solution to launch a game, specially useful because they are based in North America. And if we are lucky to have a hit game, this solution provides some time to implement our own master server.
     
  48. caozane

    caozane

    Joined:
    Sep 10, 2009
    Posts:
    7
    I seem to be having a problem with the master server. What happens is this: I create a host-server using nat punch through. I start a client, and the server is found, and I am able to login. Everything works as it is suppose to. Except if I wait 5 minutes the server is no longer found when clients try to connect. No error message.

    Am I suppose to do anything to keep the host alive on the master server?

    Or is this the known issue of intermittent connectivity described by Robur? http://forum.unity3d.com/viewtopic.php?p=210142#210142

    Below is the code that I use to start a server and for the clients to connect with the server. If anybody can spot a bug it will be greatly appreciated.

    I have also attached a demo project so you can test it your self.

    Code (csharp):
    1. using UnityEngine;
    2. using System.Collections;
    3.  
    4. [AddComponentMenu("NetworkScript/Connect")]
    5. public class Connect : MonoBehaviour
    6. {
    7.     public string connectToIP = "127.0.0.1";
    8.     public int connectPort = 25001;
    9.     private bool isConnecting = false;
    10.     void OnGUI()
    11.     {
    12.         if (isConnecting == true)
    13.         {
    14.             GUILayout.Label("Fetching list of servers");
    15.             GUILayout.BeginVertical();
    16.             HostData[] data = MasterServer.PollHostList();
    17.             foreach (HostData element in data)
    18.             {
    19.                 if (GUILayout.Button("Connect to " + element.gameName + " " + element.ip[0] + " "  +element.port))
    20.                 {
    21.  
    22.                     Network.Connect(element.ip, element.port);
    23.                     isConnecting = false;
    24.                 }
    25.                 //Debug.Log(element.gameName);
    26.             }
    27.             if (GUILayout.Button("Go back"))
    28.             {
    29.                 isConnecting = false;
    30.             }
    31.             GUILayout.EndVertical();
    32.         }
    33.         else if (Network.peerType == NetworkPeerType.Disconnected)
    34.         {
    35.             //We are currently disconnected: Not a client or host
    36.             GUILayout.Label("Connection status: Disconnected");
    37.             connectToIP = GUILayout.TextField(connectToIP, GUILayout.MinWidth(100));
    38.             connectPort = int.Parse(GUILayout.TextField(connectPort.ToString()));
    39.  
    40.             GUILayout.BeginVertical();
    41.             if (GUILayout.Button("Connect as client"))
    42.             {
    43.  
    44.                 MasterServer.ClearHostList();
    45.                 MasterServer.RequestHostList("caozane");
    46.                 isConnecting = true;
    47.             }
    48.  
    49.             if (GUILayout.Button("Start Server"))
    50.             {
    51.                 //Start a server for 32 clients using the "connectPort" given via the GUI
    52.                 //Ignore the nat for now   
    53.                 //Network.useNat = true;
    54.                 Network.useNat = true;
    55.                 Network.InitializeServer(32, connectPort);
    56.                 MasterServer.RegisterHost("caozane", "caozane", "l33t game for all");
    57.                
    58.             }
    59.          
    60.             if (Network.useNat)
    61.             {
    62.                 if (GUILayout.Button("natOn"))
    63.                 {
    64.                     Network.useNat = false;
    65.                 }
    66.             }
    67.             else
    68.             {
    69.                 if (GUILayout.Button("natOff"))
    70.                 {
    71.                     Network.useNat = true;
    72.                 }
    73.             }
    74.  
    75.             GUILayout.EndVertical();
    76.         }
    77.         else
    78.         {
    79.  
    80.             GUILayout.BeginVertical();
    81.             if (GUILayout.Button("Disconnect"))
    82.             {
    83.                 Network.Disconnect(200);
    84.             }
    85.             GUILayout.EndVertical();
    86.         }
    87.     }
     

    Attached Files:

  49. larus

    larus

    Unity Technologies

    Joined:
    Oct 12, 2007
    Posts:
    280
    Yes, this sounds like that issue. Forcing a RegisterHost at regular intervals should fix it. Are you using the original server? This should be addressed in the beta version running right now on masterserverbeta.unity3d.com, port 23457. Other beta servers running on facilitatorbeta.unity3d.com (50002) and connectiontesterbeta.unity3d.com (10777).
     
  50. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    This should be resolved for the MasterServer latest Beta 7 code as Larus pointed out. I am working with another group of people whom I have altered the masterserver code to run as a service on their server including verbose logging with stats dump, the latest push of the code I did yesterday has been running solid now for 48 hours with the remote ISP host performing maintenance at 5:00 AM and rebooted their sever, within minutes of the reboot, the masterserver was back online and logging and allowing the original server rooms to show up, all logged.

    I don't think any futher real issues exist with the master server / facilitator directly, I think any remaining issues actually reside inside of Unity itself with regards to any hickups. This would be for the game server code base and the client code base, but definately not the master server code base. There are known issues with the facilitator just dropping out of existance which then if you are using NAT you loose the ability to see those games, but there are work arounds to this problem which one of the work arounds is what Larus is suggesting.

    This is purely an internal Unity code base issue, nothing to do with the master server at all.