Ejemplo n.º 1
0
        public void AddServer(ServerViewModel serverViewModel, int index)
        {
            string uid = serverViewModel.Server.UID;

            Fork.Logic.Model.Settings.Server server = new Logic.Model.Settings.Server
            {
                address       = "0.0.0.0:" + serverViewModel.Server.ServerSettings.ServerPort,
                ForkServer    = true,
                ForkServerUid = uid,
                motd          = serverViewModel.Server.ServerSettings.Motd,
                restricted    = false
            };
            NetworkForkServer networkForkServer =
                new NetworkForkServer(serverViewModel, server, serverViewModel.Server.Name);

            bool contains = false;

            foreach (NetworkServer networkServer in Servers)
            {
                if (networkServer is NetworkForkServer ForkServer)
                {
                    if (ForkServer.ServerViewModel.Server.UID.Equals(uid))
                    {
                        contains = true;
                    }
                }
            }

            if (!contains)
            {
                Application.Current.Dispatcher?.Invoke(() => Servers.Insert(index, networkForkServer));
                SaveSettings();
            }
        }
Ejemplo n.º 2
0
        private void OpenServer_Click(object sender, MouseButtonEventArgs e)
        {
            TextBlock         textBlock         = sender as TextBlock;
            NetworkForkServer networkForkServer = textBlock.DataContext as NetworkForkServer;

            ApplicationManager.Instance.MainViewModel.SelectedEntity = networkForkServer.ServerViewModel;
        }
Ejemplo n.º 3
0
        private void LoadServersFromConfig(BungeeSettings settings)
        {
            while (!ServerManager.Initialized)
            {
                Thread.Sleep(500);
            }

            List <NetworkServer> servers = new List <NetworkServer>();

            if (settings.servers == null)
            {
                Servers = new ObservableCollection <NetworkServer>();
                return;
            }

            foreach (var settingsServer in settings.servers)
            {
                string name = settingsServer.Key;
                if (settingsServer.Value.ForkServer)
                {
                    EntityViewModel viewModel =
                        ServerManager.Instance.GetEntityViewModelByUid(settingsServer.Value.ForkServerUid);
                    if (viewModel is ServerViewModel serverViewModel)
                    {
                        NetworkForkServer server = new NetworkForkServer(serverViewModel, settingsServer.Value, name);
                        servers.Add(server);
                    }
                    else
                    {
                        Console.WriteLine("[FATAL] Error finding server with UID " +
                                          settingsServer.Value.ForkServerUid + " for network " + Network.Name);
                        ErrorLogger.Append(new Exception("[FATAL] Error finding server with UID " +
                                                         settingsServer.Value.ForkServerUid + " for network " +
                                                         Network.Name));
                    }
                }
                else
                {
                    NetworkExternalServer server = new NetworkExternalServer(settingsServer.Value, name);
                    servers.Add(server);
                }
            }

            Servers = new ObservableCollection <NetworkServer>(servers);
        }