/// <summary> /// Runs the plugin manager, by loading all dependencies, plugins, configs and then enables all plugins. /// </summary> /// <param name="dependencies">The dependencies that could have been loaded by Exiled.Bootstrap.</param> public static void Run(Assembly[] dependencies = null) { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? CheckUAC() : geteuid() == 0) { ServerConsole.AddLog("YOU ARE RUNNING THE SERVER AS ROOT / ADMINISTRATOR. THIS IS HIGHLY UNRECOMMENDED. PLEASE INSTALL YOUR SERVER AS A NON-ROOT/ADMIN USER.", ConsoleColor.Red); Thread.Sleep(5000); } if (dependencies?.Length > 0) { Dependencies.AddRange(dependencies); } LoadDependencies(); LoadPlugins(); ConfigManager.Reload(); TranslationManager.Reload(); if (!Config.IsEnabled) { Log.Warn("Loading EXILED has been disabled in a config. No plugins will be enabled."); return; } EnablePlugins(); BuildInfoCommand.ModDescription = string.Join( "\n", AppDomain.CurrentDomain.GetAssemblies() .Where(a => a.FullName.StartsWith("Exiled.", StringComparison.OrdinalIgnoreCase)) .Select(a => $"{a.GetName().Name} - Version {a.GetName().Version.ToString(3)}")); ServerConsole.AddLog( @"Welcome to ▄████████ ▀████ ▐████▀ ▄█ ▄█ ▄████████ ████████▄ ███ ███ ███▌ ████▀ ███ ███ ███ ███ ███ ▀███ ███ █▀ ███ ▐███ ███▌ ███ ███ █▀ ███ ███ ▄███▄▄▄ ▀███▄███▀ ███▌ ███ ▄███▄▄▄ ███ ███ ▀▀███▀▀▀ ████▀██▄ ███▌ ███ ▀▀███▀▀▀ ███ ███ ███ █▄ ▐███ ▀███ ███ ███ ███ █▄ ███ ███ ███ ███ ▄███ ███▄ ███ ███▌ ▄ ███ ███ ███ ▄███ ██████████ ████ ███▄ █▀ █████▄▄██ ██████████ ████████▀ ▀ ", ConsoleColor.Green); }