private void Launch(ProxyServer proxyServer) { var settings = Helpers.LoadSettings(this._config.KeyName); var binFile = Path.GetFileNameWithoutExtension(settings.ClientBin); var ip = (uint)IPAddress.NetworkToHostOrder(BitConverter.ToInt32(IPAddress.Parse("127.0.0.1").GetAddressBytes(), 0)); var revertResolution = new User32.DevMode(); if (settings.Resize) { revertResolution = LineageClient.ChangeDisplaySettings(settings.Resolution.Width, settings.Resolution.Height, settings.Resolution.Colour); } else if (settings.Windowed) { revertResolution = LineageClient.ChangeDisplayColour(this._isWin8OrHigher ? 32 : 16); } Lineage.Run(settings, this._config.InstallDir, settings.ClientBin, ip, (ushort)proxyServer.LocalPort); var client = new LineageClient(this._config.KeyName, binFile, this._config.InstallDir, proxyServer, Clients); client.Initialize(); if (settings.Centred) { var windowSize = Screen.PrimaryScreen.WorkingArea; client.SetCentred(windowSize.Width, windowSize.Height); } if (settings.CaptureMouse) { client.SetAllowCapture(); } lock (this._lockObject) Clients.Add(client); if (!tmrCheckProcess.Enabled) { this._revertResolution = revertResolution; this.tmrCheckProcess.Enabled = true; } if (!tmrProxyStatus.Enabled) { tmrProxyStatus.Enabled = true; } }
private void Launch(Server server) { var settings = Helpers.LoadSettings(this._config.KeyName); var binFile = Path.GetFileNameWithoutExtension(settings.ClientBin); var binpath = Path.Combine(this._config.InstallDir, binFile); IPAddress[] ipOrDns; try { ipOrDns = Dns.GetHostAddresses(server.IpOrDns); } catch (SocketException) { MessageBox.Show(@"There was an error connecting to the server. Check the forums for any issues.", @"Error Connecting!", MessageBoxButtons.OK, MessageBoxIcon.Error); this.CheckServerStatus(false); return; } var revertResolution = new Win32Api.DevMode(); if (settings.Resize) { revertResolution = LineageClient.ChangeDisplaySettings(settings.Resolution.Width, settings.Resolution.Height, settings.Resolution.Colour); } else if (settings.Windowed) { revertResolution = LineageClient.ChangeDisplayColour(this._isWin8OrHigher ? 32 : 16); } try { ProxyServer proxyServer = null; if (settings.UseProxy) { proxyServer = new ProxyServer(); proxyServer.LocalAddress = "127.0.0.1"; proxyServer.LocalPort = new Random().Next(1025, 50000); proxyServer.RemoteAddress = server.IpOrDns; proxyServer.RemotePort = server.Port; proxyServer.Start(); } if (Lineage.Run(settings, this._config.InstallDir, settings.ClientBin, (ushort)(settings.UseProxy ? proxyServer.LocalPort : server.Port), settings.UseProxy ? null : ipOrDns[0])) { var client = new LineageClient(this._config.KeyName, binFile, this._config.InstallDir, proxyServer, ipOrDns[0], server.Port, Clients); client.Initialize(); lock (this._lockObject) Clients.Add(client); if (!tmrCheckProcess.Enabled) { this._revertResolution = revertResolution; this.tmrCheckProcess.Enabled = true; } if (!settings.Windowed && this._isWin8OrHigher) { this.Win10SetClientFocus(); } } else { MessageBox.Show("There was an error injecting into the Lineage client. Try running it again!", "Error Launching!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception) { MessageBox.Show("An unknown error occurred launching the Lineage client. Try running it again!", "Error Launching!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }