예제 #1
0
        public async Task Start()
        {
            if (!await CanStart())
            {
                return;
            }

            var settings = await _context.FarmSettings;

            var launchers = await _clientHandler.GetLaunchers(settings.ApiKey);

            var launcher = launchers?.FirstOrDefault(l => l.Hostname == settings.Hostname);

            if (launcher == null)
            {
                return;
            }

            _settingsService.ActivateFarmSettings();

            var state = await GetFarmState();

            state.Running       = true;
            state.Start         = _dateTime.UtcNow;
            state.SocketAddress = launcher.SocketAddress;

            await _context.SaveChangesAsync();
        }