From 98da84c851503c498e788f9c057ad19efaa33ebc Mon Sep 17 00:00:00 2001 From: Charles Krinke Date: Wed, 3 Sep 2008 03:32:29 +0000 Subject: Mantis#2105. Thank you kindly, HomerHorwitz for a patch that addresses: Due to the many problems with not cleaned up child-agents, I thought it might make sense to be able to see them on the console. 'show users' on the region-server's console now outputs root- and child-agents (with "root" or "child" column) --- OpenSim/Region/Application/OpenSim.cs | 17 +++++++++-------- OpenSim/Region/Environment/Scenes/SceneManager.cs | 13 +++++++++++++ 2 files changed, 22 insertions(+), 8 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index dbadecc..6829bef 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -661,13 +661,13 @@ namespace OpenSim break; case "users": - IList agents = m_sceneManager.GetCurrentSceneAvatars(); + IList agents = m_sceneManager.GetCurrentScenePresences(); m_console.Notice(String.Format("\nAgents connected: {0}\n", agents.Count)); m_console.Notice( - String.Format("{0,-16}{1,-16}{2,-37}{3,-16}", "Firstname", "Lastname", - "Agent ID","Region")); + String.Format("{0,-16}{1,-16}{2,-37}{3,-11}{4,-16}", "Firstname", "Lastname", + "Agent ID", "Root/Child", "Region")); foreach (ScenePresence presence in agents) { @@ -685,11 +685,12 @@ namespace OpenSim m_console.Notice( String.Format( - "{0,-16}{1,-16}{2,-37}{3,-16}", - presence.Firstname, - presence.Lastname, - presence.UUID, - regionName)); + "{0,-16}{1,-16}{2,-37}{3,-11}{4,-16}", + presence.Firstname, + presence.Lastname, + presence.UUID, + presence.IsChildAgent ? "Child" : "Root", + regionName)); } m_console.Notice(""); diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs index 046dab3..5546618 100644 --- a/OpenSim/Region/Environment/Scenes/SceneManager.cs +++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs @@ -435,6 +435,19 @@ namespace OpenSim.Region.Environment.Scenes return avatars; } + public List GetCurrentScenePresences() + { + List presences = new List(); + + ForEachCurrentScene(delegate(Scene scene) + { + List scenePresences = scene.GetScenePresences(); + presences.AddRange(scenePresences); + }); + + return presences; + } + public RegionInfo GetRegionInfo(ulong regionHandle) { foreach (Scene scene in m_localScenes) -- cgit v1.1