public void AddRegion(Scene scene)
        {
            if (!enabled)
            {
                return;
            }
            log("Adding region to MGM");
            npc = (NPCModule)scene.RequestModuleInterface <INPCModule>();
            if (npc == null || !npc.Enabled)
            {
                enabled = false;
                log("ERROR: NPC module must be enabled for MGM");
                return;
            }
            scene.AddCommand("mgm", this, "mgm status", "status", "Print the status of the MGM module", consoleStatus);
            scene.AddCommand("mgm", this, "mgm addUser", "addUser", "Test adding a user", addUser);
            scene.AddCommand("mgm", this, "mgm removeUser", "removeUser", "Test removing a user", removeUser);
            mgmLink = new MGMLink(new IPEndPoint(mgmAddress, mgmPort), log);
            mgmLink.start();
            registerEvents(scene.EventManager);
            string regMsg = MGMJson.Register(scene.Name, scene.RegionInfo.RegionLocX, scene.RegionInfo.RegionLocY, scene.RegionInfo.RegionSizeX);

            mgmLink.send(regMsg);
            this.scene = scene;
            mgr        = new MGMClientManager(scene, log);
        }
Beispiel #2
0
        public void RegionLoaded(Scene scene)
        {
//            m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName);

            scene.AddCommand(
                "Debug", this, "debug scene get",
                "debug scene get",
                "List current scene options.",
                "active          - if false then main scene update and maintenance loops are suspended.\n"
                + "animations      - if true  then extra animations debug information is logged.\n"
                + "collisions      - if false then collisions with other objects are turned off.\n"
                + "pbackup         - if false then periodic scene backup is turned off.\n"
                + "physics         - if false then all physics objects are non-physical.\n"
                + "scripting       - if false then no scripting operations happen.\n"
                + "teleport        - if true  then some extra teleport debug information is logged.\n"
                + "updates         - if true  then any frame which exceeds double the maximum desired frame time is logged.",
                HandleDebugSceneGetCommand);

            scene.AddCommand(
                "Debug", this, "debug scene set",
                "debug scene set <param> <value>",
                "Turn on scene debugging options.",
                "active          - if false then main scene update and maintenance loops are suspended.\n"
                + "animations      - if true  then extra animations debug information is logged.\n"
                + "collisions      - if false then collisions with other objects are turned off.\n"
                + "pbackup         - if false then periodic scene backup is turned off.\n"
                + "physics         - if false then all physics objects are non-physical.\n"
                + "scripting       - if false then no scripting operations happen.\n"
                + "teleport        - if true  then some extra teleport debug information is logged.\n"
                + "updates         - if true  then any frame which exceeds double the maximum desired frame time is logged.",
                HandleDebugSceneSetCommand);
        }
Beispiel #3
0
        public void Initialize(Scene scene, IConfigSource config)
        {
            m_scene = scene;
            m_scene.RegisterModuleInterface <IRegionModule>(this);

            m_scene.AddCommand(
                this, "tree plant", "tree plant", "Start populating trees", HandleTreeConsoleCommand);

            m_scene.AddCommand(
                this, "tree active", "tree active <boolean>", "Change activity state for trees module", HandleTreeConsoleCommand);

            try
            {
                m_tree_density = config.Configs["Trees"].GetDouble("tree_density", m_tree_density);
                m_active_trees = config.Configs["Trees"].GetBoolean("active_trees", m_active_trees);
            }
            catch (Exception)
            {
            }

            m_trees = new List <UUID>();

            if (m_active_trees)
            {
                activeizeTreeze(true);
            }

            m_log.Debug("[TREES]: Initialized tree module");
        }
Beispiel #4
0
        public void AddRegion(Scene scene)
        {
//            m_log.DebugFormat("[LINDEN UDP INFO MODULE]: REGION {0} ADDED", scene.RegionInfo.RegionName);

            lock (m_scenes)
                m_scenes[scene.RegionInfo.RegionID] = scene;

            scene.AddCommand(
                this, "show queues",
                "show queues [full]",
                "Show queue data for each client",
                "Without the 'full' option, only root agents are shown."
                + "  With the 'full' option child agents are also shown.",
                ShowQueuesReport);

            scene.AddCommand(
                this, "show throttles",
                "show throttles [full]",
                "Show throttle settings for each client and for the server overall",
                "Without the 'full' option, only root agents are shown."
                + "  With the 'full' option child agents are also shown.",
                ShowThrottlesReport);

            scene.AddCommand(
                this, "emergency-monitoring",
                "Go on/off emergency monitoring mode",
                "Go on/off emergency monitoring mode",
                "Go on/off emergency monitoring mode",
                EmergencyMonitoring);
        }
        public void Initialize(Scene scene, IConfigSource source)
        {
            m_scene = scene;
            m_scene.RegisterModuleInterface <IDialogModule>(this);

            m_scene.AddCommand(
                this, "alert", "alert <first> <last> <message>", "Send an alert to a user", HandleAlertConsoleCommand);

            m_scene.AddCommand(
                this, "alert general", "alert general <message>", "Send an alert to everyone", HandleAlertConsoleCommand);
        }
        public void AddRegion(Scene scene)
        {
//            m_log.DebugFormat("[LINDEN UDP INFO MODULE]: REGION {0} ADDED", scene.RegionInfo.RegionName);

            lock (m_scenes)
                m_scenes[scene.RegionInfo.RegionID] = scene;

            scene.AddCommand(
                "Comms", this, "show pqueues",
                "show pqueues [full]",
                "Show priority queue data for each client",
                "Without the 'full' option, only root agents are shown."
                + "  With the 'full' option child agents are also shown.",
                (mod, cmd) => MainConsole.Instance.Output(GetPQueuesReport(cmd)));

            scene.AddCommand(
                "Comms", this, "show queues",
                "show queues [full]",
                "Show queue data for each client",
                "Without the 'full' option, only root agents are shown.\n"
                + "With the 'full' option child agents are also shown.\n\n"
                + "Type          - Rt is a root (avatar) client whilst cd is a child (neighbour interacting) client.\n"
                + "Since Last In - Time in milliseconds since last packet received.\n"
                + "Pkts In       - Number of packets processed from the client.\n"
                + "Pkts Out      - Number of packets sent to the client.\n"
                + "Pkts Resent   - Number of packets resent to the client.\n"
                + "Bytes Unacked - Number of bytes transferred to the client that are awaiting acknowledgement.\n"
                + "Q Pkts *      - Number of packets of various types (land, wind, etc.) to be sent to the client that are waiting for available bandwidth.\n",
                (mod, cmd) => MainConsole.Instance.Output(GetQueuesReport(cmd)));

            scene.AddCommand(
                "Comms", this, "show image queues",
                "show image queues <first-name> <last-name>",
                "Show the image queues (textures downloaded via UDP) for a particular client.",
                (mod, cmd) => MainConsole.Instance.Output(GetImageQueuesReport(cmd)));

            scene.AddCommand(
                "Comms", this, "clear image queues",
                "clear image queues <first-name> <last-name>",
                "Clear the image queues (textures downloaded via UDP) for a particular client.",
                (mod, cmd) => MainConsole.Instance.Output(HandleImageQueuesClear(cmd)));

            scene.AddCommand(
                "Comms", this, "show throttles",
                "show throttles [full]",
                "Show throttle settings for each client and for the server overall",
                "Without the 'full' option, only root agents are shown."
                + "  With the 'full' option child agents are also shown.",
                (mod, cmd) => MainConsole.Instance.Output(GetThrottlesReport(cmd)));
        }
Beispiel #7
0
        public void AddRegion(Scene scene)
        {
            if (!Enabled)
            {
                return;
            }

            m_sceneHandler.AddScene(scene);

            InitializeRegion(
                m_sceneHandler.GetRegionIP(scene), scene.RegionInfo.RegionName, scene.RegionInfo.originRegionID);

            scene.AddCommand(this, "OMBaseTest", "Test Open Metaverse Economy Connection", "Test Open Metaverse Economy Connection", TestConnection);
            scene.AddCommand(this, "OMRegister", "Registers the Metaverse Economy Module", "Registers the Metaverse Economy Module", RegisterModule);
        }
Beispiel #8
0
        public void RegionLoaded(Scene scene)
        {
//            m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName);

            scene.AddCommand(
                "Debug", this, "debug scene get",
                "debug scene get",
                "List current scene options.",
                "active          - if false then main scene update and maintenance loops are suspended.\n"
                + "animations      - if true  then extra animations debug information is logged.\n"
                + "appear-refresh  - if true  then appearance is resent to other avatars every 60 seconds.\n"
                + "child-repri     - how far an avatar must move in meters before we update the position of its child agents in neighbouring regions.\n"
                + "client-pos-upd  - the tolerance before clients are updated with new rotation information for an avatar.\n"
                + "client-rot-upd  - the tolerance before clients are updated with new rotation information for an avatar.\n"
                + "client-vel-upd  - the tolerance before clients are updated with new velocity information for an avatar.\n"
                + "root-upd-per    - if greater than 1, terse updates are only sent to root agents other than the originator on every n updates.\n"
                + "child-upd-per   - if greater than 1, terse updates are only sent to child agents on every n updates.\n"
                + "collisions      - if false then collisions with other objects are turned off.\n"
                + "pbackup         - if false then periodic scene backup is turned off.\n"
                + "physics         - if false then all physics objects are non-physical.\n"
                + "scripting       - if false then no scripting operations happen.\n"
                + "teleport        - if true  then some extra teleport debug information is logged.\n"
                + "update-on-timer - If true  then the scene is updated via a timer.  If false then a thread with sleep is used.\n"
                + "updates         - if true  then any frame which exceeds double the maximum desired frame time is logged.",
                HandleDebugSceneGetCommand);

            scene.AddCommand(
                "Debug", this, "debug scene set",
                "debug scene set <param> <value>",
                "Turn on scene debugging options.",
                "active          - if false then main scene update and maintenance loops are suspended.\n"
                + "animations      - if true  then extra animations debug information is logged.\n"
                + "appear-refresh  - if true  then appearance is resent to other avatars every 60 seconds.\n"
                + "child-repri     - how far an avatar must move in meters before we update the position of its child agents in neighbouring regions.\n"
                + "client-pos-upd  - the tolerance before clients are updated with new rotation information for an avatar.\n"
                + "client-rot-upd  - the tolerance before clients are updated with new rotation information for an avatar.\n"
                + "client-vel-upd  - the tolerance before clients are updated with new velocity information for an avatar.\n"
                + "root-upd-per    - if greater than 1, terse updates are only sent to root agents other than the originator on every n updates.\n"
                + "child-upd-per   - if greater than 1, terse updates are only sent to child agents on every n updates.\n"
                + "collisions      - if false then collisions with other objects are turned off.\n"
                + "pbackup         - if false then periodic scene backup is turned off.\n"
                + "physics         - if false then all physics objects are non-physical.\n"
                + "scripting       - if false then no scripting operations happen.\n"
                + "teleport        - if true  then some extra teleport debug information is logged.\n"
                + "update-on-timer - If true  then the scene is updated via a timer.  If false then a thread with sleep is used.\n"
                + "updates         - if true  then any frame which exceeds double the maximum desired frame time is logged.",
                HandleDebugSceneSetCommand);
        }
Beispiel #9
0
        public void Initialise(Scene scene, IConfigSource source)
        {
            IConfig cnfg = source.Configs["Monitoring"];

            if (cnfg != null)
            {
                Enabled = cnfg.GetBoolean("Enabled", true);
            }

            if (!Enabled)
            {
                return;
            }

            m_scene = scene;

            m_scene.AddCommand("General", this, "monitor report",
                               "monitor report",
                               "Returns a variety of statistics about the current region and/or simulator",
                               DebugMonitors);

            MainServer.Instance.AddHTTPHandler("/monitorstats/" + m_scene.RegionInfo.RegionID, StatsPage);
            MainServer.Instance.AddHTTPHandler(
                "/monitorstats/" + Uri.EscapeDataString(m_scene.RegionInfo.RegionName), StatsPage);
        }
 public void RegionLoaded(Scene scene)
 {
     m_Scene.AddCommand(this, "region rotate",
                        "region rotate <direction>",
                        "Rotate entire region in the given direction",
                        HandleRotate);
 }
        public void Initialise(Scene scene, IConfigSource source)
        {
            m_scene = scene;
            m_scene.RegisterModuleInterface <IDialogModule>(this);

            m_scene.AddCommand(
                this, "alert", "alert <first> <last> <message>",
                "Send an alert to a user",
                HandleAlertConsoleCommand);

            m_scene.AddCommand(
                this, "alert general", "alert [general] <message>",
                "Send an alert to everyone",
                "If keyword 'general' is omitted, then <message> must be surrounded by quotation marks.",
                HandleAlertConsoleCommand);
        }
        public void RegionLoaded(Scene scene)
        {
//            m_log.DebugFormat("[APPEARANCE INFO MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName);

            lock (m_scenes)
                m_scenes[scene.RegionInfo.RegionID] = scene;

            scene.AddCommand(
                "Users", this, "show appearance",
                "show appearance [<first-name> <last-name>]",
                "Synonym for 'appearance show'",
                HandleShowAppearanceCommand);

            scene.AddCommand(
                "Users", this, "appearance show",
                "appearance show [<first-name> <last-name>]",
                "Show appearance information for each avatar in the simulator.",
                "This command checks whether the simulator has all the baked textures required to display an avatar to other viewers.  "
                + "\nIf not, then appearance is 'corrupt' and other avatars will continue to see it as a cloud."
                + "\nOptionally, you can view just a particular avatar's appearance information."
                + "\nIn this case, the texture UUID for each bake type is also shown and whether the simulator can find the referenced texture.",
                HandleShowAppearanceCommand);

            scene.AddCommand(
                "Users", this, "appearance send",
                "appearance send [<first-name> <last-name>]",
                "Send appearance data for each avatar in the simulator to other viewers.",
                "Optionally, you can specify that only a particular avatar's appearance data is sent.",
                HandleSendAppearanceCommand);

            scene.AddCommand(
                "Users", this, "appearance rebake",
                "appearance rebake <first-name> <last-name>",
                "Send a request to the user's viewer for it to rebake and reupload its appearance textures.",
                "This is currently done for all baked texture references previously received, whether the simulator can find the asset or not."
                + "\nThis will only work for texture ids that the viewer has already uploaded."
                + "\nIf the viewer has not yet sent the server any texture ids then nothing will happen"
                + "\nsince requests can only be made for ids that the client has already sent us",
                HandleRebakeAppearanceCommand);

            scene.AddCommand(
                "Users", this, "appearance find",
                "appearance find <uuid-or-start-of-uuid>",
                "Find out which avatar uses the given asset as a baked texture, if any.",
                "You can specify just the beginning of the uuid, e.g. 2008a8d.  A longer UUID must be in dashed format.",
                HandleFindAppearanceCommand);
        }
        public void AddRegion(Scene scene)
        {
            if (m_scenes.Count == 0)
            {
                scene.RegisterModuleInterface <IInventoryArchiverModule>(this);
                OnInventoryArchiveSaved  += SaveInvConsoleCommandCompleted;
                OnInventoryArchiveLoaded += LoadInvConsoleCommandCompleted;

                scene.AddCommand(
                    "Archiving", this, "load iar",
                    "load iar [-m|--merge] <first> <last> <inventory path> <password> [<IAR path>]",
                    "Load user inventory archive (IAR).",
                    "-m|--merge is an option which merges the loaded IAR with existing inventory folders where possible, rather than always creating new ones"
                    + "<first> is user's first name." + Environment.NewLine
                    + "<last> is user's last name." + Environment.NewLine
                    + "<inventory path> is the path inside the user's inventory where the IAR should be loaded." + Environment.NewLine
                    + "<password> is the user's password." + Environment.NewLine
                    + "<IAR path> is the filesystem path or URI from which to load the IAR."
                    + string.Format("  If this is not given then the filename {0} in the current directory is used", DEFAULT_INV_BACKUP_FILENAME),
                    HandleLoadInvConsoleCommand);

                scene.AddCommand(
                    "Archiving", this, "save iar",
                    "save iar [-h|--home=<url>] [--noassets] <first> <last> <inventory path> <password> [<IAR path>] [-c|--creators] [-e|--exclude=<name/uuid>] [-f|--excludefolder=<foldername/uuid>] [-v|--verbose]",
                    "Save user inventory archive (IAR).",
                    "<first> is the user's first name.\n"
                    + "<last> is the user's last name.\n"
                    + "<inventory path> is the path inside the user's inventory for the folder/item to be saved.\n"
                    + "<IAR path> is the filesystem path at which to save the IAR."
                    + string.Format("  If this is not given then the filename {0} in the current directory is used.\n", DEFAULT_INV_BACKUP_FILENAME)
                    + "-h|--home=<url> adds the url of the profile service to the saved user information.\n"
                    + "-c|--creators preserves information about foreign creators.\n"
                    + "-e|--exclude=<name/uuid> don't save the inventory item in archive" + Environment.NewLine
                    + "-f|--excludefolder=<folder/uuid> don't save contents of the folder in archive" + Environment.NewLine
                    + "-v|--verbose extra debug messages.\n"
                    + "--noassets stops assets being saved to the IAR."
                    + "--perm=<permissions> stops items with insufficient permissions from being saved to the IAR.\n"
                    + "   <permissions> can contain one or more of these characters: \"C\" = Copy, \"T\" = Transfer, \"M\" = Modify.\n",
                    HandleSaveInvConsoleCommand);

                m_aScene = scene;
            }

            m_scenes[scene.RegionInfo.RegionID] = scene;
        }
        public void RegionLoaded(Scene scene)
        {
            if (scene != m_scene)
            {
                return;
            }

            m_scene.AddCommand(
                "Users", this, "alert", "alert <message>",
                "Send an alert to everyone",
                HandleAlertConsoleCommand);

            m_scene.AddCommand(
                "Users", this, "alert-user",
                "alert-user <first> <last> <message>",
                "Send an alert to a user",
                HandleAlertConsoleCommand);
        }
        public void AddRegion(Scene scene)
        {
//            m_log.DebugFormat("[LINDEN UDP INFO MODULE]: REGION {0} ADDED", scene.RegionInfo.RegionName);
            
            lock (m_scenes)
                m_scenes[scene.RegionInfo.RegionID] = scene;

            scene.AddCommand(
                this, "image queues clear",
                "image queues clear <first-name> <last-name>",
                "Clear the image queues (textures downloaded via UDP) for a particular client.",
                (mod, cmd) => MainConsole.Instance.Output(HandleImageQueuesClear(cmd)));

            scene.AddCommand(
                this, "image queues show",
                "image queues show <first-name> <last-name>",
                "Show the image queues (textures downloaded via UDP) for a particular client.",
                (mod, cmd) => MainConsole.Instance.Output(GetImageQueuesReport(cmd)));

            scene.AddCommand(
                this, "show pqueues",
                "show pqueues [full]",
                "Show priority queue data for each client", 
                "Without the 'full' option, only root agents are shown."
                  + "  With the 'full' option child agents are also shown.",                                          
                (mod, cmd) => MainConsole.Instance.Output(GetPQueuesReport(cmd)));
            
            scene.AddCommand(
                this, "show queues",
                "show queues [full]",
                "Show queue data for each client", 
                "Without the 'full' option, only root agents are shown."
                  + "  With the 'full' option child agents are also shown.",                                          
                (mod, cmd) => MainConsole.Instance.Output(GetQueuesReport(cmd)));

            scene.AddCommand(
                this, "show image queues",
                "show image queues <first-name> <last-name>",
                "Show the image queues (textures downloaded via UDP) for a particular client.",
                (mod, cmd) => MainConsole.Instance.Output(GetImageQueuesReport(cmd)));
            
            scene.AddCommand(
                this, "show throttles",
                "show throttles [full]",
                "Show throttle settings for each client and for the server overall", 
                "Without the 'full' option, only root agents are shown."
                  + "  With the 'full' option child agents are also shown.",                                          
                (mod, cmd) => MainConsole.Instance.Output(GetThrottlesReport(cmd)));

            scene.AddCommand(
                this, "emergency-monitoring",
                "emergency-monitoring",
                "Go on/off emergency monitoring mode",
                "Go on/off emergency monitoring mode",
                HandleEmergencyMonitoring);
        }
        public void RegionLoaded(Scene scene)
        {
//            m_log.DebugFormat("[ANIMATIONS COMMAND MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName);

            m_scene = scene;

            scene.AddCommand(
                "Users", this, "sit user name",
                "sit user name [--regex] <first-name> <last-name>",
                "Sit the named user on an unoccupied object with a sit target.",
                "If there are no such objects then nothing happens.\n"
                + "If --regex is specified then the names are treated as regular expressions.",
                HandleSitUserNameCommand);

            scene.AddCommand(
                "Users", this, "stand user name",
                "stand user name [--regex] <first-name> <last-name>",
                "Stand the named user.",
                "If --regex is specified then the names are treated as regular expressions.",
                HandleStandUserNameCommand);
        }
Beispiel #17
0
        public void Initialise(Scene scene, IConfigSource source)
        {
            m_scene = scene;


            m_scene.AddCommand(this, "monitor report",
                               "monitor report",
                               "Returns a variety of statistics about the current region and/or simulator",
                               DebugMonitors);

            MainServer.Instance.AddHTTPHandler("/monitorstats/" + m_scene.RegionInfo.RegionID + "/", StatsPage);
        }
        public void Initialise(Scene scene, IConfigSource source)
        {
            if (m_scenes.Count == 0)
            {
                scene.RegisterModuleInterface <IInventoryArchiverModule>(this);
                CommsManager             = scene.CommsManager;
                OnInventoryArchiveSaved += SaveInvConsoleCommandCompleted;

                scene.AddCommand(
                    this, "load iar",
                    "load iar <first> <last> <inventory path> [<archive path>]",
                    "Load user inventory archive.  EXPERIMENTAL, PLEASE DO NOT USE YET", HandleLoadInvConsoleCommand);

                scene.AddCommand(
                    this, "save iar",
                    "save iar <first> <last> <inventory path> [<archive path>]",
                    "Save user inventory archive.  EXPERIMENTAL, PLEASE DO NOT USE YET", HandleSaveInvConsoleCommand);
            }

            m_scenes[scene.RegionInfo.RegionID] = scene;
        }
Beispiel #19
0
//        public InventoryArchiverModule(bool disablePresenceChecks)
//        {
//            DisablePresenceChecks = disablePresenceChecks;
//        }

        public void Initialise(Scene scene, IConfigSource source)
        {
            if (m_scenes.Count == 0)
            {
                scene.RegisterModuleInterface <IInventoryArchiverModule>(this);
                OnInventoryArchiveSaved += SaveInvConsoleCommandCompleted;

                scene.AddCommand(
                    this, "load iar",
                    "load iar [-m|--merge] <first> <last> <inventory path> <password> [<IAR path>]",
                    "Load user inventory archive (IAR).",
                    "-m|--merge is an option which merges the loaded IAR with existing inventory folders where possible, rather than always creating new ones"
                    + "<first> is user's first name." + Environment.NewLine
                    + "<last> is user's last name." + Environment.NewLine
                    + "<inventory path> is the path inside the user's inventory where the IAR should be loaded." + Environment.NewLine
                    + "<password> is the user's password." + Environment.NewLine
                    + "<IAR path> is the filesystem path or URI from which to load the IAR."
                    + string.Format("  If this is not given then the filename {0} in the current directory is used", DEFAULT_INV_BACKUP_FILENAME),
                    HandleLoadInvConsoleCommand);

                scene.AddCommand(
                    this, "save iar",
                    "save iar [-h|--home=<url>] [--noassets] <first> <last> <inventory path> <password> [<IAR path>] [-c|--creators] [-v|--verbose]",
                    "Save user inventory archive (IAR).",
                    "<first> is the user's first name.\n"
                    + "<last> is the user's last name.\n"
                    + "<inventory path> is the path inside the user's inventory for the folder/item to be saved.\n"
                    + "<IAR path> is the filesystem path at which to save the IAR."
                    + string.Format("  If this is not given then the filename {0} in the current directory is used.\n", DEFAULT_INV_BACKUP_FILENAME)
                    + "-h|--home=<url> adds the url of the profile service to the saved user information.\n"
                    + "-c|--creators preserves information about foreign creators.\n"
                    + "-v|--verbose extra debug messages.\n"
                    + "--noassets stops assets being saved to the IAR.",
                    HandleSaveInvConsoleCommand);

                m_aScene = scene;
            }

            m_scenes[scene.RegionInfo.RegionID] = scene;
        }
        public void RegionLoaded(Scene scene)
        {
//            m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName);

            lock (m_scenes)
                m_scenes.Add(scene);

            scene.AddCommand(
                "Users", this, "attachments show",
                "attachments show [<first-name> <last-name>]",
                "Show attachment information for avatars in this simulator.",
                HandleShowAttachmentsCommand);
        }
Beispiel #21
0
        public void AddRegion(Scene scene)
        {
            if (!Enabled)
            {
                return;
            }

            SceneHandler.Instance.AddScene(scene);

            regionAddress = CommunicationHelpers.GetRegionAdress(scene);
            regionName    = scene.RegionInfo.RegionName;
            regionUUID    = scene.RegionInfo.originRegionID;

            lock (regionInstances) {
                regionInstances[regionUUID] = this;
            }

            InitializeRegion();

            scene.AddCommand(this, "OMBaseTest", "Test Open Metaverse Economy Connection", "Test Open Metaverse Economy Connection", testConnection);
            scene.AddCommand(this, "OMRegister", "Registers the Metaverse Economy Module", "Registers the Metaverse Economy Module", registerModule);
        }
Beispiel #22
0
        public void Initialise(Scene scene, IConfigSource source)
        {
            if (m_scenes.Count == 0)
            {
                scene.RegisterModuleInterface <IInventoryArchiverModule>(this);
                OnInventoryArchiveSaved += SaveInvConsoleCommandCompleted;

                scene.AddCommand(
                    this, "load iar",
                    "load iar <first> <last> <inventory path> <password> [<IAR path>]",
                    //"load iar [--merge] <first> <last> <inventory path> <password> [<IAR path>]",
                    "Load user inventory archive (IAR).",
                    //"--merge is an option which merges the loaded IAR with existing inventory folders where possible, rather than always creating new ones"
                    //+ "<first> is user's first name." + Environment.NewLine
                    "<first> is user's first name." + Environment.NewLine
                    + "<last> is user's last name." + Environment.NewLine
                    + "<inventory path> is the path inside the user's inventory where the IAR should be loaded." + Environment.NewLine
                    + "<password> is the user's password." + Environment.NewLine
                    + "<IAR path> is the filesystem path or URI from which to load the IAR."
                    + string.Format("  If this is not given then the filename {0} in the current directory is used", DEFAULT_INV_BACKUP_FILENAME),
                    HandleLoadInvConsoleCommand);

                scene.AddCommand(
                    this, "save iar",
                    "save iar <first> <last> <inventory path> <password> [<IAR path>]",
                    "Save user inventory archive (IAR).",
                    "<first> is the user's first name." + Environment.NewLine
                    + "<last> is the user's last name." + Environment.NewLine
                    + "<inventory path> is the path inside the user's inventory for the folder/item to be saved." + Environment.NewLine
                    + "<IAR path> is the filesystem path at which to save the IAR."
                    + string.Format("  If this is not given then the filename {0} in the current directory is used", DEFAULT_INV_BACKUP_FILENAME),
                    HandleSaveInvConsoleCommand);

                m_aScene = scene;
            }

            m_scenes[scene.RegionInfo.RegionID] = scene;
        }
Beispiel #23
0
        //queue of processed scene events
        //private Queue<AAREvent> processedActions = new Queue<AAREvent>();

        public AAR(Scene scene, IRegionModuleBase module, AARLog log)
        {
            this.log = log;

            scene.AddCommand("Aar", module, "aar status", "status", "Print the status of the AAR module", statusAction);

            recorder = new Recorder(log);
            recorder.initialize(scene);
            recorder.registerCommands(module, scene);

            player = new Player(log);
            player.initialize(scene);
            player.registerCommands(module, scene);
        }
Beispiel #24
0
        public void AddRegion(Scene scene)
        {
            m_scene = scene;
            //  Insert our event handling hooks

            scene.EventManager.OnFrame += SunUpdate;
            scene.EventManager.OnAvatarEnteringNewParcel       += AvatarEnteringParcel;
            scene.EventManager.OnEstateToolsSunUpdate          += EstateToolsSunUpdate;
            scene.EventManager.OnGetCurrentTimeAsLindenSunHour += GetCurrentTimeAsLindenSunHour;

            scene.RegisterModuleInterface <ISunModule>(this);

            // This one enables the ability to type just "sun" without any parameters
            //            m_scene.AddCommand("Regions", this, "sun", "", "", HandleSunConsoleCommand);
            foreach (KeyValuePair <string, string> kvp in GetParamList())
            {
                string sunCommand = string.Format("sun {0}", kvp.Key);
                m_scene.AddCommand("Regions", this, sunCommand, string.Format("{0} [<value>]", sunCommand), kvp.Value, "", HandleSunConsoleCommand);
            }
            m_scene.AddCommand("Regions", this, "sun help", "sun help", "list parameters that can be changed", "", HandleSunConsoleCommand);
            m_scene.AddCommand("Regions", this, "sun list", "sun list", "list parameters that can be changed", "", HandleSunConsoleCommand);
            ready = true;
        }
Beispiel #25
0
 public void registerCommands(IRegionModuleBase regionModule, Scene scene)
 {
     scene.AddCommand("Aar", regionModule, "aar load", "load [id]", "load a session by id", loadSession);
     scene.AddCommand("Aar", regionModule, "aar unload", "unload", "halt playback and unload a session", unloadSession);
     scene.AddCommand("Aar", regionModule, "aar list", "list", "list recorded sessions", listSessions);
     scene.AddCommand("Aar", regionModule, "aar play", "play", "begin playback of a loaded session", beginPlayback);
     scene.AddCommand("Aar", regionModule, "aar pause", "pause", "pause the playback of a loaded session", pausePlayback);
     scene.AddCommand("Aar", regionModule, "aar purge", "purge", "delete all contents of the aar storage prim", purgeBox);
 }
        public void RegionLoaded(Scene scene)
        {
//            m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName);

            scene.AddCommand(
                "Debug", this, "debug scene get",
                "debug scene get",
                "List current scene options.",
                "If active     is false then main scene update and maintenance loops are suspended.\n"
                + "If animations is true  then extra animations debug information is logged.\n"
                + "If collisions is false then collisions with other objects are turned off.\n"
                + "If pbackup    is false then periodic scene backup is turned off.\n"
                + "If physics    is false then all physics objects are non-physical.\n"
                + "If scripting  is false then no scripting operations happen.\n"
                + "If teleport   is true  then some extra teleport debug information is logged.\n"
                + "If updates    is true  then any frame which exceeds double the maximum desired frame time is logged.",
                HandleDebugSceneGetCommand);

            scene.AddCommand(
                "Debug", this, "debug scene set",
                "debug scene set active|collisions|pbackup|physics|scripting|teleport|updates true|false",
                "Turn on scene debugging options.",
                "If active     is false then main scene update and maintenance loops are suspended.\n"
                + "If animations is true  then extra animations debug information is logged.\n"
                + "If collisions is false then collisions with other objects are turned off.\n"
                + "If pbackup    is false then periodic scene backup is turned off.\n"
                + "If physics    is false then all physics objects are non-physical.\n"
                + "If scripting  is false then no scripting operations happen.\n"
                + "If teleport   is true  then some extra teleport debug information is logged.\n"
                + "If updates    is true  then any frame which exceeds double the maximum desired frame time is logged.",
                HandleDebugSceneSetCommand);

            scene.AddCommand(
                "Regions",
                this, "show borders", "show borders", "Show border information for regions", HandleShowBordersCommand);
        }
Beispiel #27
0
        public void RegionLoaded(Scene scene)
        {
//            m_log.DebugFormat("[ANIMATIONS COMMAND MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName);

            m_scenes.Add(scene);

            scene.AddCommand(
                "Users", this, "show animations",
                "show animations [<first-name> <last-name>]",
                "Show animation information for avatars in this simulator.",
                "If no name is supplied then information for all avatars is shown.\n"
                + "Please note that for inventory animations, the animation name is the name under which the animation was originally uploaded\n"
                + ", which is not necessarily the current inventory name.",
                HandleShowAnimationsCommand);
        }
        public void AddRegion(Scene scene)
        {
//            m_log.DebugFormat("[USER COMMANDS MODULE]: REGION {0} ADDED", scene.RegionInfo.RegionName);

            m_scenes[scene.RegionInfo.RegionID] = scene;

            scene.AddCommand(
                "Users",
                this,
                "teleport user",
                TeleportUserCommandSyntax,
                "Teleport a user in this simulator to the given destination",
                "<destination> is in format [<region-name>]/<x>/<y>/<z>, e.g. regionone/20/30/40 or just 20/30/40 to teleport within same region."
                + "\nIf the region contains a space then the whole destination must be in quotes, e.g. \"region one/20/30/40\"",
                HandleTeleportUser);
        }
        public void AddRegion(Scene scene)
        {
            if (!m_groupMessagingEnabled)
            {
                return;
            }

            scene.RegisterModuleInterface <IGroupsMessagingModule>(this);

            scene.AddCommand(
                "Debug",
                this,
                "debug groups messaging verbose",
                "debug groups messaging verbose <true|false>",
                "This setting turns on very verbose groups messaging debugging",
                HandleDebugGroupsMessagingVerbose);
        }
        public void AddRegion(Scene scene)
        {
            if (m_scene == null)
            {
                m_scene = scene;
            }
            m_scene.AddCommand(
                "Avatar Archive", this, "Avatar Archive",
                "\n\nsave avatar archive <First> <Last> <Filename> <FolderNameToSaveInto> (--snapshot <UUID>) (--private) Saves appearance to an avatar archive file\n",
                "\nload avatar archive <First> <Last> (Past archives are listed just type a name from the list) Loads appearance from an avatar archive file",
                "\nload avatar archive <First> <Last> <url> (ex http://example.com/archive.aa) Loads appearance from an avatar archive from a web url",
                HandleHelpAvatarArchive);


            MainConsole.Instance.Commands.AddCommand("region", false, "save avatar archive", "save avatar archive <First> <Last> <Filename> <FolderNameToSaveInto>", "Saves appearance to an avatar archive archive (Note: put \"\" around the FolderName if you need more than one word)", HandleSaveAvatarArchive);
            MainConsole.Instance.Commands.AddCommand("region", false, "load avatar archive", "load avatar archive <First> <Last> <Filename>", "Loads appearance from an avatar archive archive", HandleLoadAvatarArchive);
        }