diff options
Diffstat (limited to 'OpenSim/Region/Application/OpenSim.cs')
-rw-r--r-- | OpenSim/Region/Application/OpenSim.cs | 109 |
1 files changed, 14 insertions, 95 deletions
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index a7e7d03..a18a6fe 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -86,6 +86,7 @@ namespace OpenSim | |||
86 | IConfig startupConfig = Config.Configs["Startup"]; | 86 | IConfig startupConfig = Config.Configs["Startup"]; |
87 | IConfig networkConfig = Config.Configs["Network"]; | 87 | IConfig networkConfig = Config.Configs["Network"]; |
88 | 88 | ||
89 | int stpMinThreads = 2; | ||
89 | int stpMaxThreads = 15; | 90 | int stpMaxThreads = 15; |
90 | 91 | ||
91 | if (startupConfig != null) | 92 | if (startupConfig != null) |
@@ -112,12 +113,13 @@ namespace OpenSim | |||
112 | if (!String.IsNullOrEmpty(asyncCallMethodStr) && Utils.EnumTryParse<FireAndForgetMethod>(asyncCallMethodStr, out asyncCallMethod)) | 113 | if (!String.IsNullOrEmpty(asyncCallMethodStr) && Utils.EnumTryParse<FireAndForgetMethod>(asyncCallMethodStr, out asyncCallMethod)) |
113 | Util.FireAndForgetMethod = asyncCallMethod; | 114 | Util.FireAndForgetMethod = asyncCallMethod; |
114 | 115 | ||
116 | stpMinThreads = startupConfig.GetInt("MinPoolThreads", 15); | ||
115 | stpMaxThreads = startupConfig.GetInt("MaxPoolThreads", 15); | 117 | stpMaxThreads = startupConfig.GetInt("MaxPoolThreads", 15); |
116 | m_consolePrompt = startupConfig.GetString("ConsolePrompt", @"Region (\R) "); | 118 | m_consolePrompt = startupConfig.GetString("ConsolePrompt", @"Region (\R) "); |
117 | } | 119 | } |
118 | 120 | ||
119 | if (Util.FireAndForgetMethod == FireAndForgetMethod.SmartThreadPool) | 121 | if (Util.FireAndForgetMethod == FireAndForgetMethod.SmartThreadPool) |
120 | Util.InitThreadPool(stpMaxThreads); | 122 | Util.InitThreadPool(stpMinThreads, stpMaxThreads); |
121 | 123 | ||
122 | m_log.Info("[OPENSIM MAIN]: Using async_call_method " + Util.FireAndForgetMethod); | 124 | m_log.Info("[OPENSIM MAIN]: Using async_call_method " + Util.FireAndForgetMethod); |
123 | } | 125 | } |
@@ -170,6 +172,13 @@ namespace OpenSim | |||
170 | if (userStatsURI != String.Empty) | 172 | if (userStatsURI != String.Empty) |
171 | MainServer.Instance.AddStreamHandler(new OpenSim.UXSimStatusHandler(this)); | 173 | MainServer.Instance.AddStreamHandler(new OpenSim.UXSimStatusHandler(this)); |
172 | 174 | ||
175 | if (managedStatsURI != String.Empty) | ||
176 | { | ||
177 | string urlBase = String.Format("/{0}/", managedStatsURI); | ||
178 | MainServer.Instance.AddHTTPHandler(urlBase, StatsManager.HandleStatsRequest); | ||
179 | m_log.InfoFormat("[OPENSIM] Enabling remote managed stats fetch. URL = {0}", urlBase); | ||
180 | } | ||
181 | |||
173 | if (m_console is RemoteConsole) | 182 | if (m_console is RemoteConsole) |
174 | { | 183 | { |
175 | if (m_consolePort == 0) | 184 | if (m_consolePort == 0) |
@@ -226,18 +235,6 @@ namespace OpenSim | |||
226 | "Force the update of all objects on clients", | 235 | "Force the update of all objects on clients", |
227 | HandleForceUpdate); | 236 | HandleForceUpdate); |
228 | 237 | ||
229 | m_console.Commands.AddCommand("Debug", false, "debug packet", | ||
230 | "debug packet <level> [<avatar-first-name> <avatar-last-name>]", | ||
231 | "Turn on packet debugging", | ||
232 | "If level > 255 then all incoming and outgoing packets are logged.\n" | ||
233 | + "If level <= 255 then incoming AgentUpdate and outgoing SimStats and SimulatorViewerTimeMessage packets are not logged.\n" | ||
234 | + "If level <= 200 then incoming RequestImage and outgoing ImagePacket, ImageData, LayerData and CoarseLocationUpdate packets are not logged.\n" | ||
235 | + "If level <= 100 then incoming ViewerEffect and AgentAnimation and outgoing ViewerEffect and AvatarAnimation packets are not logged.\n" | ||
236 | + "If level <= 50 then outgoing ImprovedTerseObjectUpdate packets are not logged.\n" | ||
237 | + "If level <= 0 then no packets are logged.\n" | ||
238 | + "If an avatar name is given then only packets from that avatar are logged", | ||
239 | Debug); | ||
240 | |||
241 | m_console.Commands.AddCommand("General", false, "change region", | 238 | m_console.Commands.AddCommand("General", false, "change region", |
242 | "change region <region name>", | 239 | "change region <region name>", |
243 | "Change current console region", ChangeSelectedRegion); | 240 | "Change current console region", ChangeSelectedRegion); |
@@ -358,21 +355,9 @@ namespace OpenSim | |||
358 | m_console.Commands.AddCommand("Regions", false, "delete-region", | 355 | m_console.Commands.AddCommand("Regions", false, "delete-region", |
359 | "delete-region <name>", | 356 | "delete-region <name>", |
360 | "Delete a region from disk", RunCommand); | 357 | "Delete a region from disk", RunCommand); |
361 | |||
362 | m_console.Commands.AddCommand("General", false, "modules list", | ||
363 | "modules list", | ||
364 | "List modules", HandleModules); | ||
365 | |||
366 | m_console.Commands.AddCommand("General", false, "modules load", | ||
367 | "modules load <name>", | ||
368 | "Load a module", HandleModules); | ||
369 | |||
370 | m_console.Commands.AddCommand("General", false, "modules unload", | ||
371 | "modules unload <name>", | ||
372 | "Unload a module", HandleModules); | ||
373 | } | 358 | } |
374 | 359 | ||
375 | public override void ShutdownSpecific() | 360 | protected override void ShutdownSpecific() |
376 | { | 361 | { |
377 | if (m_shutdownCommandsFile != String.Empty) | 362 | if (m_shutdownCommandsFile != String.Empty) |
378 | { | 363 | { |
@@ -435,8 +420,8 @@ namespace OpenSim | |||
435 | { | 420 | { |
436 | RegionInfo regionInfo = presence.Scene.RegionInfo; | 421 | RegionInfo regionInfo = presence.Scene.RegionInfo; |
437 | 422 | ||
438 | if (presence.Firstname.ToLower().Contains(mainParams[2].ToLower()) && | 423 | if (presence.Firstname.ToLower().Equals(mainParams[2].ToLower()) && |
439 | presence.Lastname.ToLower().Contains(mainParams[3].ToLower())) | 424 | presence.Lastname.ToLower().Equals(mainParams[3].ToLower())) |
440 | { | 425 | { |
441 | MainConsole.Instance.Output( | 426 | MainConsole.Instance.Output( |
442 | String.Format( | 427 | String.Format( |
@@ -450,6 +435,7 @@ namespace OpenSim | |||
450 | presence.ControllingClient.Kick("\nYou have been logged out by an administrator.\n"); | 435 | presence.ControllingClient.Kick("\nYou have been logged out by an administrator.\n"); |
451 | 436 | ||
452 | presence.Scene.IncomingCloseAgent(presence.UUID, force); | 437 | presence.Scene.IncomingCloseAgent(presence.UUID, force); |
438 | break; | ||
453 | } | 439 | } |
454 | } | 440 | } |
455 | 441 | ||
@@ -566,34 +552,6 @@ namespace OpenSim | |||
566 | } | 552 | } |
567 | 553 | ||
568 | /// <summary> | 554 | /// <summary> |
569 | /// Load, Unload, and list Region modules in use | ||
570 | /// </summary> | ||
571 | /// <param name="module"></param> | ||
572 | /// <param name="cmd"></param> | ||
573 | private void HandleModules(string module, string[] cmd) | ||
574 | { | ||
575 | List<string> args = new List<string>(cmd); | ||
576 | args.RemoveAt(0); | ||
577 | string[] cmdparams = args.ToArray(); | ||
578 | |||
579 | if (cmdparams.Length > 0) | ||
580 | { | ||
581 | switch (cmdparams[0].ToLower()) | ||
582 | { | ||
583 | case "list": | ||
584 | //TODO: Convert to new region modules | ||
585 | break; | ||
586 | case "unload": | ||
587 | //TODO: Convert to new region modules | ||
588 | break; | ||
589 | case "load": | ||
590 | //TODO: Convert to new region modules | ||
591 | break; | ||
592 | } | ||
593 | } | ||
594 | } | ||
595 | |||
596 | /// <summary> | ||
597 | /// Runs commands issued by the server console from the operator | 555 | /// Runs commands issued by the server console from the operator |
598 | /// </summary> | 556 | /// </summary> |
599 | /// <param name="command">The first argument of the parameter (the command)</param> | 557 | /// <param name="command">The first argument of the parameter (the command)</param> |
@@ -701,45 +659,6 @@ namespace OpenSim | |||
701 | RefreshPrompt(); | 659 | RefreshPrompt(); |
702 | } | 660 | } |
703 | 661 | ||
704 | /// <summary> | ||
705 | /// Turn on some debugging values for OpenSim. | ||
706 | /// </summary> | ||
707 | /// <param name="args"></param> | ||
708 | protected void Debug(string module, string[] args) | ||
709 | { | ||
710 | if (args.Length == 1) | ||
711 | return; | ||
712 | |||
713 | switch (args[1]) | ||
714 | { | ||
715 | case "packet": | ||
716 | string name = null; | ||
717 | if (args.Length == 5) | ||
718 | name = string.Format("{0} {1}", args[3], args[4]); | ||
719 | |||
720 | if (args.Length > 2) | ||
721 | { | ||
722 | int newDebug; | ||
723 | if (int.TryParse(args[2], out newDebug)) | ||
724 | { | ||
725 | SceneManager.SetDebugPacketLevelOnCurrentScene(newDebug, name); | ||
726 | // We provide user information elsewhere if any clients had their debug level set. | ||
727 | // MainConsole.Instance.OutputFormat("Debug packet level set to {0}", newDebug); | ||
728 | } | ||
729 | else | ||
730 | { | ||
731 | MainConsole.Instance.Output("Usage: debug packet 0..255"); | ||
732 | } | ||
733 | } | ||
734 | |||
735 | break; | ||
736 | |||
737 | default: | ||
738 | MainConsole.Instance.Output("Unknown debug command"); | ||
739 | break; | ||
740 | } | ||
741 | } | ||
742 | |||
743 | // see BaseOpenSimServer | 662 | // see BaseOpenSimServer |
744 | /// <summary> | 663 | /// <summary> |
745 | /// Many commands list objects for debugging. Some of the types are listed here | 664 | /// Many commands list objects for debugging. Some of the types are listed here |