Exemplo n.º 1
0
        public void SaveNamedPrimsToXml2(string primName, string filename)
        {
            IRegionSerialiserModule serialiser = CurrentOrFirstScene.RequestModuleInterface <IRegionSerialiserModule>();

            if (serialiser != null)
            {
                serialiser.SaveNamedPrimsToXml2(CurrentOrFirstScene, primName, filename);
            }
        }
Exemplo n.º 2
0
        /// <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);
            }
        }
Exemplo n.º 3
0
        /// <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);
            }
        }
Exemplo n.º 4
0
        /// <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);
            }
        }
Exemplo n.º 5
0
        /// <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);
            }
        }
Exemplo n.º 6
0
 /// <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());
     }
 }
Exemplo n.º 7
0
 /// <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!");
     }
 }
Exemplo n.º 8
0
 /// <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!");
     }
 }
Exemplo n.º 9
0
        /// <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("");
        }
Exemplo n.º 10
0
        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);
        }