Found the problem. You will note that I add the Component and do not have it available from the start, on the object. I guess what I need to do does not matter whether I got it on there or not cause I can't provide the correct address in the editor.
So what is happening is that TNTcpLobbyClient.OnEnable gets called, the address is empty so IPAddress.Broadcast is used and it is stuck with that. I hacke dit and made TNTcpLobbyClient.mRemoteAddress public so I can disable the component, set that variable to null and then when I enable the component again it will init correctly.
Is there allready a way to deal with this or perhaps a feature request is in order? I need a way to specify a different address for the lobby to use after Awake/Start/OnEnable.
Here is what I do now. This works for me and I can now get the list of server from a remote lobby.
protected void Start()
{
if (Application.isPlaying)
{
TNet.Tools.ResolveIPs(null);
Screen.sleepTimeout = SleepTimeout.NeverSleep;
LobbyAddress = plyUtil.ReadHostFile(LobbyAddress);
lobby = gameObject.AddComponent<TNTcpLobbyClient>();
lobby.enabled = false; // will enable it when I actually need it
lobby.remoteAddress = LobbyAddress;
lobby.remotePort = LobbyPort;
(lobby as TNTcpLobbyClient).mRemoteAddress = null; // get rid of the incorrect address
}
}