Ejemplo n.º 1
0
        private void StartConan()
        {
            var processStartInfo = new ProcessStartInfo
            {
                FileName  = $"{_settings.Conan.FolderPath}{_settings.Conan.Executable}",
                Arguments = $"{_settings.Conan.StartupParameters} -log",
                RedirectStandardOutput = false,
                UseShellExecute        = false
            };
            Process process = Process.Start(processStartInfo);

            if (_general != null)
            {
                _general.StartServices();
            }

            try
            {
                //Higher priority
                Thread.Sleep(5000);
                Process.GetProcesses().Where(c => c.ProcessName.Contains("ConanSandboxServer")).ToList().ForEach(p => p.PriorityClass = ProcessPriorityClass.High);
            }
            catch (Exception e)
            {
                Log.Error(e, "Failed to higher priority of ConanSandboxServer");
            }
        }
Ejemplo n.º 2
0
        public async Task <bool> StartUpdater()
        {
            _quitEvent = new ManualResetEvent(false);
            await Task.Run(() => {
                Log.Information("ConanExilesUpdater Started Running {DateAndTime}", DateTime.UtcNow);

                CheckForUpdate();

                if (_settings.Update.ShouldInstallSteamCmdIfMissing)
                {
                    InstallSteamCmd();
                }

                if (_settings.Update.ShouldInstallConanServerIfMissing)
                {
                    InstallConanServer();
                }

                if (_settings.Update.UpdateOnLaunch)
                {
                    var process = Process.GetProcesses().Where(c => c.ProcessName.Contains("ConanSandboxServer")).FirstOrDefault();
                    if (process == null)
                    {
                        var doUpdate = DetectUpdate();
                        if (doUpdate)
                        {
                            DoServerUpdateInstall();
                            StartConan();
                        }
                    }
                }

                if (_settings.Update.AnnounceTwitch)
                {
                    _twitchClient = new TwitchService(_settings);
                }
                if (_settings.Update.AnnounceDiscord)
                {
                    _discordClient = new DiscordService(_settings);
                }
                if (_settings.Update.AnnounceRCON)
                {
                    _rconClient = new RCONService(_settings);
                }

                _general = new GeneralServices(_settings, _discordClient, _twitchClient, _rconClient, _messages);
                _general.StartServices();
                RunUpdateChecks();
                _quitEvent.WaitOne();
            });

            return(true);
        }
Ejemplo n.º 3
0
        private void StartConan()
        {
            var processStartInfo = new ProcessStartInfo
            {
                FileName  = $"{_settings.Conan.FolderPath}{_settings.Conan.Executable}",
                Arguments = $"{_settings.Conan.StartupParameters} -log",
                RedirectStandardOutput = false,
                UseShellExecute        = false
            };

            Process.Start(processStartInfo);
            _general.StartServices();
        }