internal static void CreateWithEmptyWorld(MyMultiplayerBase multiplayerSession) { Debug.Assert(!Sync.IsServer); Static = new MySession(multiplayerSession.SyncLayer, false); Static.InGameTime = MyObjectBuilder_Checkpoint.DEFAULT_DATE; MyHud.Chat.RegisterChat(multiplayerSession); Static.Gpss.RegisterChat(multiplayerSession); Static.CameraController = MySpectatorCameraController.Static; Static.Settings = new MyObjectBuilder_SessionSettings(); Static.Settings.Battle = true; Static.Settings.AutoSaveInMinutes = 0; Static.IsCameraAwaitingEntity = true; Static.PrepareBaseSession(new List<MyObjectBuilder_Checkpoint.ModItem>()); multiplayerSession.StartProcessingClientMessagesWithEmptyWorld(); if (Sync.IsServer) { Static.InitializeFactions(); } MyLocalCache.ClearLastSessionInfo(); // Player must be created for selection in factions. if (!Engine.Platform.Game.IsDedicated && Static.LocalHumanPlayer == null) { Sync.Players.RequestNewPlayer(0, MySteam.UserName, null); } MyNetworkStats.Static.ClearStats(); Sync.Layer.TransportLayer.ClearStats(); }