コード例 #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;
            }
        }