private static void ParsedMain(CommandLineArgs args, bool contentStart, ServerOptions options) { Thread.CurrentThread.Name = "Main Thread"; IoCManager.InitThread(); ServerIoC.RegisterIoC(); IoCManager.BuildGraph(); SetupLogging(); InitReflectionManager(); var server = IoCManager.Resolve <IBaseServerInternal>(); server.ContentStart = contentStart; server.SetCommandLineArgs(args); Logger.Info("Server -> Starting"); if (server.Start(options)) { Logger.Fatal("Server -> Can not start server"); //Not like you'd see this, haha. Perhaps later for logging. return; } string strVersion = Assembly.GetExecutingAssembly().GetName().Version !.ToString(); Logger.Info("Server Version " + strVersion + " -> Ready"); server.MainLoop(); Logger.Info("Goodbye."); // Used to dispose of systems that want to be disposed. // Such as the log manager. IoCManager.Clear(); }
internal static void Main(string[] args) { IoCManager.InitThread(); ServerIoC.RegisterIoC(); IoCManager.BuildGraph(); SetupLogging(); InitReflectionManager(); HandleCommandLineArgs(args); var server = IoCManager.Resolve <IBaseServer>(); Logger.Info("Server -> Starting"); if (server.Start()) { Logger.Fatal("Server -> Can not start server"); //Not like you'd see this, haha. Perhaps later for logging. //Environment.Exit(0); } string strVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); Logger.Info("Server Version " + strVersion + " -> Ready"); IoCManager.Resolve <ISignalHandler>().MaybeStart(); server.MainLoop(); Logger.Info("Goodbye."); // Used to dispose of systems that want to be disposed. // Such as the log manager. IoCManager.Clear(); }
private static void ParsedMain(CommandLineArgs args, bool contentStart) { Thread.CurrentThread.Name = "Main Thread"; IoCManager.InitThread(); ServerIoC.RegisterIoC(); IoCManager.BuildGraph(); SetupLogging(); InitReflectionManager(); var server = IoCManager.Resolve <IBaseServerInternal>(); // When the game is ran with the startup executable being content, // we have to disable the separate load context. // Otherwise the content assemblies will be loaded twice which causes *many* fun bugs. server.DisableLoadContext = contentStart; server.SetCommandLineArgs(args); Logger.Info("Server -> Starting"); if (server.Start()) { Logger.Fatal("Server -> Can not start server"); //Not like you'd see this, haha. Perhaps later for logging. return; } string strVersion = Assembly.GetExecutingAssembly().GetName().Version !.ToString(); Logger.Info("Server Version " + strVersion + " -> Ready"); IoCManager.Resolve <ISignalHandler>().MaybeStart(); server.MainLoop(); Logger.Info("Goodbye."); // Used to dispose of systems that want to be disposed. // Such as the log manager. IoCManager.Clear(); }