public static void Run <T>(string[] args) where T : MyObjectBuilder_SessionSettings, new() { if (DedicatedServer.ProcessArgs(args)) { return; } if (Environment.UserInteractive) { MyPlugins.RegisterGameAssemblyFile(MyPerGameSettings.GameModAssembly); MyPlugins.RegisterGameObjectBuildersAssemblyFile(MyPerGameSettings.GameModObjBuildersAssembly); MyPlugins.RegisterSandboxAssemblyFile(MyPerGameSettings.SandboxAssembly); MyPlugins.RegisterSandboxGameAssemblyFile(MyPerGameSettings.SandboxGameAssembly); MyPlugins.RegisterFromArgs(args); MyPlugins.Load(); bool resultRegisterAssemblies = MyObjectBuilderType.RegisterAssemblies(); Debug.Assert(resultRegisterAssemblies, "Registering object builders types from assemblies failed."); resultRegisterAssemblies = MyObjectBuilderSerializer.RegisterAssembliesAndLoadSerializers(); Debug.Assert(resultRegisterAssemblies, "Registering object builders serializers from assemblies failed."); ShowWindow(GetConsoleWindow(), SW_HIDE); MyConfigurator.Start <T>(); MyPlugins.Unload(); return; } else { MyServiceBase.Run(new WindowsService()); return; } }
public static void Run <T>(string[] args) where T : MyObjectBuilder_SessionSettings, new() { if (DedicatedServer.ProcessArgs(args)) { return; } if (Environment.UserInteractive) { MyPlugins.RegisterGameAssemblyFile(MyPerGameSettings.GameModAssembly); MyPlugins.RegisterSandboxAssemblyFile(MyPerGameSettings.SandboxAssembly); MyPlugins.RegisterSandboxGameAssemblyFile(MyPerGameSettings.SandboxGameAssembly); MyPlugins.RegisterFromArgs(args); MyPlugins.Load(); ShowWindow(GetConsoleWindow(), SW_HIDE); MyConfigurator.Start <T>(); MyPlugins.Unload(); return; } else { MyServiceBase.Run(new WindowsService()); return; } }
/// <summary> /// Manually initializes definitions and other stuff we need to load the DS config serializer. /// Touch this and die. /// </summary> private static void InitSandbox() { FileSystem.InitMyFileSystem(); //Infinario should be disabled on DS MyFakes.ENABLE_INFINARIO = false; MyLog.Default = MySandboxGame.Log; MySandboxGame.Config = new MyConfig("SpaceEngineers.cfg"); MySandboxGame.Config.Load(); SpaceEngineersGame.SetupPerGameSettings(); SpaceEngineersGame.SetupBasicGameInfo(); //all this is basically copied from the MySandboxGame ctor //manually initializing this stuff prevents Steam from detecting SESE as an instance of the game MyPlugins.RegisterGameAssemblyFile(MyPerGameSettings.GameModAssembly); if (MyPerGameSettings.GameModBaseObjBuildersAssembly != null) { MyPlugins.RegisterBaseGameObjectBuildersAssemblyFile(MyPerGameSettings.GameModBaseObjBuildersAssembly); } MyPlugins.RegisterGameObjectBuildersAssemblyFile(MyPerGameSettings.GameModObjBuildersAssembly); MyPlugins.RegisterSandboxAssemblyFile(MyPerGameSettings.SandboxAssembly); MyPlugins.RegisterSandboxGameAssemblyFile(MyPerGameSettings.SandboxGameAssembly); MyPlugins.RegisterFromArgs(null); MyPlugins.Load(); MyGlobalTypeMetadata.Static.Init(); MyDefinitionManager.Static.PreloadDefinitions(); MyDefinitionManager.Static.PrepareBaseDefinitions(); MyDefinitionManager.Static.LoadScenarios(); //MyTutorialHelper.Init(); System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(typeof(MyObjectBuilder_Base).TypeHandle); }