Self-hosted Unity Asset Server? Access it from outside your network!

So you want to host your own Unity Asset Server locally but are wondering how to reach your server machine from outside of your network? When you’re in your own home, using the internal IP address of the server machine works fine, but when you’re sitting at Starbucks, or your artist is in Jamaica, how is everyone able to commit their hard work? Read below.

External IP vs Internal IP
When you’re on your computer, behind a router, you have two IP addresses. One is local and one is external. Visiting a website such as http://whatismyip.com will let you know your external IP. This is not actually the IP of your physical machine. It’s the IP of your router, which routes traffic over the internet. Your internal IP is the individual machine’s IP address within your local / ‘home’ network, as opposed to the Internet. That usually looks something like 192.168.1.105, or vaguely close to that, if you haven’t customized your DHCP settings on your router.

Dynamic IP vs Static IP
Most home connections use a dynamic IP, meaning your external IP address will change from time to time. Most ISPs will allow you to pay extra for a static IP, which in my opinion is a waste of money. Thanks to services such as No-Ip.com and Dyndns.com , you can get a permanent free hostname! These services upload your current external IP on a set interval to their website and provide you with a hostname that always points properly to your IP!

Steps

  1. Install Unity Asset Server on Mac/PC/Linux. See Unity’s Manual and the Asset Server Installation page for instructions.
  2. Sign up for No-Ip.com and add a new ‘host’. Choose your own free hostname and set it up as a “DNS Host”. Now, in order to set up auto-updating of IP addresses, set up dynamic DNS through your router, if your router supports it. If your router does not support dynamic DNS updating or you’d like to avoid that method, you can install the free No-Ip daemon on your machine. For information on how to do these this, visit the No-Ip support page.
  3. Forward the proper ports on your router. You should forward TCP port 10733 to your asset server machine so it is accessible from outside of the internal LAN. For info on how to do this, you can google for “<router model> dynamic dns instructions” , or if you happen to be using a Linksys router made in the past 10 years (a good percentage of users I would guess), you can follow these sample instructions on how to forward a port on your router:

Open up a web browser and login to your router’s web-based configuration. By default the IP address for configuration is set to http://192.168.1.1/. Enter the username and password, click on the Advanced Tab. In the advanced section, click on the Forwarding tab. Enter the port you want to foward (10733) in both boxes on the Service Port Range fields and the internal IP address of your asset server machine. Next click apply. Voila!! Port forwarding is setup.

6 Comments

  1. Very detailed yet addictively interesting information about IP. Though I do have my personal preference of IP Elk in checking my IP, still I learned something new with your post so thanks!

    Regards,
    Dev

  2. I wanted to thank you for this excellent read!! I definitely loved every little bit of it.Cheers for the info!!!! & This is the perfect blog for anyone who wants to know about this topic. You know so much its almost hard to argue with you ………
    thanks

  3. Just took a couple of minutes to setup and works flawlessly, thanks a lot

  4. https://secure.logmein.com/products/hamachi/

  5. I’ve done everything you said but i keep getting an error

    Connection Failed
    Could not connect to server: connection refused (0x0000274D/10061)
    is the server running on host “Name of host i created in no-ip” and accepting TCP/IP connections on port 10733?

    P.S: Runs when i open on server using localhost

  6. ok an update on my last comment i went home and tried accessing the server from another network and it worked so the problem happens when i try accessing the server from a computer on the same network