public Server getDataFromXML() { Server loginserver = null; try { //path = "http://loginapi.brokendiamond.org/servers.xml"; path = "http://loginapi.clockworkconflicts.com/servers.xml"; XmlTextReader reader = new XmlTextReader(path); string extIP = null; string intIP = null; int serverPort = 0; string serverStatus = null; while (reader.Read()) { while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "status": serverStatus = reader.ReadInnerXml(); break; case "ExternalIp": extIP = reader.ReadInnerXml(); break; case "InternalIp": intIP = reader.ReadInnerXml(); break; case "port": serverPort = Convert.ToInt32(reader.ReadInnerXml()); break; } } } } if (serverPort != 0) { string ownExtIp = GetExternalIp(); string ownIntIp = getInternalIp(); int index = -1; index = extIP.LastIndexOf('.'); string extIP2 = extIP.Substring(0, index); index = -1; index = ownExtIp.LastIndexOf('.'); string ownExtIp2 = ownExtIp.Substring(0, index); if (extIP != ownExtIp) { Debug.Log("Connecting to: " + extIP); loginserver = new Server(serverPort, "Loginserver", serverStatus, extIP); } else if (intIP != ownIntIp) { Debug.Log("Connecting to: " + intIP); loginserver = new Server(serverPort, "Loginserver", serverStatus, intIP); } else { loginserver = new Server(serverPort, "Loginserver", serverStatus, "127.0.0.1"); Debug.Log("Connecting to: 127.0.0.1"); } Debug.Log("Internal: " + ownIntIp + "/" + intIP + " External:" + ownExtIp + "/" + extIP); } } //Show the exeption in debugmode catch (Exception e) { GuiController.getInstance().SetDebugText("XMLHandler error: " + e.ToString()); //loginserver = new Server(26800, "Loginserver", "Online", "127.0.0.1"); } return loginserver; }
public void setMode(int mode, string ip = null) { switch (mode) { case 0: if (ip != null) { loginServer = new Server(26800, "Loginserver", "Online", ip); } else { loginServer = new Server(26800, "Loginserver", "Online", "192.168.189.5"); } break; case 1: loginServer = new Server(26800, "Loginserver", "Online", "127.0.0.1"); break; default: loginServer = persistenceController.getLoginServer(); break; } }