Server Appears in MasterServer for me, but not friend

I am hosting a server on my local machine using Ulink and Ulink MasterServer… the server appears in the list and I can connect to it just fine using any computer at my house, I have not yet been able to test connecting to it from outside my region, but I did have a friend across the country attempt to connect using the same exact build of my client. He was able to connect and poll the master server, but never saw my game server appear in the list.

The master server is hosted on an Amazon EC2 instance located in virginia, I am in ohio, and my friend is in Arizona. I can see on the master server that his IP address connects successfully, and then requests the host list. I can see that I connect successfully, and request the host list. My server appears on my screen, and does not appear on his.

I checked the documentation at and was unable to ascertain whether or not the master server is, for some reason, not sending the information due to some port issue on his end (as near as I can tell, that is not the case, but I’m not ruling it out entirely yet) or if the master server simply sends the client the server IP address and then the client gathers to information itself based on the IP address of the game server, to which perhaps he is unable to connect because my game server is hosted on a private network? He is able to ping the master server, he is able to connect to the master server, and the master server says that he is requesting the host list…

where should I go from here in debugging this issue? any tips?

After forwarding ports and turning off windows firewall, Ulink master server still supplies the Internal IP address of a server when it registers, even though it can clearly see the public IP address the server provided when registering. So far as I can tell, the only way to have a server work is for that server to be run on a machine with a public IP address.