diff options
Added "show modules" command that if at root level will display a list of loaded "shared modules" (modules instances that are shared by multiple regions) or if a region is set then will display the list of local modules loaded in that region.
Can now use "show users" when a region is set, to have a list of users in just that region displayed.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Application/OpenSimMain.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 53 |
2 files changed, 57 insertions, 3 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index f84e8fc..c94d328 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs | |||
@@ -585,6 +585,13 @@ namespace OpenSim | |||
585 | } | 585 | } |
586 | } | 586 | } |
587 | break; | 587 | break; |
588 | case "modules": | ||
589 | m_log.Error("The currently loaded shared modules are:"); | ||
590 | foreach (OpenSim.Region.Environment.Interfaces.IRegionModule module in m_moduleLoader.LoadedSharedModules.Values) | ||
591 | { | ||
592 | m_log.Error("Shared Module: " + module.GetName()); | ||
593 | } | ||
594 | break; | ||
588 | } | 595 | } |
589 | } | 596 | } |
590 | 597 | ||
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 3122c5d..f8d17b4 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -92,9 +92,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
92 | 92 | ||
93 | // this most likely shouldn't be handled as a API method like this, but doing it for testing purposes | 93 | // this most likely shouldn't be handled as a API method like this, but doing it for testing purposes |
94 | public ModuleAPIMethod2<bool, string, byte[]> AddXferFile = null; | 94 | public ModuleAPIMethod2<bool, string, byte[]> AddXferFile = null; |
95 | 95 | ||
96 | private ISimChat m_simChatModule = null; | 96 | private ISimChat m_simChatModule = null; |
97 | 97 | ||
98 | #region Properties | 98 | #region Properties |
99 | 99 | ||
100 | public AgentCircuitManager AuthenticateHandler | 100 | public AgentCircuitManager AuthenticateHandler |
@@ -1133,7 +1133,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1133 | return false; | 1133 | return false; |
1134 | } | 1134 | } |
1135 | 1135 | ||
1136 | public void RegisterModuleInterface<M>( M mod) | 1136 | public void RegisterModuleInterface<M>(M mod) |
1137 | { | 1137 | { |
1138 | if (!this.ModuleInterfaces.ContainsKey(typeof(M))) | 1138 | if (!this.ModuleInterfaces.ContainsKey(typeof(M))) |
1139 | { | 1139 | { |
@@ -1231,6 +1231,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
1231 | { | 1231 | { |
1232 | switch (command) | 1232 | switch (command) |
1233 | { | 1233 | { |
1234 | case "show": | ||
1235 | if (cmdparams.Length > 0) | ||
1236 | { | ||
1237 | Show(cmdparams[0]); | ||
1238 | } | ||
1239 | break; | ||
1234 | case "save-xml": | 1240 | case "save-xml": |
1235 | if (cmdparams.Length > 0) | 1241 | if (cmdparams.Length > 0) |
1236 | { | 1242 | { |
@@ -1271,6 +1277,47 @@ namespace OpenSim.Region.Environment.Scenes | |||
1271 | } | 1277 | } |
1272 | } | 1278 | } |
1273 | 1279 | ||
1280 | public void Show(string ShowWhat) | ||
1281 | { | ||
1282 | switch (ShowWhat) | ||
1283 | { | ||
1284 | case "users": | ||
1285 | MainLog.Instance.Error("Current Region: " + RegionInfo.RegionName); | ||
1286 | MainLog.Instance.Error(String.Format("{0,-16}{1,-16}{2,-25}{3,-25}{4,-16}{5,-16}{6,-16}", "Firstname", "Lastname", "Agent ID", "Session ID", "Circuit", "IP", "World")); | ||
1287 | |||
1288 | foreach (EntityBase entity in Entities.Values) | ||
1289 | { | ||
1290 | if (entity is ScenePresence) | ||
1291 | { | ||
1292 | ScenePresence scenePrescence = entity as ScenePresence; | ||
1293 | if (!scenePrescence.childAgent) | ||
1294 | { | ||
1295 | MainLog.Instance.Error( | ||
1296 | String.Format("{0,-16}{1,-16}{2,-25}{3,-25}{4,-16},{5,-16}{6,-16}", | ||
1297 | scenePrescence.Firstname, | ||
1298 | scenePrescence.Lastname, | ||
1299 | scenePrescence.UUID, | ||
1300 | scenePrescence.ControllingClient.AgentId, | ||
1301 | "Unknown", | ||
1302 | "Unknown", | ||
1303 | RegionInfo.RegionName)); | ||
1304 | } | ||
1305 | } | ||
1306 | } | ||
1307 | break; | ||
1308 | case "modules": | ||
1309 | MainLog.Instance.Error("The currently loaded modules in " + this.RegionInfo.RegionName + " are:"); | ||
1310 | foreach (OpenSim.Region.Environment.Interfaces.IRegionModule module in this.Modules.Values) | ||
1311 | { | ||
1312 | if (!module.IsSharedModule()) | ||
1313 | { | ||
1314 | MainLog.Instance.Error("Region Module: " + module.GetName()); | ||
1315 | } | ||
1316 | } | ||
1317 | break; | ||
1318 | } | ||
1319 | } | ||
1320 | |||
1274 | #region Script Engine | 1321 | #region Script Engine |
1275 | private List<OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface> ScriptEngines = new List<OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface>(); | 1322 | private List<OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface> ScriptEngines = new List<OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface>(); |
1276 | public void AddScriptEngine(OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface ScriptEngine, LogBase m_logger) | 1323 | public void AddScriptEngine(OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface ScriptEngine, LogBase m_logger) |