Exemple #1
0
        public Server(string[] args)
        {
            GuiApp.Setup(args);
            ConsoleFunctions.ClearConsole();

            if (!args.Contains("--minimal"))
            {
                for (var i = 0; i < 10; i++)
                {
                    ConsoleFunctions.Write(
                        TextUtils.ToChatText(
                            "\u00A74\u00A7l[ETHO]\u00A7r \u00A7l\u00A7nUSE\u00A77 --minimal\u00A7r \u00A7l\u00A7nIN PROGRAM ARGUMENTS TO FIX ASYNC WRITING OR DEAL W/ IT")
                        );
                }
            }
            ConsoleFunctions.WriteInfoLine("For some reason, writing async in non-minimal console doesn't work.");
            ConsoleFunctions.WriteInfoLine("For some reason, the server doesn't close all threads. Just kill it for now.");
            ConsoleFunctions.WriteInfoLine("Registering default events...");
            EventManager.RegisterDefaultEvents();

            ConsoleFunctions.WriteInfoLine("Loading plugins...");
            PluginManager.RegisterPlugins();

            ConsoleFunctions.WriteInfoLine("Initiating server on {0}", Globals.ProtocolName);
            CurrentDirectory = Directory.GetCurrentDirectory();
            var currentDomain = AppDomain.CurrentDomain;

            currentDomain.UnhandledException += UnhandledException;

            ConsoleFunctions.Pause();
            ConsoleFunctions.WriteInfoLine("Enabling global error handling... ");
            ConsoleFunctions.WriteLine("Enabled.", ConsoleColor.Green);
            ConsoleFunctions.Continue();

            ConsoleFunctions.Pause();
            ConsoleFunctions.WriteInfoLine("Checking if server properties exist... ");
            ConsoleFunctions.WriteLine(LoadSettings() ? "Loading." : "Created.", ConsoleColor.Green);
            ConsoleFunctions.Continue();

            ConsoleFunctions.Pause();
            ConsoleFunctions.WriteInfoLine("Loading server variables... ");
            ConsoleFunctions.WriteLine("Loaded.", ConsoleColor.Green);
            ConsoleFunctions.Continue();

            ConsoleFunctions.Pause();
            ConsoleFunctions.WriteInfoLine("Checking files and directories... ");
            CheckDirectoriesAndFiles();
            ConsoleFunctions.WriteLine("Files are good hopefully.", ConsoleColor.Green);
            ConsoleFunctions.Continue();

            Initiated = true;
        }