public void AddServer(Fork.Logic.Model.Settings.Server server, string name) { NetworkExternalServer networkExternalServer = new NetworkExternalServer(server, name); if (!Network.Config.servers.ContainsKey(name)) { Application.Current.Dispatcher?.Invoke(() => Servers.Add(networkExternalServer)); SaveSettings(); } }
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); }