private void CreateServer(string ServerName)
        {
            string oldSettingValue = settingsFramework.ReadSetting(_servers);

            if (oldSettingValue != null)
            {
                List <string> _Servers = oldSettingValue.Split(new string[] { seperator }, StringSplitOptions.RemoveEmptyEntries).ToList();

                foreach (string s in _Servers)
                {
                    if (s.ToUpper() == ServerName.ToUpper())
                    {
                        ILogger.AddToLog("WARN", "Server already exist!"); return;
                    }
                }

                _Servers.Add(ServerName);
                string newSettingValue = string.Join(seperator, _Servers);
                settingsFramework.EditSetting(_servers, newSettingValue);
            }
            else
            {
                string newSettingValue = ServerName + seperator;
                settingsFramework.EditSetting(_servers, newSettingValue);
            }

            UniversalServerObject newServer = new UniversalServerObject(ServerName, Environment.CurrentDirectory);

            servers.Add(newServer);

            ILogger.AddToLog("INFO", "Created " + ServerName + " sucessfully! Please start the server.");
        }
        private void StartServer(string ServerName)
        {
            UniversalServerObject serverObject = GetServerObject(ServerName);

            if (serverObject == null)
            {
                ILogger.AddToLog("INFO", "Server doesn't exist!"); return;
            }
            serverObject.StartListener();
            ILogger.AddToLog("INFO", ServerName + " is now listening for connections!");
        }
        private void EditServerSetting(string ServerName, string SettingName, string SettingValue)
        {
            UniversalServerObject serverObject = GetServerObject(ServerName);

            if (serverObject == null)
            {
                ILogger.AddToLog("EROR", "Server Object is null!"); return;
            }

            serverObject.settingsFramework.EditSetting(SettingName, SettingValue);

            ILogger.AddToLog("INFO", "Wrote " + SettingValue + " in " + SettingName);
        }
        public CommandLine()
        {
            settingsFramework = new GFS(Environment.CurrentDirectory + @"\" + "UniversalSettings.dll");
            ILogger.SetLoggingEvents();

            //CheckForSystemUpdate();

            string oldSettingValue = settingsFramework.ReadSetting(_servers);

            if (oldSettingValue != null)
            {
                List <string> _Servers = oldSettingValue.Split(new string[] { seperator }, StringSplitOptions.RemoveEmptyEntries).ToList();

                foreach (string s in _Servers)
                {
                    UniversalServerObject USO = new UniversalServerObject(s, Environment.CurrentDirectory);
                    servers.Add(USO);
                }
            }

            new Thread(new ThreadStart(() => { commandLine(); })).Start();
        }
        private void Exit(string ServerName = null)
        {
            if (ServerName == null)
            {
                foreach (UniversalServerObject serverObject in servers)
                {
                    serverObject.Dispose();
                }

                Environment.Exit(1);
            }
            else
            {
                UniversalServerObject serverObject = GetServerObject(ServerName);
                if (serverObject == null)
                {
                    ILogger.AddToLog("EROR", "Server Object is null!");  return;
                }

                serverObject.Dispose();
                ILogger.AddToLog("INFO", "Dispose of the server sucessfully.");
            }
        }