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; } }