var data : HostData[] = MasterServer.PollHostList();
// Go through all the hosts in the host list
for (var element in data)
{
GUILayout.BeginHorizontal();
GUILayout.Space(20);
var name = element.gameName + " " + element.connectedPlayers + " / " + element.playerLimit;
GUILayout.Label(name);
GUILayout.Space(5);
var hostInfo;
hostInfo = "[";
for (var host in element.ip)
hostInfo = hostInfo + host + ":" + element.port + " ";
hostInfo = hostInfo + "]";
GUILayout.Label(hostInfo);
GUILayout.Space(5);
GUILayout.Label(element.comment);
GUILayout.Space(5);
GUILayout.FlexibleSpace();
if (GUILayout.Button("Connect"))
{
connectStatus="Connecting";
// Set NAT functionality based on the host information
Network.useNat=!Network.HavePublicAddress;
if (Network.useNat)
print("Using Nat punchthrough to connect to host");
else
print("Connecting directly to host");
Network.Connect(element.ip, element.port);
}
GUILayout.EndHorizontal();
}
GUI.Label(Rect(25,220,300,300),connectStatus);
if (GUI.Button (Rect (25,200,100,20), "Refresh List")) {
connectStatus="Refreshing";
//MasterServer.ClearHostList();
MasterServer.RequestHostList("StealthReduxCoop");
The problem with this code is that it shows only one server at a time, even if 2 or more servers are hosted. In the image below , 2 servers were hosted , Scout's server was hosted second. When the other server shut down and rehosted while scout's server was still running , it showed the other server.
Image may be NSFW.
Clik here to view.