Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

What ports need to be opened for Network Clients

Discussion in 'Multiplayer' started by MrPure, Feb 25, 2009.

  1. MrPure

    MrPure

    Joined:
    Jul 5, 2008
    Posts:
    36
    Hi,

    Our clients have serius problems conecting to a multiplayer session.

    We want our Clients to login to our server and there one guy will be able ro run a Virtual Demo of a Product and the other "customers" can watch in a spectator mode. Prefared via the Web Browser.


    They are a big industrial Company and we know that they have blocket alot of incoming ports like FTP 21, etc. and of course outgoing.

    And it doesn´t seem to matter if we change port in the Network example project.
    It looks like port 80 is the only that is open (we will try to check this....) but we can´t use port 80 since it is conflicting with MasterServer etc? or?

    Can we skip Master Server and go direct, would that help?

    I hope there is some solution, othervise the whole project is at stake......

    We are kind of new to the whole multiplayer thing, so please let me know if I got it all wrong.

    Thanks!!
    Daniel
     
  2. larus

    larus

    Unity Technologies

    Joined:
    Oct 12, 2007
    Posts:
    277
    I'd try using direct connect since your case is pretty specific. The master server used port 23456 by default and should not cause conflicts unless you are running it on the same machine and using that particular port for your unity instance as well. You are probably thinking of TCP port 80 ("the only one that is open") which webservers use but Unity networking uses UDP ports but it might be worth a try anyway. Remember that port 80 is in the privileged port range so you probably need to run your server instance with sudo privileges or it won't be allowed to open it.

    Some big corporations block all outgoing/incoming udp traffic in which case nothing will work of course, you might need to ask them to allow a particular port and even only for your IP address which you will be using (should be easy to do for their admins).

    You could try a udp/tcp tunnel application, there are some around for games using udp to get past firewalls, but it might be tricky to set up.
     
  3. MrPure

    MrPure

    Joined:
    Jul 5, 2008
    Posts:
    36
    Hi Iarus,

    Thanks for your answer.

    We tested a direct connection, on port 80. But it didnt work for them. So you are probably right about they blocking UDP traffic. I will talk to their admins, but the problem is that they are global, and their customers around the world could perhaps also have this problem.

    Is it possible to use/write a TCP network connection?
    Since the clients only have to recieve and watch, not interact with the application. I figured perhaps we can use another tecnique...
     
  4. larus

    larus

    Unity Technologies

    Joined:
    Oct 12, 2007
    Posts:
    277
    Yes, besides the udp/tcp tunneling approach, you can roll your own networking functionality using .NET sockets. There are some examples on the unify wiki.