Commit Graph

3713 Commits (2c9859314f72cfa32358c43bc47a668ec62af008)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 160659f683 Make it possible to set worker/iocp min/max threadpool limits on the fly with the console command "debug threadpool set" 2013-08-05 23:04:36 +01:00
Justin Clark-Casey (justincc) 76bd3de2fd Add checks monitoring framework to provide alerts if certain conditions do not hold.
Not yet in use.
2013-08-05 19:22:47 +01:00
Diva Canto 5198df3aa0 Issue: 10 simultaneous TPs, many not making it. Now bypassing the per-url lock -- we should be "ok" (or, more "ok") now that we have increased the connection limit on the http library. But this is a sensitive part of the code, so it may need reverting. 2013-08-02 17:00:18 -07:00
teravus 7b9a50721d * Thanks Plugh for pointing out that the constructor that takes a ulong regionhandle and saves it to to X,Y vars in the OpenSim.Framework.Location object was inverting the X and Y resulting in X and Y confusion. The test also used 256x256 in the uint,uint constructor so it was unable to determine if the X and Y components swapped. I don't expect much upheaval from this commit, not a lot of features were using the ulong Location object constructor. The database never stores the ulong regionhandle... the prims are loaded by region Guid. LLUDPServer used it to determine regions that it handled in a service definition where there was simply a X == X test which has the same logical result un-switched as it did switched. Again, thanks LibOMV for the regionhandle code. 2013-08-01 16:32:36 -05:00
Justin Clark-Casey (justincc) 8efe4bfc2e Make "abnormal thread terminations" into "ClientLogoutsDueToNoReceives" and add this to the StatsManager
This reflects the actual use of this stat - it hasn't recorded general exceptions for some time.
Make the sim extra stats collector draw the data from the stats manager rather than maintaing this data itself.
2013-07-29 23:18:29 +01:00
Diva Canto 69975763d2 Several major improvements to group (V2) chat. Specifically: handle join/drop appropriately, invitechatboxes.
The major departure from flotsam is to send only one message per destination region, as opposed to one message per group member. This reduces messaging considerably in large groups that have clusters of members in certain regions.
2013-07-27 15:38:56 -07:00
Diva Canto 3dac92f345 Increased the rate of the PollServiceRequestManager to 0.5 secs (it was 1sec). Group chat is going over the EQ... Hopefully this won't increase CPU when there's nothing going on, but we need to watch for that. 2013-07-26 21:40:04 -07:00
Justin Clark-Casey (justincc) 056a6ee765 Fix regression tests relating to agent transfer by making simulator use last week's SIMULATOR/0.1 protocol for now. 2013-07-26 19:22:30 +01:00
Diva Canto 3891a8946b New Teleport protocol (V2), still compatible with V1 and older. (version of the destination is being checked)
In this new protocol, and as committed before, the viewer is not sent EnableSimulator/EstablishChildCommunication for the destination. Instead, it is sent TeleportFinish directly. TeleportFinish, in turn, makes the viewer send a UserCircuitCode packet followed by CompleteMovementIntoRegion packet. These 2 packets tend to occur one after the other almost immediately to the point that when CMIR arrives the client is not even connected yet and that packet is ignored (there might have been some race conditions here before); then the viewer sends CMIR again within 5-8 secs. But the delay between them may be higher in busier regions, which may lead to race conditions.
This commit improves the process so there are are no race conditions at the destination. CompleteMovement (triggered by the viewer) waits until Update has been sent from the origin. Update, in turn, waits until there is a *root* scene presence -- so making sure CompleteMovement has run MakeRoot. In other words, there are two threadlets at the destination, one from the viewer and one from the origin region, waiting for each other to do the right thing. That makes it safe to close the agent at the origin upon return of the Update call without having to wait for callback, because we are absolutely sure that the viewer knows it is in th new region.
Note also that in the V1 protocol, the destination was getting UseCircuitCode from the viewer twice -- once on EstablishAgentCommunication and then again on TeleportFinish. The second UCC was being ignored, but it shows how we were not following the expected steps...
2013-07-24 14:27:58 -07:00
Justin Clark-Casey (justincc) 9a4a513b5e Correct issue where the last instance of a sampled stat was shown 3x larger than it should have been (though internal use was correct) 2013-07-23 23:31:35 +01:00
Justin Clark-Casey (justincc) 76e46d0158 Improve spacing between data and units on console stats display 2013-07-23 17:23:16 +01:00
Justin Clark-Casey (justincc) 90528c23d9 For stats which can show average change over time, show the last sample as well as the average.
This is somewhat cryptic at the moment, need to improve documentation.
2013-07-23 01:13:13 +01:00
Diva Canto b5ab0698d6 EDIT BEAMS!!! They had been missing from OpenSim since ever. Thanks to lkalif for telling me how to route the information. The viewer effect is under the distance filter, so only avatars with cameras < 10m away see the beams. 2013-07-21 09:01:44 -07:00
Diva Canto d5a1779465 Manage AgentUpdates more sanely:
- The existing event to scene has been split into 2: OnAgentUpdate and OnAgentCameraUpdate, to better reflect the two types of updates that the viewer sends. We can run one without the other, which is what happens when the avie is still but the user is camming around
- Added thresholds (as opposed to equality) to determine whether the update is significant or not. I thin these thresholds are ok, but we can play with them later
- Ignore updates of HeadRotation, which were problematic and aren't being used up stream
2013-07-21 09:00:42 -07:00
Diva Canto 18d5d8f5dd Removed verbose debug from previous commit 2013-07-21 09:00:08 -07:00
Diva Canto edafea6ae6 PollServiceRequestManager: changed the long poll from a Queue to a List. No need to dequeue and enqueue items every 1sec. 2013-07-21 08:59:48 -07:00
Diva Canto 98d47ea428 Delay the enqueueing of non-longpoll requests for 100ms. No need to have these requests actively on the processing queue if it seems they're not ready. 2013-07-21 08:57:16 -07:00
Diva Canto b5062ae7ee Changed the timoeut of EQ 502s (no events) to 50 secs. The viewer post requests timeout in 60 secs.
There's plenty of room for improvement in handling the EQs. Some other time...
2013-07-18 13:30:04 -07:00
Diva Canto 71b1511db5 Revert "Revert "I confuse myself. Let's try this variable name instead.""
This reverts commit 52dc7b2a96.
2013-07-18 12:25:47 -07:00
Diva Canto a22a4db5ce Revert "Revert "Do the same trick that dahlia did for Dequeue(timeout)""
This reverts commit 5495df7443.
2013-07-18 12:25:22 -07:00
Diva Canto 552b85d33d Revert "Revert "Putting the requests back in the queue while testing for count >0 is not the smartest move...""
This reverts commit 7127891957.
2013-07-18 12:25:04 -07:00
Diva Canto ad198a714c Revert "Revert "Didn't mean to commit this change in BlockingQueue.cs""
This reverts commit fda91d93da.
2013-07-18 12:24:43 -07:00
Diva Canto 9e35b069a4 Reverting the reverts I did yesterday. cpu-branch has now been
successfully tested, and I'm merging back those changes, which proved to
be good.
Revert "Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:""

This reverts commit fa2370b32e.
2013-07-18 12:23:27 -07:00
Dan Lake ae997fffee Merge branch 'master' of git://opensimulator.org/git/opensim 2013-07-18 02:28:36 -07:00
Dan Lake 6572847518 Added MinPoolThreads to ini [Startup] section to control SmartThreadPool. 2013-07-18 02:28:07 -07:00
Justin Clark-Casey (justincc) 077be8b496 Fix what apepars to be a bug in DoubleQueue<T>.Enqueue(Queue<T> q, T data) where the q parmater is ignored and everyghig is always placed on m_lowQueue.
No actual impact presently since nothing ends up calling EnqueueHigh()
2013-07-18 01:23:33 +01:00
Diva Canto fa2370b32e Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:"
This reverts commit e46459ef21.
2013-07-17 15:05:36 -07:00
Diva Canto fda91d93da Revert "Didn't mean to commit this change in BlockingQueue.cs"
This reverts commit 0f5b616fb0.
2013-07-17 15:05:16 -07:00
Diva Canto 7127891957 Revert "Putting the requests back in the queue while testing for count >0 is not the smartest move..."
This reverts commit f4317dc26d.
2013-07-17 15:04:27 -07:00
Diva Canto 5495df7443 Revert "Do the same trick that dahlia did for Dequeue(timeout)"
This reverts commit af792bc7f2.
2013-07-17 15:04:12 -07:00
Diva Canto 52dc7b2a96 Revert "I confuse myself. Let's try this variable name instead."
This reverts commit 1d3deda10c.
2013-07-17 15:03:40 -07:00
Diva Canto 519dba9a69 Revert "Now trying DoubleQueue instead of BlockingQueue for the PollServiceRequestManager."
This reverts commit 5f95f4d78e.
2013-07-17 15:03:16 -07:00
Diva Canto 5c54eb30ed Revert "This is a completely unreasonable thing to do, effectively defying the purpose of BlockingQueues. Trying this, to see the effect on CPU."
This reverts commit 5232ab0496.
2013-07-17 15:02:54 -07:00
Diva Canto 5232ab0496 This is a completely unreasonable thing to do, effectively defying the purpose of BlockingQueues. Trying this, to see the effect on CPU. 2013-07-17 14:36:55 -07:00
Diva Canto 5f95f4d78e Now trying DoubleQueue instead of BlockingQueue for the PollServiceRequestManager. 2013-07-17 14:09:04 -07:00
Diva Canto 1d3deda10c I confuse myself. Let's try this variable name instead. 2013-07-17 13:26:15 -07:00
Diva Canto af792bc7f2 Do the same trick that dahlia did for Dequeue(timeout) 2013-07-17 13:23:29 -07:00
Diva Canto f4317dc26d Putting the requests back in the queue while testing for count >0 is not the smartest move... 2013-07-17 12:57:34 -07:00
Diva Canto 0f5b616fb0 Didn't mean to commit this change in BlockingQueue.cs 2013-07-17 12:02:00 -07:00
Diva Canto e46459ef21 Cleared up much confusion in PollServiceRequestManager. Here's the history:
When Melanie added the web fetch inventory throttle to core, she made the long poll requests (EQs) effectively be handled on an active loop. All those requests, if they existed, were being constantly dequeued, checked for events (which most often they didn't have), and requeued again. This was an active loop thread on a 100ms cycle!
This fixes the issue. Now the inventory requests, if they aren't ready to be served, are placed directly back in the queue, but the long poll requests aren't placed there until there are events ready to be sent or timeout has been reached.
This puts the LongPollServiceWatcherThread back to 1sec cycle, as it was before.
2013-07-17 11:19:36 -07:00
Justin Clark-Casey (justincc) cbc3576ee2 minor: Add warning method doc about possibly inconsistent results returned from BlockingQueue.Contains(), Count() and GetQueueArray() 2013-07-16 23:14:53 +01:00
Justin Clark-Casey (justincc) 50b8ab60f2 Revert "Revert "MSDN documentation is unclear about whether exiting a lock() block will trigger a Monitor.Wait() to exit, so avoid some locks that don't actually affect the state of the internal queues in the BlockingQueue class.""
This reverts commit 21a09ad3ad.

After more analysis and discussion, it is apparant that the Count(), Contains() and GetQueueArray() cannot be made thread-safe anyway without external locking
And this change appears to have a positive impact on performance.
I still believe that Monitor.Exit() will not release any thread for Monitor.Wait(), as per http://msdn.microsoft.com/en-gb/library/vstudio/system.threading.monitor.exit%28v=vs.100%29.aspx
so this should in theory make no difference, though mono implementation issues could possibly be coming into play.
2013-07-16 23:00:07 +01:00
Justin Clark-Casey (justincc) 21a09ad3ad Revert "MSDN documentation is unclear about whether exiting a lock() block will trigger a Monitor.Wait() to exit, so avoid some locks that don't actually affect the state of the internal queues in the BlockingQueue class."
This reverts commit 42e2a0d66e

Reverting because unfortunately this introduces race conditions because Contains(), Count() and GetQueueArray() may now end up returning the wrong result if another thread performs a simultaneous update on m_queue.
Code such as PollServiceRequestManager.Stop() relies on the count being correct otherwise a request may be lost.
Also, though some of the internal queue methods do not affect state, they are not thread-safe and could return the wrong result generating the same problem
lock() generates Monitor.Enter() and Monitor.Exit() under the covers.  Monitor.Exit() does not cause Monitor.Wait() to exist, only Pulse() and PulseAll() will do this
Reverted with agreement.
2013-07-16 22:03:49 +01:00
dahlia 42e2a0d66e MSDN documentation is unclear about whether exiting a lock() block will trigger a Monitor.Wait() to exit, so avoid some locks that don't actually affect the state of the internal queues in the BlockingQueue class. 2013-07-16 01:12:56 -07:00
Justin Clark-Casey (justincc) eb14e5a175 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-15 23:28:02 +01:00
Justin Clark-Casey (justincc) 1b7b664c86 Add request received/handling stats for caps which are served by http poll handlers.
This adds explicit cap poll handler supporting to the Caps classes rather than relying on callers to do the complicated coding.
Other refactoring was required to get logic into the right places to support this.
2013-07-15 23:27:46 +01:00
Diva Canto 60325f81d8 This might address the following observed exception:
17:14:28 - [APPLICATION]:
APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs
Exception: System.InvalidOperationException: Operation is not valid due to the current state of the object
  at System.Collections.Generic.Queue`1[OpenSim.Region.ClientStack.Linden.WebFetchInvDescModule+aPollRequest].Peek () [0x00011] in /root/install/mono-3.1.0/mono/mcs/class/System/System.Collections.Generic/Queue.cs:158
  at System.Collections.Generic.Queue`1[OpenSim.Region.ClientStack.Linden.WebFetchInvDescModule+aPollRequest].Dequeue () [0x00000] in /root/install/mono-3.1.0/mono/mcs/class/System/System.Collections.Generic/Queue.cs:140
  at OpenSim.Framework.DoubleQueue`1[OpenSim.Region.ClientStack.Linden.WebFetchInvDescModule+aPollRequest].Dequeue (TimeSpan wait, OpenSim.Region.ClientStack.Linden.aPollRequest& res) [0x0004e] in /home/avacon/opensim_2013-07-14/OpenSim/Framework/Util.cs:2297
2013-07-15 10:29:42 -07:00
Diva Canto c61ff917ef Authenticate ChildAgentUpdate too. 2013-07-14 09:21:28 -07:00
Robert Adams fa02f28dbf Add ToOSDMap() overrides to the Stat subclass CounterStat.
Add a GetStatsAsOSDMap method to StatsManager which allows the filtered
fetching of stats for eventual returning over the internets.
2013-07-12 14:04:14 -07:00
Justin Clark-Casey (justincc) 44e9849ed1 Fix regression where llHTTPRequests which did not get an OK response returned 499 and the exception message in the http_response event rather than the actual response code and body.
This was a regression since commit 831e4c3 (Thu Apr 4 00:36:15 2013)
This commit also adds a regression test for this case, though this currently only works with Mono
This aims to address http://opensimulator.org/mantis/view.php?id=6704
2013-07-11 23:02:30 +01:00
Diva Canto 1b265b213b Added show client-stats [first last] command to expose what viewers are requesting. 2013-07-10 16:09:45 -07:00
Justin Clark-Casey (justincc) 2025dd25f6 Add missing file BaseOutputStreamHandler.cs from recent commit e19defd 2013-07-08 23:50:40 +01:00
Justin Clark-Casey (justincc) eccec4f8f6 minor: remove now unused migration-hack bool from DAMap 2013-07-08 23:32:19 +01:00
Justin Clark-Casey (justincc) dc54581700 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-08 22:19:37 +01:00
Diva Canto b2d4b8b1da BaseHttpServer: if the handler sets the content length, don't override it. This happens in HEAD handlers. 2013-07-08 14:12:11 -07:00
Justin Clark-Casey (justincc) e19defde36 Add "show caps stats by user" and "show caps stats by cap" console commands to print various counts of capability invocation by user and by cap
This currently prints caps requests received and handled, so that overload of received compared to handled or deadlock can be detected.
This involves making BaseStreamHandler and BaseOutputStream record the ints, which means inheritors should subclass ProcessRequest() instead of Handle()
However, existing inheriting classes overriding Handle() will still work, albeit without stats recording.
"show caps" becomes "show caps list" to disambiguate between show caps commands
2013-07-08 22:03:07 +01:00
Diva Canto 33ddb6c246 Revert "WARNING: BRUTE FORCE DEBUG. AVOID USING THIS COMMIT."
This reverts commit c95a23863a.
2013-07-04 13:25:58 -07:00
Diva Canto c95a23863a WARNING: BRUTE FORCE DEBUG. AVOID USING THIS COMMIT. 2013-07-04 13:13:52 -07:00
Diva Canto 00093a305d Changed HG status notifications timeout down to 15secs from the default 100. 2013-06-29 18:35:23 -07:00
Justin Clark-Casey (justincc) 3a634c56e3 Remove hack to migrate previous experimental-level os materials data.
This didn't seem to be working anyway and it's better not to have such hacks in the code for experimental stuff.
2013-06-29 00:23:41 +01:00
dahlia 529633d970 add method docs for DAMap.GetStore() and DAMap.SetStore() 2013-06-27 18:44:27 -07:00
Justin Clark-Casey (justincc) f7d09b898a Make the concept of namespaces explicit in dynamic attributes
This is in order to reduce the likelihood of naming clashes, make it easier to filter in/out attributes, ensure uniformity, etc.
All dynattrs in the opensim distro itself or likely future ones should be in the "OpenSim" namespace.
This does alter the underlying dynattrs data structure.  All data in previous structures may not be available, though old structures should not cause errors.
This is done without notice since this feature has been explicitly labelled as experimental, subject to change and has not been in a release.
However, existing materials data is being preserved by moving it to the "Materials" store in the "OpenSim" namespace.
2013-06-27 23:14:28 +01:00
Justin Clark-Casey (justincc) a33b6eed6d minor: remove mono compiler warnings in WebsocketServerHandler.cs 2013-06-20 00:54:19 +01:00
Justin Clark-Casey (justincc) 085a87060a Change "ObjectMemory" stat to "HeapMemory" to align with other stat names. Also round this and ProcessMemory to three decimal places in common with other memory stats.
I believe leaving out such minor info makes stats easier to read
2013-06-20 00:52:39 +01:00
Justin Clark-Casey (justincc) 05790ba1cf Allow more than one stat category to be specified in "show stats"
e.g. "show stats httpserver.9000 server.network"
2013-06-20 00:45:56 +01:00
Justin Clark-Casey (justincc) 5b1a9f84fd minor: Change "memory churn" terminology in statistics to "heap allocation rate" since this is more generally meaningful 2013-06-20 00:32:12 +01:00
Justin Clark-Casey (justincc) d97333255d Fix minor bug where the check whether to display SmartThreadPool stats was accidentally != null rather than == FireAndForgetMethod.SmartThreadPool
Due to another check this had no practical effect
2013-06-20 00:22:44 +01:00
Justin Clark-Casey (justincc) 086fd70a5f Make it possible to specify display of stats in a particular 'container' by separating category and container with a period.
e.g. "show stats server.network"
I failed to realize this had already been implemented without the period in the show stats command (as the command help had not been updated).
However, I would prefer the . approach as it will allow specifying multiple stats, easier wildcarding, etc.
This commit also prevents any stat from having a period in its short name.
2013-06-20 00:00:39 +01:00
Justin Clark-Casey (justincc) 84af1cab9b Display existing statistic of how many http requests a server is making as server.network.HTTPRequestsMade in "show stats all" 2013-06-19 20:48:12 +01:00
Justin Clark-Casey (justincc) dda44e31e3 minor: tidy up spacing if display a unit for additional stat information 2013-06-18 23:10:50 +01:00
Justin Clark-Casey (justincc) 9501a583cb Make number of inbound http requests handled available as a httpserver.<port>.IncomingHTTPRequestsProcessed stat 2013-06-18 23:07:18 +01:00
Justin Clark-Casey (justincc) 768e8e363b Fix issue where stat samples were accidentally static, so that any additional stat with sampling would produce wrong results 2013-06-18 22:49:49 +01:00
Justin Clark-Casey (justincc) a1e32b8437 If SmartThreadPool is active, display statistical information about it in "show stats server"
Also puts these and previous builtin threadpool stats in the "threadpool" stat container rather than "processor"
2013-06-18 00:10:21 +01:00
Justin Clark-Casey (justincc) b7c9dee033 refactor: Move existing code to generate report information on the threadpool to the ServerBase rather than being in Util 2013-06-17 23:57:10 +01:00
Justin Clark-Casey (justincc) c0a00cd7fd Fix bug where no threadpool data would be displayed in the "show threads" command if threadpool type was QueueUserWorkItem (Unsafe worked as expected) 2013-06-17 23:34:09 +01:00
Justin Clark-Casey (justincc) 865d46ae1e Drop server level stats to debug instead of info.
This was the original intention with these stats, as I didn't believe they would be useful to ordinary users if everything is working as it should.
Please amend if this is an issue.
Just for now, levels actually have no impact on what is displayed via the "show stats" command.
2013-06-17 22:57:47 +01:00
Justin Clark-Casey (justincc) 2c9bb0f973 Add server stats for available builtin threadpool and iocp workers 2013-06-17 22:55:25 +01:00
Justin Clark-Casey (justincc) 0d2fd0d914 Make general server stats available on the robust console as well as the simulator console
This means the "show stats" command is now active on the robust console.
2013-06-17 22:39:00 +01:00
Justin Clark-Casey (justincc) ef5be42c86 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-06-12 23:32:51 +01:00
Justin Clark-Casey (justincc) 47b6e78790 Implement logging of first 80 characters (debug level 5) or full body data (debug level 6) on outgoing requests, depending on debug level
This is set via "debug http out <level>"
This matches the existing debug level behaviours for logging incoming http data
2013-06-12 21:34:20 +01:00
Robert Adams 7556a0f699 Add TriggerScenePresenceUpdated events when an animation is added
or removed. Shouldn't impact anyone as only DSG seems to use
OnScenePresenceUpdated event.
Some minor format changes to AnimationSet's ToString().
2013-06-11 17:18:12 -07:00
Justin Clark-Casey (justincc) 7af97f88b7 Add port numbers to poll service thread names so that we can tell which belong to which HttpServer 2013-06-10 23:39:17 +01:00
Justin Clark-Casey (justincc) 32d1e50565 Reinstate explicit starting and stopping of PollServiceRequestManager added in 3eee991 but removed in 7c0bfca
Do not rely on destructors to stop things.
These fire at unpredictable times and cause problems such as http://opensimulator.org/mantis/view.php?id=6503
and most probably http://opensimulator.org/mantis/view.php?id=6668
2013-06-10 23:30:35 +01:00
Melanie 75631e0267 Supply proper type information for the various types of requests 2013-06-07 23:55:03 +01:00
Melanie 7c0bfca7a0 Adding Avination's PollService to round out the HTTP inventory changes 2013-06-07 23:43:45 +01:00
Melanie a7dbafb0e3 Port Avination's inventory send throttling 2013-06-05 23:42:50 +01:00
BlueWall d7fa9f671e Adding standard OpenSim header to source files 2013-05-31 22:03:27 -04:00
Robert Adams 924a5df25f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-05-30 19:20:36 -07:00
Robert Adams 48a175eff7 Add methods to Animation and AnimationSet for easier manipulation and
display of groups of animations (Equal(), ToString(), FromOSDArray(), ...).
No functional change to animations.
2013-05-30 19:16:34 -07:00
BlueWall 328883700a UserProfiles
UserProfiles for Robust and Standalone. Includes service and connectors for Robust and standalone opensim plus matching region module.
2013-05-30 17:59:18 -04:00
Melanie 533bbf033d Update the money framework to allow sending the new style linden "serverside is now viewerside" messages regarding currency
This will require all money modules to be refactored!
2013-05-25 02:08:54 +01:00
Mic Bowman 681fbda4b6 This is an experimental patch that adds support for comparing texture
hashes for the purpose of accurately responding to AgentTextureCached
packets. There is a change to IClientAPI to report the wearbles hashes
that come in through the SetAppearance packet. Added storage of the
texture hashes in the appearance. While these are added to the
Pack/Unpack (with support for missing values) routines (which means
Simian will store them properly), they are not currently persisted in
Robust.
2013-05-24 13:18:16 -07:00
Justin Clark-Casey (justincc) 06ab168897 To further help with tracking down the apperance of too much "Unknown User" in chatlogs, etc. temporarily change each instance of this in OpenSimulator so we can identify where it's coming from
For instance, the "Unknown User" in Util.ParseUniversalUserIdenitifer becaomes "Unknown UserUPUUI (class initials + method initials)
This is to help with http://opensimulator.org/mantis/view.php?id=6625
2013-05-21 22:26:15 +01:00
Melanie 55c9bc15e5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2013-05-11 01:29:30 +01:00
Melanie 81d8deb1a8 Send up the part missing from the Avination Estate commit.
Warning - contains a small migration.
2013-05-11 01:27:37 +01:00
Justin Clark-Casey (justincc) ff0332730d Implement delete key for local console 2013-05-09 23:11:37 +01:00
Justin Clark-Casey (justincc) 3290cd09d3 remove pointless region handle paramter from IClientAPI.SendKillObject() 2013-05-09 18:12:17 +01:00
Mic Bowman 33aaa40bee Adds an event and a method so that handling of the CachedTexture
packet can be pulled out of LLClientView and moved to
AvatarFactory. The first pass at reusing textures (turned off by
default) is included. When reusing textures, if the baked textures
from a previous login are still in the asset service (which generally
means that they are in the simulator's cache) then the avatar will not
need to rebake. This is both a performance improvement (specifically
that an avatars baked textures do not need to be sent to other users
who have the old textures cached) and a resource improvement (don't
have to deal with duplicate bakes in the asset service cache).
2013-05-08 13:13:51 -07:00
Diva Canto e92c05ebbd Added AvatarPickerSearch capability handler. 2013-05-07 18:01:48 -07:00
Justin Clark-Casey (justincc) 304c5d4a8b On startup, start scenes after we're set up all local scenes, rather than starting scenes before others have been created.
This aims to avoid a race condition where scenes could look to inform neighbours that they were up before those neighbours had been created.
http://opensimulator.org/mantis/view.php?id=6618
2013-05-03 18:48:50 +01:00
Justin Clark-Casey (justincc) 206fb306a7 Update SmartThreadPool to latest version 2.2.3 with a major and minor change.
SmartThreadPool code comes from http://www.codeproject.com/Articles/7933/Smart-Thread-Pool
This version implements thread abort (via WorkItem.Cancel(true)), threadpool naming, max thread stack, etc. so we no longer need to manually patch those.
However, two changes have been made to stock 2.2.3.
Major change: WorkItem.Cancel(bool abortExecution) in our version does not succeed if the work item was in progress and thread abort was not specified.
This is to match previous behaviour where we handle co-operative termination via another mechanism rather than checking WorkItem.IsCanceled.
Minor change: Did not add STP's StopWatch implementation as this is only used WinCE and Silverlight and causes a build clash with System.Diagnostics.StopWatch
The reason for updating is to see if this improves http://opensimulator.org/mantis/view.php?id=6557 and http://opensimulator.org/mantis/view.php?id=6586
2013-05-01 19:01:43 +01:00
Melanie 03c9d8ae4f Change EconomyDataRequest signature to use an IClientAPI rather than UUID. This is needed because recent LL viewer codebases call this earlier in login when the client is not yet established in the sim and can't be found by UUID.
Sending the reply requires having the IClientAPI.
2013-04-25 21:35:18 +01:00
Melanie 293a024c14 Allow callers to set the invoice parameter for GenericMessage 2013-04-22 22:39:08 +01:00
Justin Clark-Casey (justincc) 8e04c752fc If OpenSimulator is writing a PID file and finds the file already present on startup, logging an error since this is commonly due to an unclean shutdown.
Unclean shutdown can cause constantly moving objects to disappear if an OAR has just been loaded and they have not reached persistence time threshold, among other problems.
2013-04-09 22:38:47 +01:00
teravus d2367968e4 * In between the fog, a moment of clarity. This fixes mantis 6570 2013-04-04 19:10:23 -04:00
Melanie 5f4c4df227 Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
2013-03-26 03:40:06 +00:00
Justin Clark-Casey (justincc) 3648164219 Prevent multiple instances of the same item ID being appended to an AvatarAppearance
It looks like this was happening when AttachmentsModule.RezAttachments was doing a secondary set of each attachment to update with the asset ID (initially they only have the inventory ID).
However, with multi-attach this was appending a second copy of the same attachment rather than updating the data that was already there.
This commit requires both simulator and service to be updated.
2013-03-19 21:49:29 +00:00
Robert Adams c2e4f8aed5 For the moment, disable the output of the 'scene' statistics in SimExtraStatsCollector
and thus for the command 'show stats' because it is ugly and most of the information
is already output in the formatted printout that appears before.
2013-03-19 12:37:44 -07:00
teravus 6e1b3f9951 *Yet another HTTPServer update code changes in OpenSim Libs. * This fixes a connection close issue by getting rid of the socket references * This adds a connection timeout checker to shutdown poor or evil connections and combats DOS attempts that just connect and make no complete requests and just wait. It also actually implements KeepAlive... instead of just understanding the connection header in the request... you can test by connecting and requesting a keepalive header and sending another request on the same connection. The new timeout checker closes expired keepalive sessions, just make sure you send the request within 70 seconds of connecting or the timeout checker will timeout the connection. 2013-03-16 03:14:11 -04:00
Justin Clark-Casey (justincc) 12900ea84e Log same environment information to Robust log as is already done for simulator logs, for debug purposes 2013-03-14 23:39:15 +00:00
Justin Clark-Casey (justincc) c1115e4c2e Add ILandChannel.GetLandObject(Vector3 position) as this is a very common input to GetLandObject()
This conforms to the existing ILandChannel.ParcelsNearPoint() method
2013-03-14 22:56:26 +00:00
Justin Clark-Casey (justincc) 39a0928052 minor: Remove some mono compiler warnings in OpenSim.Framework.dll 2013-03-13 23:17:27 +00:00
Justin Clark-Casey (justincc) 5c53660a7f Add prototype dynamic objects map for scene object parts
This allows region modules to add dynamic objects to SOPs rather than having to continually push and pull OSD dynamic attributes.
This is to explore the original MOAP use case for dynamic attributes where it could be very awkward and possibly time-consuming to keep reconstructing MediaEntrys from stored DynamicAttributes.
This commit adds a DOExampleModule to demonstrate/evolve this code.
Dynamic objects involve no storage or persistence changes - the 'backing store' for any data that does need to be saved will remain the DAMap.
DOExampleModule in this commit only attaches a fresh dynamic object.  Actually constructing this from stored dynamic attributes and handling persistence is left for later.
These changes should affect no existing functionality, though it may or may not reveal necessary changes in DAMap down the road.
2013-03-13 22:59:06 +00:00
BlueWall f676408e2a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-03-05 15:30:54 -05:00
teravus 69fbcdf14c * Add a Max Payload size property to the Websocket Server Handler. If you would like to restrict the maximum packet size, (and therefore protect against Memory DOSing) then you should set this. I defaulted it to 40MB. This means that in theory, a malicious user could connect and send a packet that claims that the payload is up to 40 mb (even if it doesn't actually turn out to be 40mb. More testing needs to be done on it where the packets are maliciously malformed. 2013-03-05 00:04:09 -05:00
BlueWall 66d74e76b1 Add method to remove JsonRpc Handlers from the server 2013-03-03 09:40:44 -05:00
Justin Clark-Casey (justincc) 056f11c297 Show http poll handlers in separate http (poll) section of "show http-handlers" console command instead of never showing them (due to a previous bug).
The code was assuming that poll handlers were also included in general http handlers but this was not the case.
2013-02-27 20:33:11 +00:00
Justin Clark-Casey (justincc) 80c19b7cac Make sure we dispose of WebResponse, StreamReader and Stream in various places where we were not already. 2013-02-27 00:21:02 +00:00
Justin Clark-Casey (justincc) d0cb4fc326 Move map related settings from [Startup] to a new [Map] section in OpenSim.ini
Existing map settings in [Startup] will continue to work, and if present will override anything in [Map]
However, the proper place for such settings would now be [Map]
This is to reduce the use of [Startup] as a bag for non-generic settings which should really go in sections, in common with other settings.
This commit also extends Diva's previous work to allow a default setting to be given when looking at multiple sections for settings.
2013-02-25 23:04:38 +00:00
Robert Adams 2aae046b95 Make StatsManager default output a little more readable 2013-02-24 07:48:01 -08:00
Robert Adams 9f213892ea Add EventHistogram.GetHistogramAsOSDMap that returns that parameters
about the histogram as well as the values.
2013-02-24 07:48:00 -08:00
Robert Adams ee8d726ec5 Modify StatsManager so console command "show stats category container"
only outputs the statistics in the specified container in the category.
2013-02-24 07:48:00 -08:00
Diva Canto 0e8289cd00 Added new Util function for reading config vars that's more generic than the one I added yesterday -- this is for helping move config vars out of [Startup] 2013-02-22 15:57:33 -08:00
Diva Canto 56c979afe8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-02-21 17:27:03 -08:00
Diva Canto e515cdddec Simplification of HG configs: HomeURI and GatekeeperURI now are defined as default under [Startup]. They can then be overwritten in the other sections (but probably shouldn't). I kept the existing code for backwards compatibility, so this should not cause any breaks from people's current configurations. But people should move to have these 2 vars under [Startup] -- see OpenSim.ini.example and Robust.HG.ini.example. And yes, both names now end with "URI" for consistency. 2013-02-21 17:26:19 -08:00
Robert Adams 76ee47c797 Add a virtual ToOSDMap() function to Monitoring.Stat for future
overloading by aggregation statistics and browser based stat viewers.
2013-02-21 15:53:04 -08:00
Robert Adams 303e21babe Add CounterStat which is a wrapper for a counter stat but, because
the 'count' event is internal, historical data can be built it.
Also includes EventHistogram class for building time based,
bucketed history of event occurances.
Make Stat implement IDisposable for subclasses that might need it.
2013-02-21 15:53:02 -08:00
Robert Adams 681653ca13 Add a method to IStatsCollector for returning stats as an OSDMap.
Extend implementors of IStatsCollector to return an OSDMap of stats.
Update UserStatsCollector and AssetStatsCollector to return both
string and OSDMap data (as well as console format).
2013-02-20 16:13:51 -08:00
Justin Clark-Casey (justincc) 99ebff94b5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-02-20 22:11:04 +00:00
Justin Clark-Casey (justincc) a671c06ee5 Correct mistake in parsing 'show object pos' and similar pos commands where the 'to' text would be treat as the end vector rather than discarded.
Before this, the commands still work but the help text is wrong - one has to leave out the 'to' in stating the vectors
2013-02-20 22:09:33 +00:00
Diva Canto 4779f7d7d5 Deleted all AssemblyFileVersion directives 2013-02-19 17:14:55 -08:00
Dan Lake e09467b30d Merge branch 'master' of git://opensimulator.org/git/opensim 2013-02-14 20:06:22 -08:00
Dan Lake afeb5d4917 Use SortedDictionary in StatsManager instead of regular Dictionary so stats will interate and print in a defined order 2013-02-14 20:05:42 -08:00
teravus c22276a169 * gracefully handle a Situation where a double close is called on the WebSocket handler 2013-02-14 18:43:53 -05:00
Oren Hurvitz 745ef40153 Fixed ReadSculptData(): the check whether there are enough bytes to read was incorrect 2013-02-09 02:04:26 +00:00
Melanie 7bf33d333a Plumb the path from the client to the extra physics params and back 2013-02-07 22:25:28 +00:00
teravus 94a5232d3a * Adds Websocket support to baseHttpServer and IHttpServer.cs . This allows modules to set up a websocket server that websocket clients can connect to. An example module is in OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs 2013-02-07 10:50:17 -05:00
teravus 4867a7cbbf This is the final commit that enables the Websocket handler 2013-02-07 10:27:18 -05:00
Mic Bowman 274d376c82 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-02-06 17:32:57 -08:00
Mic Bowman e17392acbb Enables script access to the per object dynamic attributes through the JsonStore
script functions. Adds JsonAttachObjectStore to associate a store identifier with
an object (scripts can only access the store in their host object, this could be
extended but isn't necessary for now).

Note this opens a method to the DAMap OSDMap. This will be removed later, but
greatly simplifies the code for now.

The JsonStore and these scripts are disabled by default.
2013-02-06 17:29:17 -08:00
Dan Lake 7590ebc934 Merge branch 'master' of git://opensimulator.org/git/opensim 2013-02-06 16:45:47 -08:00
Dan Lake df37738ce7 WebStats will now use actual logfile as specified in OpenSim.exe.config rather than hardcoded ./OpenSim.log. This allows for rotating logs and other file appender types 2013-02-06 16:44:59 -08:00
Justin Clark-Casey (justincc) c8c5d74c22 minor: add method doc to DAMap.ValidateKey() 2013-02-07 00:22:39 +00:00
Justin Clark-Casey (justincc) e2c1e37b07 Add key length validation to DAMap.Add(KeyValuePair<string, OSDMap> kvp) to match Add(string key, OSDMap store) 2013-02-07 00:15:50 +00:00
Melanie e5beb480ea Partial port of Avination's support for the new physics parameters.
Implements the parameters as properties, the serialization and
database storage (MySQL only). Implements llSetPrimitiveParams for
prim physics shape and the other 4 extra params. Only the prim shape type
"None" is currently functional. No support for the Viewer UI (yet), that
will be ported in due course. Lots more to port, this is a large-ish changeset.
2013-02-06 08:03:04 +00:00
teravus 1dc09d8e8f We're not really done here.. but we're getting there. Socket Read is working.. Still have to do Header.ToBytes and compose a websocket frame with a payload. 2013-02-05 18:02:25 -05:00
Justin Clark-Casey (justincc) 1fc9f282fa Merge branch 'dynamic-attributes2' 2013-02-05 00:35:15 +00:00
Justin Clark-Casey (justincc) 1f1da23097 Bump version and assembly version numbers from 0.7.5 to 0.7.6
This is mostly Bluewall's work but I am also bumping the general version number
OpenSimulator 0.7.5 remains in the release candidate stage.
I'm doing this because master is significantly adding things that will not be in 0.7.5
This update should not cause issues with existing external binary DLLs because our DLLs do not have strong names
and so the exact version match requirement is not in force.
2013-02-05 00:23:17 +00:00
Jak Daniels fac72d540b Allow use of MaptileStaticUUID in Regions.ini to override the global setting in OpenSim.ini for each region.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2013-01-30 23:37:02 -05:00
Oren Hurvitz af6a7cf95d Added DynAttrs to the serialized XML format of prims. When copying prims, use deep copy for DynAttrs. 2013-01-25 04:03:26 +00:00
Oren Hurvitz fdec05a15e Stopped storing dynamic attributes in the PrimShape 2013-01-25 04:03:20 +00:00
Oren Hurvitz 8b4441d940 Changed DAMap to be the container of "data stores", which are OSDMaps. Store names must have at least 4 characters. 2013-01-25 04:03:18 +00:00
Justin Clark-Casey (justincc) 1650846df3 Lock DAMap rather than encapsulated OSDMap
This allows external lockers to preserve atomicity of dynamic attribute changes
2013-01-25 04:03:13 +00:00
Justin Clark-Casey (justincc) a6d9c26365 Encapsulate an OSDMap in DAMap (was DynAttrsOSDMap) rather than inheriting from it
This is the easier way to give us control over locking, rather than asking that OSDMap IDictionary methods be virtual
2013-01-25 04:03:11 +00:00
Justin Clark-Casey (justincc) 1bd0b06ec1 Implement Dynamic Attributes for SOP and PBS. Implement storage in SQLite 2013-01-25 04:03:04 +00:00
BlueWall 2841ed05cf Merge branch 'master' of /home/opensim/var/repo/opensim 2013-01-23 08:16:18 -05:00
BlueWall 1776986dc3 Add additional return status
Adding additional return status for JsonRpcMethod. Now returns true/false
2013-01-23 08:14:21 -05:00
Oren Hurvitz b77da5039e Assign the SmartThreadPool name in the constructor
This is required because some threads are created in the constructor, so assigning the name afterwards would be too late.
2013-01-19 02:08:58 +00:00
Justin Clark-Casey (justincc) 3eee991935 Explicitly stop PollServiceRequestManager() rather than relying on its destructor.
Hopes to address occasional shutdown failures from http://opensimulator.org/mantis/view.php?id=6503
2013-01-19 02:04:36 +00:00
Robert Adams a6afd2f706 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-01-17 14:51:52 -08:00
Robert Adams caad1edabf Add utility function to clamp a vector to a maximum magnitude. 2013-01-17 14:44:54 -08:00
Melanie 9c99ed26eb Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2013-01-16 16:52:57 +00:00
Melanie 5563a8916e Complete removal of the now unused state queue 2013-01-16 16:45:18 +00:00
BlueWall ca3e0d67d2 Add Json-Rpc 2.0 To Registered Handlers
Added registration json-rpc handlers in the http server. Covers version 2.0
  See: http://www.jsonrpc.org/specification
2013-01-15 10:04:16 -05:00
Justin Clark-Casey (justincc) 84407e322f revert accidental change to MemoryWatchdog stat calculation in previous b1b4687 2013-01-10 01:30:00 +00:00
Justin Clark-Casey (justincc) b1b4687250 Add "show script timers" command to show script timers. For debug purposes.
Also, "show sensors" changes to "show script sensors".
2013-01-10 00:57:49 +00:00
Justin Clark-Casey (justincc) 290dc274ec minor: Remove unnecessary commented out code from last commit c28a2f05 and fix up code comment 2013-01-09 01:04:43 +00:00
Justin Clark-Casey (justincc) c28a2f05ca minor: make spacing consistent in console help output 2013-01-09 00:54:28 +00:00
Oren Hurvitz 1b826b4877 Allow registering regions whose names are equivalent under LIKE but not truly equal 2013-01-02 23:31:19 +00:00
Justin Clark-Casey (justincc) 8f31649fad Fix indenting on ConsoleDisplayTable, align indenting on "show animations" console command 2013-01-02 22:37:50 +00:00
Justin Clark-Casey (justincc) 6b55f51837 minor: Allow objects to be added directly to a row on a ConsoleDisplayTable rather than having to ToString() them first 2013-01-02 22:11:13 +00:00
Justin Clark-Casey (justincc) addab1244e Add "show animations" console command for debug purposes.
This shows the current animation sequence and default anims for avatars.
2013-01-02 21:38:00 +00:00
Justin Clark-Casey (justincc) bc9a7ba0d6 minor: Assign names to the different SmartThreadPools for debugging purposes.
A different approach to the patch in http://opensimulator.org/mantis/view.php?id=6462
that doesn't involve further forking of SmartThreadPool
2013-01-01 23:57:20 +00:00
Justin Clark-Casey (justincc) 416244051d refactor: call Util.InitThreadPool() if we are initializing an uninitialized pool on first use rather than constructing it ourselves.
No functional change.
2013-01-01 23:50:38 +00:00
Robert Adams 3e3c168987 Add helper routine Util.InRange() 2012-12-22 17:04:53 -08:00
Robert Adams 21dc5f4a1a Add stack dump function that takes an alternate printer outter. I've found that log4net can be slowish so, if one is generating A LOT of debug output, alternate printers are better 2012-12-16 21:19:11 -08:00
BlueWall 7a87c35f94 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-12-12 23:34:20 -05:00
Justin Clark-Casey (justincc) 047270bdc8 Add "debug script log" command to allow setting a numeric debug level on individual IScriptInstances for debugging purposes.
Current, state changes and event fires can be logged for individual scripts.
See command help for more details.
2012-12-12 23:13:34 +00:00
BlueWall b1849e7fde Hide some console output when initializing addin repository
We do this in OpenSim.exe to hide output when unmanaged dll are scanned by mono addins. Libomv has hard-coded path to "." for the openjpeg libraries, causing output to the console when they are scanned. We will cover this up for now, then look at getting libomv to look for the libs outside the "." later.
2012-12-11 17:03:42 -05:00
BlueWall 77e88fab06 Format change
Removed some white space in a line, looking to trigger a build
2012-12-07 20:19:16 -05:00
BlueWall 0b455d2882 Merge branch 'master' into connector_plugin 2012-12-07 15:36:43 -05:00
Justin Clark-Casey (justincc) 0568c76a88 Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the aim of avoiding OpenSimulator problems due to script thread aborts.
When an object is removed, its scripts are stopped and then the thread running them is aborted if stop takes too long.
However, it appears that aborting a thread at just the wrong moment when it is obtaining a ReaderWriterLockSlim lock can leave this lock in an inconsistent state.
One symptom of this is that mono leaps to 100% cpu and a vm thread dump reveals lots of threads waiting for a ReaderWriterLockSlim lock without any thread actually holding it.
This is probably the same problem as encountered originally in commit 12cebb12
This commit looks to plaster this problem by putting lock obtaining methods inside finally blocks which should be uninterruptible by thread aborts.
2012-12-07 00:47:04 +00:00
Justin Clark-Casey (justincc) 0f3ebe0971 Remove very probably unused PrimitiveBaseShape(bool) constructor to reduce code complexity 2012-12-05 22:12:45 +00:00
Justin Clark-Casey (justincc) b60c6bc3f8 Don't pointlessly set ExtraParams = byte[1] in PrimitiveBaseShape since this is ignored by the ExtraParams properly anyway 2012-12-05 22:01:47 +00:00
Justin Clark-Casey (justincc) 2342d20a7e minor: tidy up spacing at bottom of MundaneFrameworkTests 2012-12-05 21:53:25 +00:00
Justin Clark-Casey (justincc) fdf8876e20 In BaseHttpServer.HandleRequest(), use Culture.SetCurrentCulture() rather than creating a new CultureInfo separately 2012-12-05 21:52:10 +00:00
BlueWall c754003944 Merge branch 'master' into connector_plugin
Conflicts:
	OpenSim/Server/Base/ServicesServerBase.cs
2012-11-25 17:03:14 -05:00
Justin Clark-Casey (justincc) 22d4c52ffc Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests 2012-11-24 03:15:24 +00:00
Justin Clark-Casey (justincc) 82690e1384 Fix bug where loading an OAR with a deeded parcel would always set the parcel owner ID to the estate owner even if the group UUID was present.
Aims to address http://opensimulator.org/mantis/view.php?id=6355
As part of this work, an incomplete IXGroupsData was added which currently only allows store/fetch/delete of group records
(i.e. no membership data etc)
This is subject to change and currently only an in-memory storage implementation exists for regression test purposes.
2012-11-24 02:43:31 +00:00
Justin Clark-Casey (justincc) 999cb4b20c Make "show threads" and "thread abort" console commands available on all servers 2012-11-23 04:40:49 +00:00
Justin Clark-Casey (justincc) e0a3e01850 Make "force gc" console command available across all servers 2012-11-23 04:27:04 +00:00
Justin Clark-Casey (justincc) 4b46a0d536 Make "show version" console command available across all servers 2012-11-23 04:19:08 +00:00
Justin Clark-Casey (justincc) 065d6d6fe1 Delete unused BaseHttpServer.HandleAgentRequest() 2012-11-23 04:15:21 +00:00
Justin Clark-Casey (justincc) eb1921ff93 Add "help all" console command which will list all commands alphabetically in a single list 2012-11-23 01:52:48 +00:00
Justin Clark-Casey (justincc) 3ce00e97cc Factor out command script code.
This also allows comments in command scripts (lines starting with ;, # or //) to be used across all servers
2012-11-22 05:57:20 +00:00
Justin Clark-Casey (justincc) 9fcf3f1a3f Make "config show/set/get/save" console commands available on all servers 2012-11-22 05:48:41 +00:00
Justin Clark-Casey (justincc) 8269d2b893 Factor out common pid file creation and removal code.
Log path at which pid file is created or reason for failure to create.
2012-11-22 05:14:43 +00:00
Justin Clark-Casey (justincc) 42e87a6582 Add "get log level" command - this returns the current server session console logging level.
This supersedes getting information by calling "set log level" without a 4th argument, which is confusing.
2012-11-22 04:57:45 +00:00
Justin Clark-Casey (justincc) 34ff96a119 Remove unused BaseOpenSimServer.ShowHelp() 2012-11-22 04:52:29 +00:00
Justin Clark-Casey (justincc) 4c4379b50f Make "set log level" command available across all servers 2012-11-22 04:50:09 +00:00