/// <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(); }
// 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(); }