public void DirectConnection() { Netplay.ListenPort = _port; Netplay.SetRemoteIP("127.0.0.1"); Netplay.Connection.Socket.Close(); Netplay.StartTcpClient(); }
public static void LoadWorld(On.Terraria.IO.WorldFile.orig_loadWorld orig, bool loadFromCloud) { int startingPort; ChatServer.instance.Load(); if (Main.netMode == 0) { startingPort = 7777; StartServer(ref startingPort, false); Main.netMode = 1; Netplay.SetRemoteIP("127.0.0.1"); Netplay.ListenPort = 7777; Netplay.Connection.Socket.Close(); Netplay.StartTcpClient(); } else if (Main.netMode == 2) { orig.Invoke(loadFromCloud); if (Netplay.ListenPort == 7777 && Program.LaunchParameters.ContainsKey("FromHost")) { startingPort = 7778; StartServer(ref startingPort, true); } if (Program.LaunchParameters.ContainsKey("-port")) { Netplay.ListenPort = Int32.Parse(Program.LaunchParameters["-port"]); } Dimlibs.Instance.Logger.Info(Netplay.ListenPort); Dimlibs.dimensionInstanceHandlers[Dimlibs.dimension].handler.Load(); } }
/// <summary> /// Connects the current machine to a server to begin a game. Meant to be called from the main menu. /// </summary> /// <param name="ip"></param> /// <param name="port"></param> public static void JoinServer(string ip, int port) { Main.autoPass = false; Netplay.ListenPort = port; Main.getIP = ip; Main.defaultIP = ip; if (Netplay.SetRemoteIP(ip)) { Main.menuMode = 10; Netplay.StartTcpClient(); } }
private void SaveAndConnectClick(UIMouseEvent evt, UIElement listeningElement) { SaveServer(); Main.autoPass = false; Netplay.ListenPort = BetterServerList.ActiveServer.Port; Main.getIP = BetterServerList.ActiveServer.Address; if (Netplay.SetRemoteIP(Main.getIP)) { Main.menuMode = 10; Netplay.StartTcpClient(); } }
public void Load() { //Dimlibs.Instance.Logger.Info("Is chat socket open? " + IsChatOpen()); Dimlibs.Instance.Logger.Info("Chat is initializing"); try { if (!Program.LaunchParameters.ContainsKey("-chat")) { TcpListener listener = new TcpListener(IPAddress.Any, _port); listener.Start(); ThreadPool.QueueUserWorkItem(InitializeChatRelay, listener); } } catch (Exception e) { Console.WriteLine(e); } while (true) { if (_socket != null && _socket.IsConnected()) { break; } } if (Main.netMode == 2) { On.Terraria.Net.NetManager.SendToServer += NetManagerOnSendToServer; _socket = new TcpSocket(); Netplay.SetRemoteIP("127.0.0.1"); _socket.Connect(new Terraria.Net.TcpAddress(Netplay.ServerIP, _port)); connection = new RemoteServer(); connection.Socket = _socket; connection.ReadBuffer = new byte[ushort.MaxValue]; } else { On.Terraria.Net.NetManager.SendToClient += NetManagerOnSendToClient; _socket = new TcpSocket(); Netplay.SetRemoteIP("127.0.0.1"); _socket.Connect(new Terraria.Net.TcpAddress(Netplay.ServerIP, _port)); connection = new RemoteServer(); connection.Socket = _socket; connection.ReadBuffer = new byte[ushort.MaxValue]; } Dimlibs.Instance.Logger.Info("Chat is initialized and ready to go"); }