public void SaveNamedPrimsToXml2(string primName, string filename) { IRegionSerialiserModule serialiser = CurrentOrFirstScene.RequestModuleInterface <IRegionSerialiserModule>(); if (serialiser != null) { serialiser.SaveNamedPrimsToXml2(CurrentOrFirstScene, primName, filename); } }
/// <summary> /// Load an xml file of prims in OpenSimulator's current 'xml2' file format to the current scene /// </summary> public void LoadCurrentSceneFromXml2(string filename) { IRegionSerialiserModule serialiser = CurrentOrFirstScene.RequestModuleInterface <IRegionSerialiserModule>(); if (serialiser != null) { serialiser.LoadPrimsFromXml2(CurrentOrFirstScene, filename); } }
/// <summary> /// Save the current scene to an OpenSimulator archive. This archive will eventually include the prim's assets /// as well as the details of the prims themselves. /// </summary> /// <param name="cmdparams"></param> public void SaveCurrentSceneToArchive(string[] cmdparams) { IRegionArchiverModule archiver = CurrentOrFirstScene.RequestModuleInterface <IRegionArchiverModule>(); if (archiver != null) { archiver.HandleSaveOarConsoleCommand(string.Empty, cmdparams); } }
/// <summary> /// Save a region to a file, including all the assets needed to restore it. /// </summary> /// <param name="cmdparams"></param> protected void SaveOar(string[] cmdparams) { IRegionArchiverModule archiver = CurrentOrFirstScene.RequestModuleInterface <IRegionArchiverModule>(); if (archiver != null) { archiver.HandleSaveOarConsoleCommand(cmdparams); } }
/// <summary> /// Load an xml file of prims in OpenSimulator's original 'xml' file format to the current scene /// </summary> /// <param name="filename"></param> /// <param name="generateNewIDs"></param> /// <param name="loadOffset"></param> public void LoadCurrentSceneFromXml(string filename, bool generateNewIDs, Vector3 loadOffset) { IRegionSerialiserModule serialiser = CurrentOrFirstScene.RequestModuleInterface <IRegionSerialiserModule>(); if (serialiser != null) { serialiser.LoadPrimsFromXml(CurrentOrFirstScene, filename, generateNewIDs, loadOffset); } }
/// <summary> /// Load a whole region from an opensimulator archive. /// </summary> /// <param name="cmdparams"></param> protected void LoadOar(string module, string[] cmdparams) { try { IRegionArchiverModule archiver = CurrentOrFirstScene.RequestModuleInterface <IRegionArchiverModule>(); if (archiver != null) { archiver.HandleLoadOarConsoleCommand(string.Empty, cmdparams); } } catch (Exception e) { m_log.Error(e.ToString()); } }
/// <summary> /// Serialize region data to XML2Format /// </summary> /// <param name="module"></param> /// <param name="cmdparams"></param> protected void SaveXml2(string module, string[] cmdparams) { if (cmdparams.Length > 2) { IRegionSerialiserModule serialiser = CurrentOrFirstScene.RequestModuleInterface <IRegionSerialiserModule>(); if (serialiser != null) { serialiser.SavePrimsToXml2(CurrentOrFirstScene, cmdparams[2]); } } else { m_log.Warn("Wrong number of parameters!"); } }
/// <summary> /// Load region data from Xml2Format /// </summary> /// <param name="module"></param> /// <param name="cmdparams"></param> protected void LoadXml2(string module, string[] cmdparams) { if (cmdparams.Length > 2) { try { IRegionSerialiserModule serialiser = CurrentOrFirstScene.RequestModuleInterface <IRegionSerialiserModule>(); if (serialiser != null) { serialiser.LoadPrimsFromXml2(CurrentOrFirstScene, cmdparams[2]); } } catch (FileNotFoundException) { m_log.Info("Specified xml not found. Usage: load xml2 <filename>"); } } else { m_log.Warn("Not enough parameters!"); } }
/// <summary> /// Kicks users off the region /// </summary> /// <param name="cmdparams">name of avatar to kick</param> private void KickUserCommand(string[] cmdparams) { string alert = null; IList agents = new List <IScenePresence>(CurrentOrFirstScene.GetScenePresences()); if (cmdparams.Length < 4) { if (cmdparams.Length < 3) { return; } UUID avID = UUID.Zero; if (cmdparams[2] == "all") { foreach (IScenePresence presence in agents) { RegionInfo regionInfo = presence.Scene.RegionInfo; MainConsole.Instance.Info(String.Format("Kicking user: {0,-16}{1,-37} in region: {2,-16}", presence.Name, presence.UUID, regionInfo.RegionName)); // kick client... if (alert != null) { presence.ControllingClient.Kick(alert); } else { presence.ControllingClient.Kick("\nThe Aurora manager kicked you out.\n"); } // ...and close on our side IEntityTransferModule transferModule = presence.Scene.RequestModuleInterface <IEntityTransferModule> (); if (transferModule != null) { transferModule.IncomingCloseAgent(presence.Scene, presence.UUID); } } } else if (UUID.TryParse(cmdparams[2], out avID)) { foreach (IScenePresence presence in agents) { if (presence.UUID == avID) { RegionInfo regionInfo = presence.Scene.RegionInfo; MainConsole.Instance.Info(String.Format("Kicking user: {0,-16}{1,-37} in region: {2,-16}", presence.Name, presence.UUID, regionInfo.RegionName)); // kick client... if (alert != null) { presence.ControllingClient.Kick(alert); } else { presence.ControllingClient.Kick("\nThe Aurora manager kicked you out.\n"); } // ...and close on our side IEntityTransferModule transferModule = presence.Scene.RequestModuleInterface <IEntityTransferModule> (); if (transferModule != null) { transferModule.IncomingCloseAgent(presence.Scene, presence.UUID); } } } } } if (cmdparams.Length > 4) { alert = String.Format("\n{0}\n", String.Join(" ", cmdparams, 4, cmdparams.Length - 4)); } foreach (IScenePresence presence in agents) { RegionInfo regionInfo = presence.Scene.RegionInfo; string param = Util.CombineParams(cmdparams, 2); if (presence.Name.ToLower().Contains(param.ToLower()) || (presence.Firstname.ToLower().Contains(cmdparams[2].ToLower()) && presence.Lastname.ToLower().Contains(cmdparams[3].ToLower()))) { MainConsole.Instance.Info(String.Format("Kicking user: {0,-16}{1,-37} in region: {2,-16}", presence.Name, presence.UUID, regionInfo.RegionName)); // kick client... if (alert != null) { presence.ControllingClient.Kick(alert); } else { presence.ControllingClient.Kick("\nThe Aurora manager kicked you out.\n"); } // ...and close on our side IEntityTransferModule transferModule = presence.Scene.RequestModuleInterface <IEntityTransferModule> (); if (transferModule != null) { transferModule.IncomingCloseAgent(presence.Scene, presence.UUID); } } } MainConsole.Instance.Info(""); }
private void HandleShowUsers(string[] cmd) { List <string> args = new List <string> (cmd); args.RemoveAt(0); string[] showParams = args.ToArray(); List <IScenePresence> agents = new List <IScenePresence>(); if (showParams.Length > 1 && showParams[1] == "full") { if (MainConsole.Instance.ConsoleScene == null) { foreach (IScene scene in m_localScenes) { agents.AddRange(scene.GetScenePresences()); } } else { agents = CurrentOrFirstScene.GetScenePresences(); } } else { if (MainConsole.Instance.ConsoleScene == null) { foreach (IScene scene in m_localScenes) { agents.AddRange(scene.GetScenePresences()); } } else { agents = CurrentOrFirstScene.GetScenePresences(); } agents.RemoveAll(delegate(IScenePresence sp) { return(sp.IsChildAgent); }); } MainConsole.Instance.Info(String.Format("\nAgents connected: {0}\n", agents.Count)); MainConsole.Instance.Info(String.Format("{0,-16}{1,-16}{2,-37}{3,-11}{4,-16}{5,-30}", "Firstname", "Lastname", "Agent ID", "Root/Child", "Region", "Position")); foreach (IScenePresence presence in agents) { RegionInfo regionInfo = presence.Scene.RegionInfo; string regionName; if (regionInfo == null) { regionName = "Unresolvable"; } else { regionName = regionInfo.RegionName; } MainConsole.Instance.Info(String.Format("{0,-16}{1,-37}{2,-11}{3,-16}{4,-30}", presence.Name, presence.UUID, presence.IsChildAgent ? "Child" : "Root", regionName, presence.AbsolutePosition.ToString())); } MainConsole.Instance.Info(String.Empty); MainConsole.Instance.Info(String.Empty); }