示例#1
0
        void CheckForExistingVersion()
        {
            Interface = new ServerInterface();
            var verifiedConnection = Interface.ConnectionStatus().HasFlag(ConnectivityLevel.Administrator);

            try
            {
                VersionLabel.Text = Interface.GetServiceComponent <ITGSService>().Version();
                var splits      = VersionLabel.Text.Split(' ');
                var realVersion = new Version(splits[splits.Length - 1].Substring(1));
                var isV0        = realVersion < new Version(3, 1, 0, 0);
                if (isV0)                 //OH GOD!!!!
                {
                    MessageBox.Show("Upgrading from version 3.0 may trigger a bug that can delete /config and /data. IT IS STRONGLY RECCOMMENDED THAT YOU BACKUP THESE FOLDERS BEFORE UPDATING!", "Warning");
                }
                var isUnderV2 = isV0 || realVersion < new Version(3, 2, 0, 0);
                if (isUnderV2)
                {
                    //Friendly reminger
                    MessageBox.Show("Upgrading to service version 3.2 will break the 3.1 DMAPI. It is recommended you update your game to the 3.2 API before updating the servive to avoid having to trigger hard restarts.", "Note");
                }
                attemptNetSettingsMigration = isUnderV2;
            }
            catch
            {
                if (verifiedConnection)
                {
                    VersionLabel.Text = "< v3.0.85.0 (Missing ITGService.Version())";
                }
            }
        }
示例#2
0
        bool TellServiceWereComingForThem()
        {
            var connectionVerified = Interface.ConnectionStatus().HasFlag(ConnectivityLevel.Administrator);

            try
            {
                Interface.GetServiceComponent <ITGSService>().PrepareForUpdate();
                Thread.Sleep(3000);                 //chat messages
                return(true);
            }
            catch
            {
                return(ConfirmDangerousUpgrade());
            }
        }
示例#3
0
        public CLICommand(IServerInterface I)
        {
            var tmp = new List <Command> {
                new UpdateCommand(), new TestmergeCommand(), new RepoCommand(), new BYONDCommand(), new DMCommand(), new DDCommand(), new ConfigCommand(), new IRCCommand(), new DiscordCommand(), new AutoUpdateCommand(), new SetAutoUpdateCommand()
            };

            if (I.ConnectToInstance().HasFlag(ConnectivityLevel.Administrator))
            {
                tmp.Add(new AdminCommand());
            }
            if (I.ConnectionStatus().HasFlag(ConnectivityLevel.Administrator))
            {
                tmp.Add(new ServiceCommand());
            }
            Children = tmp.ToArray();
        }
示例#4
0
        /// <summary>
        /// Loads the <see cref="InstanceListBox"/> using <see cref="ITGLanding.ListInstances"/>
        /// </summary>
        async void RefreshInstances()
        {
            InstanceListBox.Items.Clear();
            await WrapServerOp(() => {
                InstanceData = masterInterface.GetServiceComponent <ITGLanding>().ListInstances();
            });

            foreach (var I in InstanceData)
            {
                InstanceListBox.Items.Add(String.Format("{0}: {1} - {2} - {3}", I.LoggingID, I.Name, I.Path, I.Enabled ? "ONLINE" : "OFFLINE"));
            }
            var HasServerAdmin = masterInterface.ConnectionStatus().HasFlag(ConnectivityLevel.Administrator);

            CreateInstanceButton.Enabled = HasServerAdmin;
            ImportInstanceButton.Enabled = HasServerAdmin;
            RenameInstanceButton.Enabled = HasServerAdmin;
            DetachInstanceButton.Enabled = HasServerAdmin;
            EnabledCheckBox.Enabled      = HasServerAdmin;
            if (InstanceData.Count > 0)
            {
                InstanceListBox.SelectedIndex = 0;
            }
        }