Example #1
0
        /// <summary>
        /// Acts as the main entry point of the launcher.
        /// </summary>
        /// <param name="args">The arguments supplied to the launcher.</param>
        public static void Main(string[] args)
        {
            var log = SetupLog();

            using var kernel = new OrionKernel(log);
            SetupPlugins(kernel);
            SetupLanguage();

            kernel.Raise(new ServerArgsEvent(args), log);

            using var game = new Terraria.Main();
            game.DedServ();
        }
Example #2
0
        // Sets up plugins.
        private static void SetupPlugins(OrionKernel kernel)
        {
            Directory.CreateDirectory("plugins");

            foreach (var path in Directory.EnumerateFiles("plugins", "*.dll"))
            {
                try {
                    var assembly = Assembly.LoadFile(path);
                    kernel.LoadFrom(assembly);
                } catch (BadImageFormatException) { }
            }

            kernel.Initialize();
        }