Merge branch 'master' into careminster
commit
b0fc96c17d
|
@ -29,6 +29,7 @@ using System;
|
|||
using System.Xml;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
@ -40,6 +41,8 @@ namespace OpenSim.Framework.Console
|
|||
{
|
||||
public class Commands : ICommands
|
||||
{
|
||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
/// <summary>
|
||||
/// Encapsulates a command that can be invoked from the console
|
||||
/// </summary>
|
||||
|
@ -76,12 +79,19 @@ namespace OpenSim.Framework.Console
|
|||
public List<CommandDelegate> fn;
|
||||
}
|
||||
|
||||
public const string GeneralHelpText = "For more information, type 'help <item>' where <item> is one of the following categories:";
|
||||
|
||||
/// <value>
|
||||
/// Commands organized by keyword in a tree
|
||||
/// </value>
|
||||
private Dictionary<string, object> tree =
|
||||
new Dictionary<string, object>();
|
||||
|
||||
/// <summary>
|
||||
/// Commands organized by module
|
||||
/// </summary>
|
||||
private Dictionary<string, List<CommandInfo>> m_modulesCommands = new Dictionary<string, List<CommandInfo>>();
|
||||
|
||||
/// <summary>
|
||||
/// Get help for the given help string
|
||||
/// </summary>
|
||||
|
@ -98,8 +108,8 @@ namespace OpenSim.Framework.Console
|
|||
// General help
|
||||
if (helpParts.Count == 0)
|
||||
{
|
||||
help.AddRange(CollectHelp(tree));
|
||||
help.Sort();
|
||||
help.Add(GeneralHelpText);
|
||||
help.AddRange(CollectModulesHelp(tree));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -118,6 +128,13 @@ namespace OpenSim.Framework.Console
|
|||
{
|
||||
string originalHelpRequest = string.Join(" ", helpParts.ToArray());
|
||||
List<string> help = new List<string>();
|
||||
|
||||
// Check modules first to see if we just need to display a list of those commands
|
||||
if (TryCollectModuleHelp(originalHelpRequest, help))
|
||||
{
|
||||
help.Insert(0, GeneralHelpText);
|
||||
return help;
|
||||
}
|
||||
|
||||
Dictionary<string, object> dict = tree;
|
||||
while (helpParts.Count > 0)
|
||||
|
@ -161,25 +178,61 @@ namespace OpenSim.Framework.Console
|
|||
return help;
|
||||
}
|
||||
|
||||
private List<string> CollectHelp(Dictionary<string, object> dict)
|
||||
/// <summary>
|
||||
/// Try to collect help for the given module if that module exists.
|
||||
/// </summary>
|
||||
/// <param name="moduleName"></param>
|
||||
/// <param name="helpText">/param>
|
||||
/// <returns>true if there was the module existed, false otherwise.</returns>
|
||||
private bool TryCollectModuleHelp(string moduleName, List<string> helpText)
|
||||
{
|
||||
List<string> result = new List<string>();
|
||||
|
||||
foreach (KeyValuePair<string, object> kvp in dict)
|
||||
lock (m_modulesCommands)
|
||||
{
|
||||
if (kvp.Value is Dictionary<string, Object>)
|
||||
if (m_modulesCommands.ContainsKey(moduleName))
|
||||
{
|
||||
result.AddRange(CollectHelp((Dictionary<string, Object>)kvp.Value));
|
||||
List<CommandInfo> commands = m_modulesCommands[moduleName];
|
||||
var ourHelpText = commands.ConvertAll(c => string.Format("{0} - {1}", c.help_text, c.long_help));
|
||||
ourHelpText.Sort();
|
||||
helpText.AddRange(ourHelpText);
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (((CommandInfo)kvp.Value).long_help != String.Empty)
|
||||
result.Add(((CommandInfo)kvp.Value).help_text+" - "+
|
||||
((CommandInfo)kvp.Value).long_help);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<string> CollectModulesHelp(Dictionary<string, object> dict)
|
||||
{
|
||||
lock (m_modulesCommands)
|
||||
{
|
||||
List<string> helpText = new List<string>(m_modulesCommands.Keys);
|
||||
helpText.Sort();
|
||||
return helpText;
|
||||
}
|
||||
}
|
||||
|
||||
// private List<string> CollectHelp(Dictionary<string, object> dict)
|
||||
// {
|
||||
// List<string> result = new List<string>();
|
||||
//
|
||||
// foreach (KeyValuePair<string, object> kvp in dict)
|
||||
// {
|
||||
// if (kvp.Value is Dictionary<string, Object>)
|
||||
// {
|
||||
// result.AddRange(CollectHelp((Dictionary<string, Object>)kvp.Value));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if (((CommandInfo)kvp.Value).long_help != String.Empty)
|
||||
// result.Add(((CommandInfo)kvp.Value).help_text+" - "+
|
||||
// ((CommandInfo)kvp.Value).long_help);
|
||||
// }
|
||||
// }
|
||||
// return result;
|
||||
// }
|
||||
|
||||
/// <summary>
|
||||
/// Add a command to those which can be invoked from the console.
|
||||
|
@ -212,21 +265,19 @@ namespace OpenSim.Framework.Console
|
|||
|
||||
Dictionary<string, Object> current = tree;
|
||||
|
||||
foreach (string s in parts)
|
||||
foreach (string part in parts)
|
||||
{
|
||||
if (current.ContainsKey(s))
|
||||
if (current.ContainsKey(part))
|
||||
{
|
||||
if (current[s] is Dictionary<string, Object>)
|
||||
{
|
||||
current = (Dictionary<string, Object>)current[s];
|
||||
}
|
||||
if (current[part] is Dictionary<string, Object>)
|
||||
current = (Dictionary<string, Object>)current[part];
|
||||
else
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
current[s] = new Dictionary<string, Object>();
|
||||
current = (Dictionary<string, Object>)current[s];
|
||||
current[part] = new Dictionary<string, Object>();
|
||||
current = (Dictionary<string, Object>)current[part];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -250,6 +301,24 @@ namespace OpenSim.Framework.Console
|
|||
info.fn = new List<CommandDelegate>();
|
||||
info.fn.Add(fn);
|
||||
current[String.Empty] = info;
|
||||
|
||||
// Now add command to modules dictionary
|
||||
lock (m_modulesCommands)
|
||||
{
|
||||
List<CommandInfo> commands;
|
||||
if (m_modulesCommands.ContainsKey(module))
|
||||
{
|
||||
commands = m_modulesCommands[module];
|
||||
}
|
||||
else
|
||||
{
|
||||
commands = new List<CommandInfo>();
|
||||
m_modulesCommands[module] = commands;
|
||||
}
|
||||
|
||||
// m_log.DebugFormat("[COMMAND CONSOLE]: Adding to category {0} command {1}", module, command);
|
||||
commands.Add(info);
|
||||
}
|
||||
}
|
||||
|
||||
public string[] FindNextOption(string[] cmd, bool term)
|
||||
|
@ -607,8 +676,9 @@ namespace OpenSim.Framework.Console
|
|||
{
|
||||
Commands = new Commands();
|
||||
|
||||
Commands.AddCommand("console", false, "help", "help [<command>]",
|
||||
"Get general command list or more detailed help on a specific command", Help);
|
||||
Commands.AddCommand(
|
||||
"Help", false, "help", "help [<item>]",
|
||||
"Display help on a particular command or on a list of commands in a category", Help);
|
||||
}
|
||||
|
||||
private void Help(string module, string[] cmd)
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace OpenSim.Framework
|
|||
/// <summary>
|
||||
/// Get help for the given help string
|
||||
/// </summary>
|
||||
/// <param name="helpParts">Parsed parts of the help string. If empty then general help is returned.</param>
|
||||
/// <param name="cmd">Parsed parts of the help string. If empty then general help is returned.</param>
|
||||
/// <returns></returns>
|
||||
List<string> GetHelp(string[] cmd);
|
||||
|
||||
|
|
|
@ -161,43 +161,43 @@ namespace OpenSim.Framework.Servers
|
|||
Notice(String.Format("Console log level is {0}", m_consoleAppender.Threshold));
|
||||
}
|
||||
|
||||
m_console.Commands.AddCommand("base", false, "quit",
|
||||
m_console.Commands.AddCommand("General", false, "quit",
|
||||
"quit",
|
||||
"Quit the application", HandleQuit);
|
||||
|
||||
m_console.Commands.AddCommand("base", false, "shutdown",
|
||||
m_console.Commands.AddCommand("General", false, "shutdown",
|
||||
"shutdown",
|
||||
"Quit the application", HandleQuit);
|
||||
|
||||
m_console.Commands.AddCommand("base", false, "set log level",
|
||||
m_console.Commands.AddCommand("General", false, "set log level",
|
||||
"set log level <level>",
|
||||
"Set the console logging level", HandleLogLevel);
|
||||
|
||||
m_console.Commands.AddCommand("base", false, "show info",
|
||||
m_console.Commands.AddCommand("General", false, "show info",
|
||||
"show info",
|
||||
"Show general information about the server", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("base", false, "show stats",
|
||||
m_console.Commands.AddCommand("General", false, "show stats",
|
||||
"show stats",
|
||||
"Show statistics", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("base", false, "show threads",
|
||||
m_console.Commands.AddCommand("General", false, "show threads",
|
||||
"show threads",
|
||||
"Show thread status", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("base", false, "show uptime",
|
||||
m_console.Commands.AddCommand("General", false, "show uptime",
|
||||
"show uptime",
|
||||
"Show server uptime", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("base", false, "show version",
|
||||
m_console.Commands.AddCommand("General", false, "show version",
|
||||
"show version",
|
||||
"Show server version", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("base", false, "threads abort",
|
||||
m_console.Commands.AddCommand("General", false, "threads abort",
|
||||
"threads abort <thread-id>",
|
||||
"Abort a managed thread. Use \"show threads\" to find possible threads.", HandleThreadsAbort);
|
||||
|
||||
m_console.Commands.AddCommand("base", false, "threads show",
|
||||
m_console.Commands.AddCommand("General", false, "threads show",
|
||||
"threads show",
|
||||
"Show thread status. Synonym for \"show threads\"",
|
||||
(string module, string[] args) => Notice(GetThreadsReport()));
|
||||
|
|
|
@ -225,12 +225,12 @@ namespace OpenSim
|
|||
/// </summary>
|
||||
private void RegisterConsoleCommands()
|
||||
{
|
||||
m_console.Commands.AddCommand("region", false, "force update",
|
||||
m_console.Commands.AddCommand("Regions", false, "force update",
|
||||
"force update",
|
||||
"Force the update of all objects on clients",
|
||||
HandleForceUpdate);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "debug packet",
|
||||
m_console.Commands.AddCommand("Comms", false, "debug packet",
|
||||
"debug packet <level> [<avatar-first-name> <avatar-last-name>]",
|
||||
"Turn on packet debugging",
|
||||
"If level > 255 then all incoming and outgoing packets are logged.\n"
|
||||
|
@ -242,7 +242,7 @@ namespace OpenSim
|
|||
+ "If an avatar name is given then only packets from that avatar are logged",
|
||||
Debug);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "debug http",
|
||||
m_console.Commands.AddCommand("Comms", false, "debug http",
|
||||
"debug http <level>",
|
||||
"Turn on inbound http request debugging for everything except the event queue (see debug eq).",
|
||||
"If level >= 2 then the handler used to service the request is logged.\n"
|
||||
|
@ -250,37 +250,37 @@ namespace OpenSim
|
|||
+ "If level <= 0 then no extra http logging is done.\n",
|
||||
Debug);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "debug teleport", "debug teleport", "Toggle teleport route debugging", Debug);
|
||||
m_console.Commands.AddCommand("Comms", false, "debug teleport", "debug teleport", "Toggle teleport route debugging", Debug);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "debug scene",
|
||||
m_console.Commands.AddCommand("Regions", false, "debug scene",
|
||||
"debug scene <scripting> <collisions> <physics>",
|
||||
"Turn on scene debugging", Debug);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "change region",
|
||||
m_console.Commands.AddCommand("General", false, "change region",
|
||||
"change region <region name>",
|
||||
"Change current console region", ChangeSelectedRegion);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "save xml",
|
||||
m_console.Commands.AddCommand("Archiving", false, "save xml",
|
||||
"save xml",
|
||||
"Save a region's data in XML format", SaveXml);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "save xml2",
|
||||
m_console.Commands.AddCommand("Archiving", false, "save xml2",
|
||||
"save xml2",
|
||||
"Save a region's data in XML2 format", SaveXml2);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "load xml",
|
||||
m_console.Commands.AddCommand("Archiving", false, "load xml",
|
||||
"load xml [-newIDs [<x> <y> <z>]]",
|
||||
"Load a region's data from XML format", LoadXml);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "load xml2",
|
||||
m_console.Commands.AddCommand("Archiving", false, "load xml2",
|
||||
"load xml2",
|
||||
"Load a region's data from XML2 format", LoadXml2);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "save prims xml2",
|
||||
m_console.Commands.AddCommand("Archiving", false, "save prims xml2",
|
||||
"save prims xml2 [<prim name> <file name>]",
|
||||
"Save named prim to XML2", SavePrimsXml2);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "load oar",
|
||||
m_console.Commands.AddCommand("Archiving", false, "load oar",
|
||||
"load oar [--merge] [--skip-assets] [<OAR path>]",
|
||||
"Load a region's data from an OAR archive.",
|
||||
"--merge will merge the OAR with the existing scene." + Environment.NewLine
|
||||
|
@ -289,7 +289,7 @@ namespace OpenSim
|
|||
+ " If this is not given then the command looks for an OAR named region.oar in the current directory.",
|
||||
LoadOar);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "save oar",
|
||||
m_console.Commands.AddCommand("Archiving", false, "save oar",
|
||||
//"save oar [-v|--version=<N>] [-p|--profile=<url>] [<OAR path>]",
|
||||
"save oar [-h|--home=<url>] [--noassets] [--publish] [--perm=<permissions>] [<OAR path>]",
|
||||
"Save a region's data to an OAR archive.",
|
||||
|
@ -306,54 +306,54 @@ namespace OpenSim
|
|||
+ " If this is not given then the oar is saved to region.oar in the current directory.",
|
||||
SaveOar);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "edit scale",
|
||||
m_console.Commands.AddCommand("Regions", false, "edit scale",
|
||||
"edit scale <name> <x> <y> <z>",
|
||||
"Change the scale of a named prim", HandleEditScale);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "kick user",
|
||||
m_console.Commands.AddCommand("Users", false, "kick user",
|
||||
"kick user <first> <last> [message]",
|
||||
"Kick a user off the simulator", KickUserCommand);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "show users",
|
||||
m_console.Commands.AddCommand("Users", false, "show users",
|
||||
"show users [full]",
|
||||
"Show user data for users currently on the region",
|
||||
"Without the 'full' option, only users actually on the region are shown."
|
||||
+ " With the 'full' option child agents of users in neighbouring regions are also shown.",
|
||||
HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "show connections",
|
||||
m_console.Commands.AddCommand("Comms", false, "show connections",
|
||||
"show connections",
|
||||
"Show connection data", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "show circuits",
|
||||
m_console.Commands.AddCommand("Comms", false, "show circuits",
|
||||
"show circuits",
|
||||
"Show agent circuit data", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "show http-handlers",
|
||||
m_console.Commands.AddCommand("Comms", false, "show http-handlers",
|
||||
"show http-handlers",
|
||||
"Show all registered http handlers", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "show pending-objects",
|
||||
m_console.Commands.AddCommand("Comms", false, "show pending-objects",
|
||||
"show pending-objects",
|
||||
"Show # of objects on the pending queues of all scene viewers", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "show modules",
|
||||
m_console.Commands.AddCommand("General", false, "show modules",
|
||||
"show modules",
|
||||
"Show module data", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "show regions",
|
||||
m_console.Commands.AddCommand("Regions", false, "show regions",
|
||||
"show regions",
|
||||
"Show region data", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "show ratings",
|
||||
m_console.Commands.AddCommand("Regions", false, "show ratings",
|
||||
"show ratings",
|
||||
"Show rating data", HandleShow);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "backup",
|
||||
m_console.Commands.AddCommand("Regions", false, "backup",
|
||||
"backup",
|
||||
"Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.", RunCommand);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "create region",
|
||||
m_console.Commands.AddCommand("Regions", false, "create region",
|
||||
"create region [\"region name\"] <region_file.ini>",
|
||||
"Create a new region.",
|
||||
"The settings for \"region name\" are read from <region_file.ini>. Paths specified with <region_file.ini> are relative to your Regions directory, unless an absolute path is given."
|
||||
|
@ -362,62 +362,57 @@ namespace OpenSim
|
|||
+ "If <region_file.ini> does not exist, it will be created.",
|
||||
HandleCreateRegion);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "restart",
|
||||
m_console.Commands.AddCommand("Regions", false, "restart",
|
||||
"restart",
|
||||
"Restart all sims in this instance", RunCommand);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "config set",
|
||||
m_console.Commands.AddCommand("General", false, "config set",
|
||||
"config set <section> <key> <value>",
|
||||
"Set a config option. In most cases this is not useful since changed parameters are not dynamically reloaded. Neither do changed parameters persist - you will have to change a config file manually and restart.", HandleConfig);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "config get",
|
||||
m_console.Commands.AddCommand("General", false, "config get",
|
||||
"config get [<section>] [<key>]",
|
||||
"Synonym for config show",
|
||||
HandleConfig);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "config show",
|
||||
m_console.Commands.AddCommand("General", false, "config show",
|
||||
"config show [<section>] [<key>]",
|
||||
"Show config information",
|
||||
"If neither section nor field are specified, then the whole current configuration is printed." + Environment.NewLine
|
||||
+ "If a section is given but not a field, then all fields in that section are printed.",
|
||||
HandleConfig);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "config save",
|
||||
m_console.Commands.AddCommand("General", false, "config save",
|
||||
"config save <path>",
|
||||
"Save current configuration to a file at the given path", HandleConfig);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "command-script",
|
||||
m_console.Commands.AddCommand("General", false, "command-script",
|
||||
"command-script <script>",
|
||||
"Run a command script from file", RunCommand);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "remove-region",
|
||||
m_console.Commands.AddCommand("Regions", false, "remove-region",
|
||||
"remove-region <name>",
|
||||
"Remove a region from this simulator", RunCommand);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "delete-region",
|
||||
m_console.Commands.AddCommand("Regions", false, "delete-region",
|
||||
"delete-region <name>",
|
||||
"Delete a region from disk", RunCommand);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "modules list",
|
||||
m_console.Commands.AddCommand("General", false, "modules list",
|
||||
"modules list",
|
||||
"List modules", HandleModules);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "modules load",
|
||||
m_console.Commands.AddCommand("General", false, "modules load",
|
||||
"modules load <name>",
|
||||
"Load a module", HandleModules);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "modules unload",
|
||||
m_console.Commands.AddCommand("General", false, "modules unload",
|
||||
"modules unload <name>",
|
||||
"Unload a module", HandleModules);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "Add-InventoryHost",
|
||||
"Add-InventoryHost <host>",
|
||||
String.Empty, RunCommand);
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "kill uuid",
|
||||
m_console.Commands.AddCommand("Regions", false, "kill uuid",
|
||||
"kill uuid <UUID>",
|
||||
"Kill an object by UUID", KillUUID);
|
||||
|
||||
}
|
||||
|
||||
public override void ShutdownSpecific()
|
||||
|
@ -829,14 +824,6 @@ namespace OpenSim
|
|||
case "restart":
|
||||
m_sceneManager.RestartCurrentScene();
|
||||
break;
|
||||
|
||||
case "Add-InventoryHost":
|
||||
if (cmdparams.Length > 0)
|
||||
{
|
||||
MainConsole.Instance.Output("Not implemented.");
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -257,15 +257,17 @@ namespace OpenSim
|
|||
|
||||
foreach (string topic in topics)
|
||||
{
|
||||
m_console.Commands.AddCommand("plugin", false, "help " + topic,
|
||||
"help " + topic,
|
||||
string capitalizedTopic = char.ToUpper(topic[0]) + topic.Substring(1);
|
||||
|
||||
m_console.Commands.AddCommand(capitalizedTopic, false, "help " + capitalizedTopic,
|
||||
"help " + capitalizedTopic,
|
||||
"Get help on plugin command '" + topic + "'",
|
||||
HandleCommanderHelp);
|
||||
|
||||
m_console.Commands.AddCommand("plugin", false, topic,
|
||||
topic,
|
||||
"Execute subcommand for plugin '" + topic + "'",
|
||||
null);
|
||||
//
|
||||
// m_console.Commands.AddCommand("General", false, topic,
|
||||
// topic,
|
||||
// "Execute subcommand for plugin '" + topic + "'",
|
||||
// null);
|
||||
|
||||
ICommander commander = null;
|
||||
|
||||
|
@ -282,7 +284,7 @@ namespace OpenSim
|
|||
|
||||
foreach (string command in commander.Commands.Keys)
|
||||
{
|
||||
m_console.Commands.AddCommand(topic, false,
|
||||
m_console.Commands.AddCommand(capitalizedTopic, false,
|
||||
topic + " " + command,
|
||||
topic + " " + commander.Commands[command].ShortHelp(),
|
||||
String.Empty, HandleCommanderCommand);
|
||||
|
@ -301,7 +303,7 @@ namespace OpenSim
|
|||
// Only safe for the interactive console, since it won't
|
||||
// let us come here unless both scene and commander exist
|
||||
//
|
||||
ICommander moduleCommander = SceneManager.CurrentOrFirstScene.GetCommander(cmd[1]);
|
||||
ICommander moduleCommander = SceneManager.CurrentOrFirstScene.GetCommander(cmd[1].ToLower());
|
||||
if (moduleCommander != null)
|
||||
m_console.Output(moduleCommander.Help);
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
|||
scene.EventManager.OnRegisterCaps += OnRegisterCaps;
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"event queue",
|
||||
"Comms",
|
||||
false,
|
||||
"debug eq",
|
||||
"debug eq [0|1]",
|
||||
|
|
|
@ -203,10 +203,10 @@ namespace Flotsam.RegionModules.AssetCache
|
|||
m_CacheDirectoryTierLen = 4;
|
||||
}
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(Name, true, "fcache status", "fcache status", "Display cache status", HandleConsoleCommand);
|
||||
MainConsole.Instance.Commands.AddCommand(Name, true, "fcache clear", "fcache clear [file] [memory]", "Remove all assets in the cache. If file or memory is specified then only this cache is cleared.", HandleConsoleCommand);
|
||||
MainConsole.Instance.Commands.AddCommand(Name, true, "fcache assets", "fcache assets", "Attempt a deep scan and cache of all assets in all scenes", HandleConsoleCommand);
|
||||
MainConsole.Instance.Commands.AddCommand(Name, true, "fcache expire", "fcache expire <datetime>", "Purge cached assets older then the specified date/time", HandleConsoleCommand);
|
||||
MainConsole.Instance.Commands.AddCommand("Assets", true, "fcache status", "fcache status", "Display cache status", HandleConsoleCommand);
|
||||
MainConsole.Instance.Commands.AddCommand("Assets", true, "fcache clear", "fcache clear [file] [memory]", "Remove all assets in the cache. If file or memory is specified then only this cache is cleared.", HandleConsoleCommand);
|
||||
MainConsole.Instance.Commands.AddCommand("Assets", true, "fcache assets", "fcache assets", "Attempt a deep scan and cache of all assets in all scenes", HandleConsoleCommand);
|
||||
MainConsole.Instance.Commands.AddCommand("Assets", true, "fcache expire", "fcache expire <datetime>", "Purge cached assets older then the specified date/time", HandleConsoleCommand);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,12 +51,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
|
|||
m_scene.RegisterModuleInterface<IDialogModule>(this);
|
||||
|
||||
m_scene.AddCommand(
|
||||
this, "alert", "alert <message>",
|
||||
"Users", this, "alert", "alert <message>",
|
||||
"Send an alert to everyone",
|
||||
HandleAlertConsoleCommand);
|
||||
|
||||
m_scene.AddCommand(
|
||||
this, "alert-user", "alert-user <first> <last> <message>",
|
||||
"Users", this, "alert-user", "alert-user <first> <last> <message>",
|
||||
"Send an alert to a user",
|
||||
HandleAlertConsoleCommand);
|
||||
}
|
||||
|
|
|
@ -108,7 +108,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
|||
OnInventoryArchiveSaved += SaveInvConsoleCommandCompleted;
|
||||
|
||||
scene.AddCommand(
|
||||
this, "load iar",
|
||||
"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"
|
||||
|
@ -121,7 +121,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
|||
HandleLoadInvConsoleCommand);
|
||||
|
||||
scene.AddCommand(
|
||||
this, "save iar",
|
||||
"Archiving", 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." + Environment.NewLine
|
||||
|
|
|
@ -69,9 +69,10 @@ namespace OpenSim.Region.CoreModules.Framework
|
|||
{
|
||||
m_scene = scene;
|
||||
m_scene.RegisterModuleInterface<ICapabilitiesModule>(this);
|
||||
MainConsole.Instance.Commands.AddCommand("Capabilities", false, "show caps",
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("Comms", false, "show caps",
|
||||
"show caps",
|
||||
"Shows all registered capabilities", HandleShowCapsCommand);
|
||||
"Shows all registered capabilities for users", HandleShowCapsCommand);
|
||||
}
|
||||
|
||||
public void RegionLoaded(Scene scene)
|
||||
|
|
|
@ -72,7 +72,7 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring
|
|||
|
||||
m_scene = scene;
|
||||
|
||||
m_scene.AddCommand(this, "monitor report",
|
||||
m_scene.AddCommand("General", this, "monitor report",
|
||||
"monitor report",
|
||||
"Returns a variety of statistics about the current region and/or simulator",
|
||||
DebugMonitors);
|
||||
|
|
|
@ -80,7 +80,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
|||
// }
|
||||
// }
|
||||
//}
|
||||
MainConsole.Instance.Commands.AddCommand("grid", true,
|
||||
MainConsole.Instance.Commands.AddCommand("Users", true,
|
||||
"show names",
|
||||
"show names",
|
||||
"Show the bindings between user UUIDs and user names",
|
||||
|
|
|
@ -122,7 +122,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
|||
|
||||
public void PostInitialise()
|
||||
{
|
||||
MainConsole.Instance.Commands.AddCommand("LocalGridConnector", false, "show neighbours",
|
||||
MainConsole.Instance.Commands.AddCommand("Regions", false, "show neighbours",
|
||||
"show neighbours",
|
||||
"Shows the local regions' neighbours", NeighboursCommand);
|
||||
}
|
||||
|
|
|
@ -47,21 +47,21 @@ namespace OpenSim.Region.CoreModules.World
|
|||
|
||||
public void Initialise(IConfigSource config)
|
||||
{
|
||||
MainConsole.Instance.Commands.AddCommand("access", true,
|
||||
MainConsole.Instance.Commands.AddCommand("Users", true,
|
||||
"login enable",
|
||||
"login enable",
|
||||
"Enable simulator logins",
|
||||
String.Empty,
|
||||
HandleLoginCommand);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("access", true,
|
||||
MainConsole.Instance.Commands.AddCommand("Users", true,
|
||||
"login disable",
|
||||
"login disable",
|
||||
"Disable simulator logins",
|
||||
String.Empty,
|
||||
HandleLoginCommand);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("access", true,
|
||||
MainConsole.Instance.Commands.AddCommand("Users", true,
|
||||
"login status",
|
||||
"login status",
|
||||
"Show login status",
|
||||
|
|
|
@ -62,58 +62,25 @@ namespace OpenSim.Region.CoreModules.World.Estate
|
|||
{
|
||||
m_log.DebugFormat("[ESTATE MODULE]: Setting up estate commands for region {0}", m_module.Scene.RegionInfo.RegionName);
|
||||
|
||||
m_module.Scene.AddCommand(m_module, "set terrain texture",
|
||||
m_module.Scene.AddCommand("Regions", m_module, "set terrain texture",
|
||||
"set terrain texture <number> <uuid> [<x>] [<y>]",
|
||||
"Sets the terrain <number> to <uuid>, if <x> or <y> are specified, it will only " +
|
||||
"set it on regions with a matching coordinate. Specify -1 in <x> or <y> to wildcard" +
|
||||
" that coordinate.",
|
||||
consoleSetTerrainTexture);
|
||||
|
||||
m_module.Scene.AddCommand(m_module, "set terrain heights",
|
||||
m_module.Scene.AddCommand("Regions", m_module, "set terrain heights",
|
||||
"set terrain heights <corner> <min> <max> [<x>] [<y>]",
|
||||
"Sets the terrain texture heights on corner #<corner> to <min>/<max>, if <x> or <y> are specified, it will only " +
|
||||
"set it on regions with a matching coordinate. Specify -1 in <x> or <y> to wildcard" +
|
||||
" that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.",
|
||||
consoleSetTerrainHeights);
|
||||
|
||||
Command showCommand
|
||||
= new Command("show", CommandIntentions.COMMAND_STATISTICAL, ShowEstatesCommand, "Shows all estates on the simulator.");
|
||||
consoleSetTerrainHeights);
|
||||
|
||||
m_commander.RegisterCommand("show", showCommand);
|
||||
|
||||
m_module.Scene.RegisterModuleCommander(m_commander);
|
||||
|
||||
m_module.Scene.EventManager.OnPluginConsole += EventManagerOnPluginConsole;
|
||||
m_module.Scene.AddCommand(
|
||||
"Estates", m_module, "estate show", "estate show", "Shows all estates on the simulator.", ShowEstatesCommand);
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
m_module.Scene.EventManager.OnPluginConsole -= EventManagerOnPluginConsole;
|
||||
m_module.Scene.UnregisterModuleCommander(m_commander.Name);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processes commandline input. Do not call directly.
|
||||
/// </summary>
|
||||
/// <param name="args">Commandline arguments</param>
|
||||
protected void EventManagerOnPluginConsole(string[] args)
|
||||
{
|
||||
if (args[0] == "estate")
|
||||
{
|
||||
if (args.Length == 1)
|
||||
{
|
||||
m_commander.ProcessConsoleCommand("help", new string[0]);
|
||||
return;
|
||||
}
|
||||
|
||||
string[] tmpArgs = new string[args.Length - 2];
|
||||
int i;
|
||||
for (i = 2; i < args.Length; i++)
|
||||
tmpArgs[i - 2] = args[i];
|
||||
|
||||
m_commander.ProcessConsoleCommand(args[1], tmpArgs);
|
||||
}
|
||||
}
|
||||
public void Close() {}
|
||||
|
||||
protected void consoleSetTerrainTexture(string module, string[] args)
|
||||
{
|
||||
|
@ -201,7 +168,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
|
|||
}
|
||||
}
|
||||
|
||||
protected void ShowEstatesCommand(Object[] args)
|
||||
protected void ShowEstatesCommand(string module, string[] cmd)
|
||||
{
|
||||
StringBuilder report = new StringBuilder();
|
||||
RegionInfo ri = m_module.Scene.RegionInfo;
|
||||
|
|
|
@ -78,45 +78,45 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands
|
|||
m_scene = scene;
|
||||
m_console = MainConsole.Instance;
|
||||
|
||||
m_console.Commands.AddCommand("region", false, "delete object owner",
|
||||
m_console.Commands.AddCommand("Regions", false, "delete object owner",
|
||||
"delete object owner <UUID>",
|
||||
"Delete a scene object by owner", HandleDeleteObject);
|
||||
m_console.Commands.AddCommand("region", false, "delete object creator",
|
||||
m_console.Commands.AddCommand("Regions", false, "delete object creator",
|
||||
"delete object creator <UUID>",
|
||||
"Delete a scene object by creator", HandleDeleteObject);
|
||||
m_console.Commands.AddCommand("region", false, "delete object uuid",
|
||||
m_console.Commands.AddCommand("Regions", false, "delete object uuid",
|
||||
"delete object uuid <UUID>",
|
||||
"Delete a scene object by uuid", HandleDeleteObject);
|
||||
m_console.Commands.AddCommand("region", false, "delete object name",
|
||||
m_console.Commands.AddCommand("Regions", false, "delete object name",
|
||||
"delete object name <name>",
|
||||
"Delete a scene object by name", HandleDeleteObject);
|
||||
m_console.Commands.AddCommand("region", false, "delete object outside",
|
||||
m_console.Commands.AddCommand("Regions", false, "delete object outside",
|
||||
"delete object outside",
|
||||
"Delete all scene objects outside region boundaries", HandleDeleteObject);
|
||||
|
||||
m_console.Commands.AddCommand(
|
||||
"region",
|
||||
"Regions",
|
||||
false,
|
||||
"show object uuid",
|
||||
"show object uuid <UUID>",
|
||||
"Show details of a scene object with the given UUID", HandleShowObjectByUuid);
|
||||
|
||||
m_console.Commands.AddCommand(
|
||||
"region",
|
||||
"Regions",
|
||||
false,
|
||||
"show object name",
|
||||
"show object name <name>",
|
||||
"Show details of scene objects with the given name", HandleShowObjectByName);
|
||||
|
||||
m_console.Commands.AddCommand(
|
||||
"region",
|
||||
"Regions",
|
||||
false,
|
||||
"show part uuid",
|
||||
"show part uuid <UUID>",
|
||||
"Show details of a scene object parts with the given UUID", HandleShowPartByUuid);
|
||||
|
||||
m_console.Commands.AddCommand(
|
||||
"region",
|
||||
"Regions",
|
||||
false,
|
||||
"show part name",
|
||||
"show part name <name>",
|
||||
|
|
|
@ -206,17 +206,17 @@ namespace OpenSim.Region.CoreModules.World.Permissions
|
|||
m_scene.Permissions.OnControlPrimMedia += CanControlPrimMedia;
|
||||
m_scene.Permissions.OnInteractWithPrimMedia += CanInteractWithPrimMedia;
|
||||
|
||||
m_scene.AddCommand(this, "bypass permissions",
|
||||
m_scene.AddCommand("Users", this, "bypass permissions",
|
||||
"bypass permissions <true / false>",
|
||||
"Bypass permission checks",
|
||||
HandleBypassPermissions);
|
||||
|
||||
m_scene.AddCommand(this, "force permissions",
|
||||
m_scene.AddCommand("Users", this, "force permissions",
|
||||
"force permissions <true / false>",
|
||||
"Force permissions on or off",
|
||||
HandleForcePermissions);
|
||||
|
||||
m_scene.AddCommand(this, "debug permissions",
|
||||
m_scene.AddCommand("Users", this, "debug permissions",
|
||||
"debug permissions <true / false>",
|
||||
"Turn on permissions debugging",
|
||||
HandleDebugPermissions);
|
||||
|
|
|
@ -78,21 +78,21 @@ namespace OpenSim.Region.CoreModules.World.Region
|
|||
m_Scene = scene;
|
||||
|
||||
scene.RegisterModuleInterface<IRestartModule>(this);
|
||||
MainConsole.Instance.Commands.AddCommand("RestartModule",
|
||||
MainConsole.Instance.Commands.AddCommand("Regions",
|
||||
false, "region restart bluebox",
|
||||
"region restart bluebox <message> <delta seconds>+",
|
||||
"Schedule a region restart",
|
||||
"Schedule a region restart after a given number of seconds. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.",
|
||||
HandleRegionRestart);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("RestartModule",
|
||||
MainConsole.Instance.Commands.AddCommand("Regions",
|
||||
false, "region restart notice",
|
||||
"region restart notice <message> <delta seconds>+",
|
||||
"Schedule a region restart",
|
||||
"Schedule a region restart after a given number of seconds. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a transient notice. If multiple deltas are given then a notice is sent when we reach each delta.",
|
||||
HandleRegionRestart);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("RestartModule",
|
||||
MainConsole.Instance.Commands.AddCommand("Regions",
|
||||
false, "region restart abort",
|
||||
"region restart abort [<message>]",
|
||||
"Abort a region restart", HandleRegionRestart);
|
||||
|
|
|
@ -277,18 +277,19 @@ namespace OpenSim.Region.CoreModules
|
|||
m_frame = 0;
|
||||
|
||||
// This one puts an entry in the main help screen
|
||||
m_scene.AddCommand(this, String.Empty, "sun", "Usage: sun [param] [value] - Get or Update Sun module paramater", null);
|
||||
// m_scene.AddCommand("Regions", this, "sun", "sun", "Usage: sun [param] [value] - Get or Update Sun module paramater", null);
|
||||
|
||||
// This one enables the ability to type just "sun" without any parameters
|
||||
m_scene.AddCommand(this, "sun", "", "", HandleSunConsoleCommand);
|
||||
// m_scene.AddCommand("Regions", this, "sun", "", "", HandleSunConsoleCommand);
|
||||
foreach (KeyValuePair<string, string> kvp in GetParamList())
|
||||
{
|
||||
m_scene.AddCommand(this, String.Format("sun {0}", kvp.Key), String.Format("{0} - {1}", kvp.Key, kvp.Value), "", HandleSunConsoleCommand);
|
||||
string sunCommand = string.Format("sun {0}", kvp.Key);
|
||||
m_scene.AddCommand("Regions", this, sunCommand, string.Format("{0} [<value>]", sunCommand), kvp.Value, "", HandleSunConsoleCommand);
|
||||
}
|
||||
|
||||
TimeZone local = TimeZone.CurrentTimeZone;
|
||||
TicksUTCOffset = local.GetUtcOffset(local.ToLocalTime(DateTime.Now)).Ticks;
|
||||
m_log.Debug("[SUN]: localtime offset is " + TicksUTCOffset);
|
||||
m_log.DebugFormat("[SUN]: localtime offset is {0}", TicksUTCOffset);
|
||||
|
||||
// Align ticks with Second Life
|
||||
|
||||
|
|
|
@ -117,24 +117,31 @@ namespace OpenSim.Region.CoreModules
|
|||
}
|
||||
|
||||
// This one puts an entry in the main help screen
|
||||
m_scene.AddCommand(this, String.Empty, "wind", "Usage: wind <plugin> <param> [value] - Get or Update Wind paramaters", null);
|
||||
// m_scene.AddCommand("Regions", this, "wind", "wind", "Usage: wind <plugin> <param> [value] - Get or Update Wind paramaters", null);
|
||||
|
||||
// This one enables the ability to type just the base command without any parameters
|
||||
m_scene.AddCommand(this, "wind", "", "", HandleConsoleCommand);
|
||||
// m_scene.AddCommand("Regions", this, "wind", "", "", HandleConsoleCommand);
|
||||
|
||||
// Get a list of the parameters for each plugin
|
||||
foreach (IWindModelPlugin windPlugin in m_availableWindPlugins.Values)
|
||||
{
|
||||
m_scene.AddCommand(this, String.Format("wind base wind_plugin {0}", windPlugin.Name), String.Format("{0} - {1}", windPlugin.Name, windPlugin.Description), "", HandleConsoleBaseCommand);
|
||||
m_scene.AddCommand(this, String.Format("wind base wind_update_rate"), "Change the wind update rate.", "", HandleConsoleBaseCommand);
|
||||
// m_scene.AddCommand("Regions", this, String.Format("wind base wind_plugin {0}", windPlugin.Name), String.Format("{0} - {1}", windPlugin.Name, windPlugin.Description), "", HandleConsoleBaseCommand);
|
||||
m_scene.AddCommand(
|
||||
"Regions",
|
||||
this,
|
||||
"wind base wind_update_rate",
|
||||
"wind base wind_update_rate [<value>]",
|
||||
"Get or set the wind update rate.",
|
||||
"",
|
||||
HandleConsoleBaseCommand);
|
||||
|
||||
foreach (KeyValuePair<string, string> kvp in windPlugin.WindParams())
|
||||
{
|
||||
m_scene.AddCommand(this, String.Format("wind {0} {1}", windPlugin.Name, kvp.Key), String.Format("{0} : {1} - {2}", windPlugin.Name, kvp.Key, kvp.Value), "", HandleConsoleParamCommand);
|
||||
string windCommand = String.Format("wind {0} {1}", windPlugin.Name, kvp.Key);
|
||||
m_scene.AddCommand("Regions", this, windCommand, string.Format("{0} [<value>]", windCommand), kvp.Value, "", HandleConsoleParamCommand);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Register event handlers for when Avatars enter the region, and frame ticks
|
||||
m_scene.EventManager.OnFrame += WindUpdate;
|
||||
m_scene.EventManager.OnMakeRootAgent += OnAgentEnteredRegion;
|
||||
|
|
|
@ -102,7 +102,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
|||
m_scene.RegisterModuleInterface<IWorldMapModule>(this);
|
||||
|
||||
m_scene.AddCommand(
|
||||
this, "export-map",
|
||||
"Regions", this, "export-map",
|
||||
"export-map [<path>]",
|
||||
"Save an image of the world map", HandleExportWorldMapConsoleCommand);
|
||||
|
||||
|
|
|
@ -619,7 +619,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
#endregion Region Settings
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("region", false, "reload estate",
|
||||
MainConsole.Instance.Commands.AddCommand("Estates", false, "reload estate",
|
||||
"reload estate",
|
||||
"Reload the estate data", HandleReloadEstate);
|
||||
|
||||
|
|
|
@ -474,6 +474,63 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// <summary>
|
||||
/// Call this from a region module to add a command to the OpenSim console.
|
||||
/// </summary>
|
||||
/// <param name="mod">
|
||||
/// The use of IRegionModuleBase is a cheap trick to get a different method signature,
|
||||
/// though all new modules should be using interfaces descended from IRegionModuleBase anyway.
|
||||
/// </param>
|
||||
/// <param name="category">
|
||||
/// Category of the command. This is the section under which it will appear when the user asks for help
|
||||
/// </param>
|
||||
/// <param name="command"></param>
|
||||
/// <param name="shorthelp"></param>
|
||||
/// <param name="longhelp"></param>
|
||||
/// <param name="callback"></param>
|
||||
public void AddCommand(
|
||||
string category, object mod, string command, string shorthelp, string longhelp, CommandDelegate callback)
|
||||
{
|
||||
AddCommand(category, mod, command, shorthelp, longhelp, string.Empty, callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Call this from a region module to add a command to the OpenSim console.
|
||||
/// </summary>
|
||||
/// <param name="mod"></param>
|
||||
/// <param name="command"></param>
|
||||
/// <param name="shorthelp"></param>
|
||||
/// <param name="longhelp"></param>
|
||||
/// <param name="descriptivehelp"></param>
|
||||
/// <param name="callback"></param>
|
||||
public void AddCommand(object mod, string command, string shorthelp, string longhelp, string descriptivehelp, CommandDelegate callback)
|
||||
{
|
||||
string moduleName = "";
|
||||
|
||||
if (mod != null)
|
||||
{
|
||||
if (mod is IRegionModule)
|
||||
{
|
||||
IRegionModule module = (IRegionModule)mod;
|
||||
moduleName = module.Name;
|
||||
}
|
||||
else if (mod is IRegionModuleBase)
|
||||
{
|
||||
IRegionModuleBase module = (IRegionModuleBase)mod;
|
||||
moduleName = module.Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("AddCommand module parameter must be IRegionModule or IRegionModuleBase");
|
||||
}
|
||||
}
|
||||
|
||||
AddCommand(moduleName, mod, command, shorthelp, longhelp, descriptivehelp, callback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Call this from a region module to add a command to the OpenSim console.
|
||||
/// </summary>
|
||||
/// <param name="category">
|
||||
/// Category of the command. This is the section under which it will appear when the user asks for help
|
||||
/// </param>
|
||||
/// <param name="mod"></param>
|
||||
/// <param name="command"></param>
|
||||
/// <param name="shorthelp"></param>
|
||||
|
@ -481,12 +538,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// <param name="descriptivehelp"></param>
|
||||
/// <param name="callback"></param>
|
||||
public void AddCommand(
|
||||
object mod, string command, string shorthelp, string longhelp, string descriptivehelp, CommandDelegate callback)
|
||||
string category, object mod, string command,
|
||||
string shorthelp, string longhelp, string descriptivehelp, CommandDelegate callback)
|
||||
{
|
||||
if (MainConsole.Instance == null)
|
||||
return;
|
||||
|
||||
string modulename = String.Empty;
|
||||
bool shared = false;
|
||||
|
||||
if (mod != null)
|
||||
|
@ -494,20 +551,20 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (mod is IRegionModule)
|
||||
{
|
||||
IRegionModule module = (IRegionModule)mod;
|
||||
modulename = module.Name;
|
||||
shared = module.IsSharedModule;
|
||||
}
|
||||
else if (mod is IRegionModuleBase)
|
||||
{
|
||||
IRegionModuleBase module = (IRegionModuleBase)mod;
|
||||
modulename = module.Name;
|
||||
shared = mod is ISharedRegionModule;
|
||||
}
|
||||
else throw new Exception("AddCommand module parameter must be IRegionModule or IRegionModuleBase");
|
||||
else
|
||||
{
|
||||
throw new Exception("AddCommand module parameter must be IRegionModule or IRegionModuleBase");
|
||||
}
|
||||
}
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
modulename, shared, command, shorthelp, longhelp, descriptivehelp, callback);
|
||||
category, shared, command, shorthelp, longhelp, descriptivehelp, callback);
|
||||
}
|
||||
|
||||
public virtual ISceneObject DeserializeObject(string representation)
|
||||
|
|
|
@ -92,7 +92,7 @@ namespace OpenSim.Region.OptionalModules.Agent.TextureSender
|
|||
m_scene = scene;
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"j2k",
|
||||
"Assets",
|
||||
false,
|
||||
"j2k decode",
|
||||
"j2k decode <ID>",
|
||||
|
|
|
@ -82,19 +82,19 @@ namespace OpenSim.Region.CoreModules.UDP.Linden
|
|||
m_scenes[scene.RegionInfo.RegionID] = scene;
|
||||
|
||||
scene.AddCommand(
|
||||
this, "image queues clear",
|
||||
"Comms", 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",
|
||||
"Comms", 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",
|
||||
"Comms", this, "show pqueues",
|
||||
"show pqueues [full]",
|
||||
"Show priority queue data for each client",
|
||||
"Without the 'full' option, only root agents are shown."
|
||||
|
@ -102,7 +102,7 @@ namespace OpenSim.Region.CoreModules.UDP.Linden
|
|||
(mod, cmd) => MainConsole.Instance.Output(GetPQueuesReport(cmd)));
|
||||
|
||||
scene.AddCommand(
|
||||
this, "show queues",
|
||||
"Comms", this, "show queues",
|
||||
"show queues [full]",
|
||||
"Show queue data for each client",
|
||||
"Without the 'full' option, only root agents are shown."
|
||||
|
@ -110,13 +110,13 @@ namespace OpenSim.Region.CoreModules.UDP.Linden
|
|||
(mod, cmd) => MainConsole.Instance.Output(GetQueuesReport(cmd)));
|
||||
|
||||
scene.AddCommand(
|
||||
this, "show image queues",
|
||||
"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(
|
||||
this, "show throttles",
|
||||
"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."
|
||||
|
@ -124,7 +124,7 @@ namespace OpenSim.Region.CoreModules.UDP.Linden
|
|||
(mod, cmd) => MainConsole.Instance.Output(GetThrottlesReport(cmd)));
|
||||
|
||||
scene.AddCommand(
|
||||
this, "emergency-monitoring",
|
||||
"Comms", this, "emergency-monitoring",
|
||||
"emergency-monitoring",
|
||||
"Go on/off emergency monitoring mode",
|
||||
"Go on/off emergency monitoring mode",
|
||||
|
|
|
@ -88,7 +88,7 @@ namespace OpenSim.Region.OptionalModules.Asset
|
|||
m_scene = scene;
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"asset",
|
||||
"Assets",
|
||||
false,
|
||||
"show asset",
|
||||
"show asset <ID>",
|
||||
|
@ -96,7 +96,7 @@ namespace OpenSim.Region.OptionalModules.Asset
|
|||
HandleShowAsset);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"asset", false, "dump asset",
|
||||
"Assets", false, "dump asset",
|
||||
"dump asset <id>",
|
||||
"Dump an asset",
|
||||
HandleDumpAsset);
|
||||
|
|
|
@ -94,13 +94,13 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance
|
|||
m_scenes[scene.RegionInfo.RegionID] = scene;
|
||||
|
||||
scene.AddCommand(
|
||||
this, "show appearance",
|
||||
"Users", this, "show appearance",
|
||||
"show appearance [<first-name> <last-name>]",
|
||||
"Synonym for 'appearance show'",
|
||||
HandleShowAppearanceCommand);
|
||||
|
||||
scene.AddCommand(
|
||||
this, "appearance show",
|
||||
"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. "
|
||||
|
@ -110,14 +110,14 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance
|
|||
HandleShowAppearanceCommand);
|
||||
|
||||
scene.AddCommand(
|
||||
this, "appearance send",
|
||||
"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(
|
||||
this, "appearance rebake",
|
||||
"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."
|
||||
|
@ -127,7 +127,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance
|
|||
HandleRebakeAppearanceCommand);
|
||||
|
||||
scene.AddCommand(
|
||||
this, "appearance find",
|
||||
"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.",
|
||||
|
|
|
@ -100,22 +100,22 @@ namespace OpenSim.Region.OptionalModules.PhysicsParameters
|
|||
{
|
||||
if (!m_commandsLoaded)
|
||||
{
|
||||
MainConsole.Instance.Commands.AddCommand("Physics", false, "physics set",
|
||||
"physics set",
|
||||
"Set physics parameter from currently selected region" + Environment.NewLine
|
||||
+ "Invocation: " + setInvocation,
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"Regions", false, "physics set",
|
||||
setInvocation,
|
||||
"Set physics parameter from currently selected region",
|
||||
ProcessPhysicsSet);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("Physics", false, "physics get",
|
||||
"physics get",
|
||||
"Get physics parameter from currently selected region" + Environment.NewLine
|
||||
+ "Invocation: " + getInvocation,
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"Regions", false, "physics get",
|
||||
getInvocation,
|
||||
"Get physics parameter from currently selected region",
|
||||
ProcessPhysicsGet);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("Physics", false, "physics list",
|
||||
"physics list",
|
||||
"List settable physics parameters" + Environment.NewLine
|
||||
+ "Invocation: " + listInvocation,
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"Regions", false, "physics list",
|
||||
listInvocation,
|
||||
"List settable physics parameters",
|
||||
ProcessPhysicsList);
|
||||
|
||||
m_commandsLoaded = true;
|
||||
|
|
|
@ -345,22 +345,22 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
|||
}
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"scripts", false, "xengine status", "xengine status", "Show status information",
|
||||
"Scripts", false, "xengine status", "xengine status", "Show status information",
|
||||
"Show status information on the script engine.",
|
||||
HandleShowStatus);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"scripts", false, "scripts show", "scripts show [<script-item-uuid>]", "Show script information",
|
||||
"Scripts", false, "scripts show", "scripts show [<script-item-uuid>]", "Show script information",
|
||||
"Show information on all scripts known to the script engine."
|
||||
+ "If a <script-item-uuid> is given then only information on that script will be shown.",
|
||||
HandleShowScripts);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"scripts", false, "show scripts", "show scripts [<script-item-uuid>]", "Show script information",
|
||||
"Scripts", false, "show scripts", "show scripts [<script-item-uuid>]", "Show script information",
|
||||
"Synonym for scripts show command", HandleShowScripts);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"scripts", false, "scripts suspend", "scripts suspend [<script-item-uuid>]", "Suspends all running scripts",
|
||||
"Scripts", false, "scripts suspend", "scripts suspend [<script-item-uuid>]", "Suspends all running scripts",
|
||||
"Suspends all currently running scripts. This only suspends event delivery, it will not suspend a"
|
||||
+ " script that is currently processing an event.\n"
|
||||
+ "Suspended scripts will continue to accumulate events but won't process them.\n"
|
||||
|
@ -368,20 +368,20 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
|||
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleSuspendScript));
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"scripts", false, "scripts resume", "scripts resume [<script-item-uuid>]", "Resumes all suspended scripts",
|
||||
"Scripts", false, "scripts resume", "scripts resume [<script-item-uuid>]", "Resumes all suspended scripts",
|
||||
"Resumes all currently suspended scripts.\n"
|
||||
+ "Resumed scripts will process all events accumulated whilst suspended."
|
||||
+ "If a <script-item-uuid> is given then only that script will be resumed. Otherwise, all suitable scripts are resumed.",
|
||||
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleResumeScript));
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"scripts", false, "scripts stop", "scripts stop [<script-item-uuid>]", "Stops all running scripts",
|
||||
"Scripts", false, "scripts stop", "scripts stop [<script-item-uuid>]", "Stops all running scripts",
|
||||
"Stops all running scripts."
|
||||
+ "If a <script-item-uuid> is given then only that script will be stopped. Otherwise, all suitable scripts are stopped.",
|
||||
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleStopScript));
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand(
|
||||
"scripts", false, "scripts start", "scripts start [<script-item-uuid>]", "Starts all stopped scripts",
|
||||
"Scripts", false, "scripts start", "scripts start [<script-item-uuid>]", "Starts all stopped scripts",
|
||||
"Starts all stopped scripts."
|
||||
+ "If a <script-item-uuid> is given then only that script will be started. Otherwise, all suitable scripts are started.",
|
||||
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleStartScript));
|
||||
|
|
|
@ -236,16 +236,16 @@ namespace OpenSim.Server.Base
|
|||
|
||||
// Register the quit command
|
||||
//
|
||||
MainConsole.Instance.Commands.AddCommand("base", false, "quit",
|
||||
MainConsole.Instance.Commands.AddCommand("General", false, "quit",
|
||||
"quit",
|
||||
"Quit the application", HandleQuit);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("base", false, "shutdown",
|
||||
MainConsole.Instance.Commands.AddCommand("General", false, "shutdown",
|
||||
"shutdown",
|
||||
"Quit the application", HandleQuit);
|
||||
|
||||
|
||||
// Register a command to read other commands from a file
|
||||
MainConsole.Instance.Commands.AddCommand("base", false, "command-script",
|
||||
MainConsole.Instance.Commands.AddCommand("General", false, "command-script",
|
||||
"command-script <script>",
|
||||
"Run a command script from file", HandleScript);
|
||||
|
||||
|
|
|
@ -72,19 +72,19 @@ namespace OpenSim.Server.Handlers.Asset
|
|||
server.AddStreamHandler(new AssetServerPostHandler(m_AssetService));
|
||||
server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService, allowDelete));
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("kfs", false,
|
||||
MainConsole.Instance.Commands.AddCommand("Assets", false,
|
||||
"show asset",
|
||||
"show asset <ID>",
|
||||
"Show asset information",
|
||||
HandleShowAsset);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("kfs", false,
|
||||
MainConsole.Instance.Commands.AddCommand("Assets", false,
|
||||
"delete asset",
|
||||
"delete asset <ID>",
|
||||
"Delete asset from database",
|
||||
HandleDeleteAsset);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("kfs", false,
|
||||
MainConsole.Instance.Commands.AddCommand("Assets", false,
|
||||
"dump asset",
|
||||
"dump asset <ID>",
|
||||
"Dump asset to a file",
|
||||
|
|
|
@ -84,14 +84,14 @@ namespace OpenSim.Services.GridService
|
|||
|
||||
if (MainConsole.Instance != null)
|
||||
{
|
||||
MainConsole.Instance.Commands.AddCommand("grid", true,
|
||||
MainConsole.Instance.Commands.AddCommand("Regions", true,
|
||||
"show region",
|
||||
"show region <Region name>",
|
||||
"Show details on a region",
|
||||
String.Empty,
|
||||
HandleShowRegion);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("grid", true,
|
||||
MainConsole.Instance.Commands.AddCommand("Regions", true,
|
||||
"set region flags",
|
||||
"set region flags <Region name> <flags>",
|
||||
"Set database flags for region",
|
||||
|
|
|
@ -900,16 +900,16 @@ namespace OpenSim.Services.LLLoginService
|
|||
private void RegisterCommands()
|
||||
{
|
||||
//MainConsole.Instance.Commands.AddCommand
|
||||
MainConsole.Instance.Commands.AddCommand("loginservice", false, "login level",
|
||||
MainConsole.Instance.Commands.AddCommand("Users", false, "login level",
|
||||
"login level <level>",
|
||||
"Set the minimum user level to log in", HandleLoginCommand);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("loginservice", false, "login reset",
|
||||
MainConsole.Instance.Commands.AddCommand("Users", false, "login reset",
|
||||
"login reset",
|
||||
"Reset the login level to allow all users",
|
||||
HandleLoginCommand);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("loginservice", false, "login text",
|
||||
MainConsole.Instance.Commands.AddCommand("Users", false, "login text",
|
||||
"login text <text>",
|
||||
"Set the text users will see on login", HandleLoginCommand);
|
||||
|
||||
|
|
|
@ -89,17 +89,17 @@ namespace OpenSim.Services.UserAccountService
|
|||
if (m_RootInstance == null && MainConsole.Instance != null)
|
||||
{
|
||||
m_RootInstance = this;
|
||||
MainConsole.Instance.Commands.AddCommand("UserService", false,
|
||||
MainConsole.Instance.Commands.AddCommand("Users", false,
|
||||
"create user",
|
||||
"create user [<first> [<last> [<pass> [<email> [<user id>]]]]]",
|
||||
"Create a new user", HandleCreateUser);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("UserService", false,
|
||||
MainConsole.Instance.Commands.AddCommand("Users", false,
|
||||
"reset user password",
|
||||
"reset user password [<first> [<last> [<password>]]]",
|
||||
"Reset a user password", HandleResetUserPassword);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("UserService", false,
|
||||
MainConsole.Instance.Commands.AddCommand("Users", false,
|
||||
"set user level",
|
||||
"set user level [<first> [<last> [<level>]]]",
|
||||
"Set user level. If >= 200 and 'allow_grid_gods = true' in OpenSim.ini, "
|
||||
|
@ -107,7 +107,7 @@ namespace OpenSim.Services.UserAccountService
|
|||
+ "It will also affect the 'login level' command. ",
|
||||
HandleSetUserLevel);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("UserService", false,
|
||||
MainConsole.Instance.Commands.AddCommand("Users", false,
|
||||
"show account",
|
||||
"show account <first> <last>",
|
||||
"Show account details for the given user", HandleShowAccount);
|
||||
|
|
|
@ -164,6 +164,7 @@
|
|||
|
||||
<ReferencePath>../../../bin/</ReferencePath>
|
||||
<Reference name="System"/>
|
||||
<Reference name="System.Core"/>
|
||||
<Reference name="System.Xml"/>
|
||||
<Reference name="System.Web"/>
|
||||
<Reference name="log4net" path="../../../bin/"/>
|
||||
|
|
Loading…
Reference in New Issue