/// <summary> /// UDP_Init /// </summary> public bool Init() { _IsInitialized = false; if (Common.HasParam("-noudp")) { return(false); } // determine my name string hostName; try { hostName = Dns.GetHostName(); } catch (SocketException se) { Con.DPrint("Cannot get host name: {0}\n", se.Message); return(false); } // if the quake hostname isn't set, set it to the machine name if (Net.HostName == "UNNAMED") { IPAddress addr; if (!IPAddress.TryParse(hostName, out addr)) { int i = hostName.IndexOf('.'); if (i != -1) { hostName = hostName.Substring(0, i); } } Cvar.Set("hostname", hostName); } int i2 = Common.CheckParm("-ip"); if (i2 > 0) { if (i2 < Common.Argc - 1) { string ipaddr = Common.Argv(i2 + 1); if (!IPAddress.TryParse(ipaddr, out _MyAddress)) { Sys.Error("{0} is not a valid IP address!", ipaddr); } Net.MyTcpIpAddress = ipaddr; } else { Sys.Error("Net.Init: you must specify an IP address after -ip"); } } else { _MyAddress = IPAddress.Any; Net.MyTcpIpAddress = "INADDR_ANY"; } _ControlSocket = OpenSocket(0); if (_ControlSocket == null) { Con.Print("TCP/IP: Unable to open control socket\n"); return(false); } _BroadcastAddress = new IPEndPoint(IPAddress.Broadcast, Net.HostPort); _IsInitialized = true; Con.Print("TCP/IP Initialized\n"); return(true); }