Justin Clark-Casey (justincc)
f9769a9fcb
minor: reuse colon index calculation in XEngine.OnRezScript. The index if a colon is found on the first line will always be the same as for the whole script.
2012-06-28 00:37:23 +01:00
Justin Clark-Casey (justincc)
bb48060b44
Fix issue in InventoryArchiveTestCase where it didn't call down to OpenSimTestCase.SetUp()
2012-06-27 00:50:36 +01:00
Justin Clark-Casey (justincc)
d043213317
refactor: Move ScenePresence <-> AgentData attachments copying code into AttachmentsModule.
2012-06-27 00:41:46 +01:00
Justin Clark-Casey (justincc)
5bec5bcf71
Automatically disable log4net before each regression test so that logging is confined to a single test if it's turned on.
...
This involves making test classes inherit from a common OpenSimTestCase.
This will be applied to more classes as required.
2012-06-27 00:01:51 +01:00
Justin Clark-Casey (justincc)
87ca820f9b
Replace "kill uuid" console command with the more consistent "delete object uuid", which was present in the last opensim release.
2012-06-26 23:28:48 +01:00
Justin Clark-Casey (justincc)
0b29877790
Fix output for help on some object region console commands
2012-06-26 23:15:15 +01:00
Justin Clark-Casey (justincc)
99954c1498
refactor: Remove unnecessary AttachmentModuleTests.m_userId in favour of local variables
2012-06-26 22:53:08 +01:00
Justin Clark-Casey (justincc)
2b82c421ad
refactor: Use local attachment module variables instead of global m_attMod.
...
This also avoids confusion between tests where one sets up m_attMod and another accidentally uses it after failing to set one up itself.
2012-06-26 22:31:25 +01:00
Justin Clark-Casey (justincc)
4329cc7b8a
refactor: make m_presence a local variable in all AttachmentsModuleTests since it doesn't need to be global and some tests set up more than one sp
2012-06-26 22:21:54 +01:00
Justin Clark-Casey (justincc)
32a4ce94f0
Add regression test to check that attachments in source region are deleting when an agent teleports to a neighbouring region
2012-06-26 22:16:44 +01:00
Justin Clark-Casey (justincc)
340005c5bf
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-06-26 22:12:39 +01:00
Justin Clark-Casey (justincc)
4b6c3fd4bb
If crossing attachments into another region pre-fatpack, clone objects before changing properties to avoid hud display race condition with update threads.
...
This matches behaviour in fatpack crossing, where attachments are cloned before their properties are changed.
This only applies to crossings to simulators running code released before April 2011.
2012-06-26 21:06:47 +01:00
BlueWall
988112d446
Add stub for llCastRay
2012-06-26 15:15:25 -04:00
Justin Clark-Casey (justincc)
f5316984ab
minor: update currently commented out log message at top of AvatarFactoryModule.SetAppearance() for future use
2012-06-25 23:31:22 +01:00
Justin Clark-Casey (justincc)
e5b739aaeb
When attachments are being saved and deleted for a closing root agent, delete first to avoid a hud race condition with update threads.
...
If delete doesn't occur first then the update thread can outrace the IsAttachment = false necessary to save attachments and send hud artifacts to other viewers.
2012-06-25 22:48:13 +01:00
Justin Clark-Casey (justincc)
5301648cff
In AttachmentsModule.DetachSingleAttachmentToInvInternal(), remove attachment before changing properties for correct inventory serialization.
...
Serialization of attachments requires IsAttachment = false so that correct positions are serialized instead of avatar position.
However, doing this when a hud is still attached allows race conditions with update threads, resulting in hud artifacts on other viewers.
This change sets SOG.IsDeleted before serialization changes take place (IsDeleted itself is not a serialized property).
LLClientView then screens out any deleted SOGs before sending updates to viewers.
2012-06-25 21:08:19 +01:00
BlueWall
6d3ee8bb39
Fix script "Running" behavior
...
Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
2012-06-23 04:15:14 -04:00
Justin Clark-Casey (justincc)
78143769bf
Resolve various race conditions between accessing and removing external script URLs by more consistently locking on m_UrlMap
2012-06-22 23:49:52 +01:00
Justin Clark-Casey (justincc)
dca04c7b61
Avoid a race condition where an incoming request to a script external URL can trigger an exception is the URL was being removed at the same time.
...
This involves three steps
1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index
2) Return true instead of false in HasEvents() if no matching request is found in the map. This call will only happen in the first place for raced requests.
3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK.
Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
2012-06-22 23:16:18 +01:00
Justin Clark-Casey (justincc)
80a41e670d
Avoid race condition between m_PrimObjects iteration in XEngine.PostObjectEvent and places where the list is modified by extending the m_PrimObjects lock.
2012-06-22 02:23:25 +01:00
Justin Clark-Casey (justincc)
9f3feeff8d
If starting scripts on initial sim start, provide INFO level log feedback each time 50 scripts have been started.
...
This is to provide an indication of what's happening now that the default isn't to report every single script start.
Changes XEngine logging level in OpenSim.exe.config from WARN to INFO.
2012-06-22 02:10:27 +01:00
Justin Clark-Casey (justincc)
f907182ab2
Eliminate unnecessary extra call to TriggerEmptyScriptCompileQueue in XEngine.DoOnRezScriptQueue()
...
The later invocation of this function will happen on an empty compile queue.
2012-06-22 01:57:14 +01:00
Justin Clark-Casey (justincc)
4cf49369b5
Stop flicking IsAttachment false and then true in AttachmentsModule.UpdateAttachmentPosition() in order to avoid a hud update race condition.
...
Previously, setting IsAttachment to false then true was necessary to serialize the updated attachment object information.
However, UpdateAttachmentPosition no longer does this update.
Whilst IsAttachment is set to false there is a race condition where the update thread can wrongly send hud object updates to clients that do not own the hud, resulting in screen artifacts.
2012-06-22 01:43:26 +01:00
Justin Clark-Casey (justincc)
fda39c11bf
Fix bug where attachments would not retain position if just rotated and not moved.
...
This was because we were not setting AttachedPos in SOG.UpdateGroupPositionPR, unlike UpdateGroupPosition
2012-06-22 01:33:27 +01:00
Justin Clark-Casey (justincc)
798846c5b6
refactor AttachmentsModule tests to use a common method for standard attachment item setup
2012-06-22 00:40:04 +01:00
Justin Clark-Casey (justincc)
06617ffd06
Add regression test for updating attachment position
2012-06-22 00:18:30 +01:00
Justin Clark-Casey (justincc)
d24122b706
Add item id, name, prim name and id to log message when state exists but loading fails.
...
Drop logging about memory limit exceeded to warn from error
2012-06-21 02:24:44 +01:00
Justin Clark-Casey (justincc)
afcabf5244
Retrigger build - last jenkins run was glitched
2012-06-21 02:13:03 +01:00
Justin Clark-Casey (justincc)
5709bed548
Add state file location to errors logged when there's some issue with retrieving state (e.g. exceeds memory limit)
2012-06-21 02:09:14 +01:00
Justin Clark-Casey (justincc)
68ea096f1b
Use HasPrivateAttachmentPoint properties in SOG.DeleteGroupFromScene() instead of magic numbers
2012-06-20 23:25:07 +01:00
Justin Clark-Casey (justincc)
714db90832
refactor: use SOG.HasPrivateAttachmentPoint in SOP.SendTerseUpdateToClient() instead of attachmentpoint magic numbers.
2012-06-20 22:46:01 +01:00
Justin Clark-Casey (justincc)
9ec9dafae6
Lower warn logging on not having friends/group module on permissions to debug.
...
It's a valid configuration not to have these modules, but I think it's still worth logging the fact that certain permissions won't work (always return true)
2012-06-20 01:33:25 +01:00
Justin Clark-Casey (justincc)
6c312bce7f
minor: Lower flotsam asset cache warning about not having a FlotsamCache.ini to debug
...
It's perfectly okay not to have this section.
2012-06-20 01:30:20 +01:00
Justin Clark-Casey (justincc)
6b3f9fcde0
Comment out the neighbour and land in connectors from info logging that they are starting up
2012-06-20 00:42:54 +01:00
Justin Clark-Casey (justincc)
625e5e913a
Comment out recently added log message detailing number of scripts started when compile queue empties for now
2012-06-20 00:25:18 +01:00
Justin Clark-Casey (justincc)
881e92a726
Raise some IO associated Exception logging in XEngine to error level, in line with other similar cases.
...
Remove more unnecessary Close() calls - these are being triggered by the Dispose() called when exiting the using statement for these sdk io objects.
2012-06-20 00:19:50 +01:00
Justin Clark-Casey (justincc)
0fa303b1cf
Log how many scripts are candidates for starting and how many are actually started.
...
Adds DebugLevel infrastructure to XEngine though currently commented out and unused.
2012-06-20 00:10:19 +01:00
Justin Clark-Casey (justincc)
9737e6d52e
If RegionReady is active, don't falsely say that logins are enabled in the main scene loop before RegionReady is signalled when initial script compilation finishes.
...
Also raises this logging level to Info from Debug since this information is of high importance. This matches the behaviour of the RegionReady module
2012-06-20 00:07:03 +01:00
Justin Clark-Casey (justincc)
e23d7ff9c0
minor: If logging because mesh/sculpt data isn't present for an object, log object UUID rather than local id, since UUID doesn't potentially vary between simulator starts.
2012-06-20 00:05:48 +01:00
Justin Clark-Casey (justincc)
ef686ead37
Like the assembly and text files, only write the c#-lsl linemap in XEngine.SetXMLState() if the trust binaries flag is set.
...
This doesn't affect other locations where the map is written, such as on script compilation.
2012-06-19 02:11:46 +01:00
Justin Clark-Casey (justincc)
8e7032ece8
minor: Add a little more detail to IOException logging in XEngine.SetXMLState()
...
Also removes superflous Close() commands for statements taking place within using() constructs
Also adds some comment out debug log messages for future use.
2012-06-19 01:53:50 +01:00
Justin Clark-Casey (justincc)
7119de56ff
Change read config paramter from max_urls_per_simulator to max_external_urls_per_simulator, which is what it was meant to be
2012-06-16 04:12:53 +01:00
Justin Clark-Casey (justincc)
22f25dfcab
Implement max_external_urls_per_simulator setting in [LL-Functions] to allow configuration of how many urls can be set up by llRequestURL()
...
Defaults remains as 100.
This setting is per simulator instead of per region due to how the url script module is structured.
2012-06-16 03:32:47 +01:00
Justin Clark-Casey (justincc)
aaa30dcebc
Add region name to UseCircuitCode log messages
2012-06-15 05:01:36 +01:00
Justin Clark-Casey (justincc)
c935f03467
Put all debug console commands into a single Debug section rather than scattering them over other categories
2012-06-15 03:32:43 +01:00
Justin Clark-Casey (justincc)
94517c8d5c
Make the "debug http" command available for robust as well as the simulator. This allows one to see incoming requests as they happen.
...
This required making everything use the common MainServer class for registering and retrieving http servers, rather than duplicate structures.
2012-06-15 02:51:52 +01:00
Justin Clark-Casey (justincc)
257b1b517d
Add main instance to internal MainServer.m_Servers list to simplify internal logic.
...
This does require the server to be added before it is set as the main Instance
2012-06-15 02:03:50 +01:00
Justin Clark-Casey (justincc)
aeed4d3041
minor: Tell user the current debug http level if "debug http" console command is executed without a level parameter
2012-06-15 01:27:29 +01:00
Justin Clark-Casey (justincc)
478acfff34
When setting debug http level, do this for all known http servers, not just the main instance.
2012-06-15 01:24:36 +01:00
Justin Clark-Casey (justincc)
10e87f9cdc
Make XMLRPCModule use an existing HTTP server if one already exists on the desired port.
2012-06-15 00:59:53 +01:00
Justin Clark-Casey (justincc)
6993a26ba5
Get rid of some unnecessary null checks in RegionApplicationBase.StartupSpecific() - a constructor can never return null.
...
Also adds some method doc to MainServer
2012-06-15 00:40:12 +01:00
Justin Clark-Casey (justincc)
93ba0332c4
minor: Extend 'debug http' usage statement to 0..3 from 0..2
2012-06-14 23:54:12 +01:00
Justin Clark-Casey (justincc)
9825861f4a
Shuffle "debug http" levels so that 1 and 2 now cause different levels of warn to be logged if we receive invalid xml for xmlrpc.
2012-06-14 23:46:09 +01:00
Justin Clark-Casey (justincc)
2c6555021f
Fix very recent regression in 917d753
where I put the ++updatesThisCall outside the batching part of ProcessEntityUpdates()
...
This stopped any batching happening and since this method is called periodically updates were sent very slowly
2012-06-14 03:49:54 +01:00
Justin Clark-Casey (justincc)
3888b9a670
If we're going to discard a terse update block because it's now someone else's hud, then don't still add it to the list of blocks for the update message.
2012-06-14 03:32:44 +01:00
Justin Clark-Casey (justincc)
1aa7469253
correct wrong incomplete comment from previous commit 3c3ea19
in AttachmentsModule
2012-06-14 02:30:40 +01:00
Justin Clark-Casey (justincc)
3c3ea19620
Fix a bug where scene objects attached as HUDs through scripts would not disappear for other avatars.
...
We do this by sending a kill message for that object to all other avatars apart from the one that has the hud.
2012-06-14 02:26:38 +01:00
Justin Clark-Casey (justincc)
0d2243a393
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-06-14 01:38:41 +01:00
Justin Clark-Casey (justincc)
917d753f1c
Fix a race condition where an object update for a hud could be sent to non-owner avatars if the hud was attached directly from within the region.
...
If this happens, then the non-owners would see unremovable huds that they did not own until relog, and sometimes even beyond that.
This was due to a race between the entity update and the attachment code when moving an object from within scene to a hud.
2012-06-14 01:36:37 +01:00
Justin Clark-Casey (justincc)
a4290048e5
Add SOG.HasPrivateAttachmentPoint to tell if a SOG has a private attachment point. HUDs attachment points are private.
...
Change SOP.SendFullUpdateToClient() and SoundModule.PlayAttachedSound() to use this rather than different magic number formulations.
This also corrects a bug in PlayAttachedSound() where the code assumed that all attachment points over 30 were HUDs.
It appears this is no longer true with Neck and Root (Avatar Center)
2012-06-14 01:20:55 +01:00
Melanie
cba8b4f8b8
Fix not sending TransferInfo when an asset is not found. This clogs
...
up the sound pipeline in the viewer.
2012-06-14 00:58:17 +01:00
Justin Clark-Casey (justincc)
6a77a65675
minor: remove unnecessary IsAttachment = false setting for new object in UploadObjectAssetModule, property always starts as false
2012-06-14 00:35:26 +01:00
Justin Clark-Casey (justincc)
16ffc764bf
minor: refactor part of LLClientView.ProcessEntityUpdates() to remove duplicate code
2012-06-13 23:54:32 +01:00
Justin Clark-Casey (justincc)
cf080a68d6
Remove long obsolete and unused IClientAPI.KillEndDone()
2012-06-13 23:42:22 +01:00
Justin Clark-Casey (justincc)
f726150afd
Add ObjectUpdate as one of the packets that can be screened out when setting debug packet level
2012-06-13 23:39:23 +01:00
Justin Clark-Casey (justincc)
1f34c8277d
In the osGetGrid functions, if the [GridInfo] section does not exist then return "Configuration Error", as already happens if there is no GridInfoURI
2012-06-13 04:05:02 +01:00
Melanie
4e18e71089
Committing the Avination implementation of llCastRay. This is a complete rewrite
...
wich does it's thing independently of physics. Enjoy!
2012-06-13 02:32:25 +01:00
BlueWall
c53c55fed0
Add variable timer configureation for the timer_Script
...
Added "timer_Interval" to the OpenSimDefaults.ini, leaving the default value set to 1200, as the previous default setting. The value represents seconds. To change the default, copy the entry to OpenSim.ini and multiply the number of minutes for the interval by 60.
2012-06-12 17:15:56 -04:00
Justin Clark-Casey (justincc)
2ca31a9841
Remove accidental timeout left in during earlier debugging. Has been in since two commits ago ( b099f26
)
2012-06-12 02:46:14 +01:00
Justin Clark-Casey (justincc)
1b1f0a2d77
OnConnectionClosed listeners, retrieve data from IClientAPI.SceneAgent rather than scanning all scene for the presence with the right id
...
Stop checking IsLoggingOut on these listeners, if called with a root agent then we always want to perform these actions.
This covers cases where the client is closed due to manual kick, simulator shutdown, etc.
2012-06-12 02:43:33 +01:00
Justin Clark-Casey (justincc)
b099f26376
Set IClientAPI.IsActive = false early on client removal due to ack timeout rather than using IsLoggingOut flag.
...
IsActive is more appropriate since unack timeout is not due to voluntary logout.
This is in line with operations such as manual kick that do not set the IsLoggingOut flag.
It's also slightly better race-wise since it reduces the chance of this operation clashing with another reason for client deactivation (e.g. manual kick).
2012-06-12 02:16:36 +01:00
Justin Clark-Casey (justincc)
c89db34fc4
If the simulator closes a root agent due to ack timeout, then send the client a kick message with that reason, in case it is somehow still listening.
2012-06-12 02:03:31 +01:00
Justin Clark-Casey (justincc)
8c7149063b
In PresenceDetector.OnConnectionClose(), use the IsChildAgent check already available on IClientAPI.SceneAgent rather than retrieving it again by scanning all scenes.
2012-06-12 01:25:09 +01:00
Justin Clark-Casey (justincc)
bab7dab4c5
Comment out the scene presence sitting debug log messages for now
2012-06-11 23:37:16 +01:00
Justin Clark-Casey (justincc)
daad0a3e11
Revert "Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL where these aren't evaluated propertly."
...
This reverts commit a8a9d13dc0
.
Accidentally committed, this patch might not be the correct approach.
2012-06-11 23:30:58 +01:00
Justin Clark-Casey (justincc)
a927787434
Add last frame time monitor to MonitorModule now that this value is useful
2012-06-11 23:30:11 +01:00
Justin Clark-Casey (justincc)
cbb5ddd944
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-06-11 23:27:48 +01:00
Melanie
71ba85137f
Commitig the Avination implementation of llTeleportAgent and
...
llTeleportAgentGlobalCoords. These do NOT use PERMISSION_TELEPORT like
their SL counterparts because that permission is not yet understood by TPVs
based on v1.x.
2012-06-11 16:45:52 +01:00
Justin Clark-Casey (justincc)
a8a9d13dc0
Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL where these aren't evaluated propertly.
...
Addresses http://opensimulator.org/mantis/view.php?id=3268
2012-06-09 05:11:08 +01:00
Justin Clark-Casey (justincc)
817f2d341d
Fix regression in 5f4f9f0
(Fri Jun 8 2012) which stopped "show stats" and json stats from working
2012-06-08 23:36:53 +01:00
Justin Clark-Casey (justincc)
794d184c25
Stop sending a DisableSimulator packet in LLClientView.Close(), which is a duplicate for child agents and unnecessary for root agents.
...
Close() already calls Scene.RemoveClient() which sends the right eq or udp DisableSimulator message to child agents.
2012-06-08 04:32:51 +01:00
Justin Clark-Casey (justincc)
f94b92df46
Instead of retrieving the known client again in LLUDPServer.RemoveClient(), check the IsLoggingOut flag instead.
...
This is slightly better thread-race wise
2012-06-08 04:12:22 +01:00
Justin Clark-Casey (justincc)
c215b1ad16
If logging a client out due to ack timeout, do this asynchronously rather than synchronously on the outgoing packet loop.
...
This is the same async behaviour as normal logouts.
This is necessary because the event queue will sleep the thread for 5 seconds on an ack timeout logout as the client isn't around to pick up the final event queue messages.
2012-06-08 03:53:03 +01:00
Justin Clark-Casey (justincc)
5f4f9f0230
Add regression test for client logout due to ack timeout.
2012-06-08 03:12:23 +01:00
Justin Clark-Casey (justincc)
d73805d7f4
Remove null checks at top of LLUDPServer.ProcessInPacket(). Neither packet nor client are ever null.
2012-06-08 01:51:28 +01:00
Justin Clark-Casey (justincc)
d71c6dea7e
Store already retrieve IClientAPI in IncomingPacket structure for later use rather than doing another retrieve on dequeue.
...
Instead of checking whether the client still exists by trying to retrieve again from the client manager, this patch gets it back from IncomingPacket and checks the IClientAPI.IsActive state.
2012-06-08 01:43:58 +01:00
Justin Clark-Casey (justincc)
30f4a33f01
Don't make duplicate call to ScenePresence.Close() separately in ETM.DoTeleport() if an agent needs closing.
...
This is always done as part of Scene.RemoveClient()
Also refactors try/catching in Scene.RemoveClient() to log NREs instead of silently discarding, since these are useful symptoms of problems.
2012-06-08 01:26:43 +01:00
Justin Clark-Casey (justincc)
5c162ccd57
Go back to calling IncomingCloseAgent() in the "kick user" command for consistency instead of IClientAPI.Close() directly.
...
This no longer double counts child agent removals
2012-06-08 00:59:39 +01:00
Justin Clark-Casey (justincc)
d547bcf8d1
Remove duplicate update of user count in Scene.IncomingCloseAgent()
...
This is already done in Scene.RemoveClient() which IncomingCloseAgent() always ends up calling.
2012-06-08 00:40:38 +01:00
Justin Clark-Casey (justincc)
b56673c920
Fix bug with "kick user" reducing agent counts by 2 instead of 1.
...
This is done by making the kick user command call IClientAPI.Close() rather than routing through Scene.IncomingCloseAgent(), which also called IClientAPI.Close()
DisableSimulator for child agents is moved from IncomingCloseAgent() to RemoveClient(), this is not a functional change since IncomingCloseAgent() always ends up calling RemoveClient()
2012-06-08 00:18:25 +01:00
Justin Clark-Casey (justincc)
0c5fefacb4
Record the fact that child agents can have asset transactions.
...
Also change code to grab the agent asset transaction module once.
2012-06-07 23:51:04 +01:00
Justin Clark-Casey (justincc)
de87e4871b
Don't send kill object messages to clients when a child agent is closed.
2012-06-07 23:35:21 +01:00
Justin Clark-Casey (justincc)
7550b97e65
Log warning if we try to remove a UDP client that has already been removed.
2012-06-07 04:00:29 +01:00
Justin Clark-Casey (justincc)
98b46d48fe
Allow the thread watchdog to accept an alarm method that is invoked if the timeout is breached.
...
This alarm can then invoke this to log extra information.
This is used in LLUDPServer to show which client was being processed when incoming and outgoing udp watchdog alarms are triggered.
2012-06-07 02:44:13 +01:00
Justin Clark-Casey (justincc)
514dd85199
minor: Change log messages on Warp3DImageModule to show they are from this module
2012-06-06 04:18:38 +01:00
Justin Clark-Casey (justincc)
53c25a4778
Rename MapImageModule for Warp3D to Warp3DImageModule to match its class name and make it easier to distinguish between map image modules.
2012-06-06 04:15:00 +01:00
Justin Clark-Casey (justincc)
2b0de66216
Actively dispose of Bitmaps in Warp3D image module and world map module once we've finished with them.
...
This might help with memory leakage issues though I suspect it won't.
2012-06-06 04:11:16 +01:00
SignpostMarv
3b25021180
enabling all corners of a sim to be set in one call
2012-06-06 02:47:47 +01:00
Justin Clark-Casey (justincc)
abf94627f6
Ensure closure of bitmap and memory stream with using() statements in WorldViewModule.
...
If this has any effect then it will only be to the map images returned via requests to the /worldview simulator HTTP path (not enabled by default)
2012-06-06 02:45:36 +01:00
Justin Clark-Casey (justincc)
6adc810eaa
Stop accidentally reading 4 Int16s instead of 2 in SIZE section of Terragen file when loaded from a stream.
...
Fixes a bug introduced 2 weeks ago in 67ebe80
Thanks to Plugh for pointing this out.
2012-06-05 19:40:16 +01:00
Justin Clark-Casey (justincc)
a5410c2c19
minor: Add user feedback when executing fix-phantoms
2012-06-05 01:37:40 +01:00
Justin Clark-Casey (justincc)
42179578fc
Allow fix-phantoms command to appear even if CombineContiguousRegions = false, since this allows one to go back from a megaregion to normal regions.
...
Adapted from a patch by Garmin Kawaguichi in http://opensimulator.org/mantis/view.php?id=6027
Garmin says that fix-phantoms allows one to reset objects when going back from megaregion to normal regions as well as the othe rway around.
Thanks!
2012-06-05 01:33:58 +01:00
Talun
008c6a4610
Mantis 4597 AgentPaused packet is ignored.
...
The packet was actually being handled but not acted on.
This change extends the default timeout for paused clients to 5 minutes
and makes both the paused and non-paused timeout periods configurable.
2012-06-05 01:22:05 +01:00
Justin Clark-Casey (justincc)
01280e9b94
Remove unused ScenePresence list structure in llGetAgentList()
2012-06-05 00:34:18 +01:00
Justin Clark-Casey (justincc)
96d1ba90d7
Scale down per frame MS stats to match scaled simulator FPS stat.
...
This makes frame time stats properly tally with fps, which saves confusion and makes it easier to interpret numbers.
In some ways this is not so artifical - physics FPS runs at the higher rate.
2012-06-05 00:27:51 +01:00
Justin Clark-Casey (justincc)
655625ab87
Start sending spare frame time MS viewer stat. Make frame time correctly display total frame time, not just non-spare time.
...
This makes it easier to see when components of frame time exceed normal permitted frame time.
Currently reflect scene frame times.
2012-06-05 00:17:55 +01:00
Justin Clark-Casey (justincc)
c3d9acc9a9
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-06-05 00:15:29 +01:00
Justin Clark-Casey (justincc)
a7f4804f53
Properly show per frame millisecond statistics per frame, not as amount of time taken per second.
...
This is to make these statistics actually match their names (and also be more accurate as number of frames can vary under heavy load)
Currently using scene frames (11.23 every second) instead of physics frames (56.18 per second)
2012-06-04 23:07:53 +01:00
BlueWall
3229e32b4e
Add replaceable region modules to the "show modules" command
2012-06-04 17:25:38 -04:00
Melanie
d9d4fb10d9
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2012-06-04 18:22:43 +01:00
Robert Adams
f94ef37b46
Correct the delegate specification in EventManager.TriggerTerrainTainted. Looks like the wrong one was cut and pasted.
2012-06-04 10:26:39 -07:00
Melanie
5c646e2603
Remove the "Profile" config as it's covered by the replaceable interface
2012-06-04 18:22:09 +01:00
Justin Clark-Casey (justincc)
72219eae7d
Instead of updating sim stats root agent, child, objects and scripts accounts every single scene frame, update in the once every 3 seconds SimStatsReporter run
2012-06-01 04:47:11 +01:00
Justin Clark-Casey (justincc)
6375db1533
Add optional total avatars, total prims and active prims stats to ODE plugin.
...
These will act as a sanity check with the main scene stats, to show that physics scene entities are being managed properly.
Total prims will not match scene total prims since physics total does not include phantom prims
2012-06-01 04:23:36 +01:00
Justin Clark-Casey (justincc)
4e06a46dc5
If OdeScene.Near() returns no collision contacts, then exit as early as possible. All subsequent code is only relevant if there are contacts.
2012-06-01 04:07:39 +01:00
Justin Clark-Casey (justincc)
200376b3c4
Add optional stat for the other collision time per frame not spent in ODE native spaces or geom collision code
2012-06-01 03:49:42 +01:00
Justin Clark-Casey (justincc)
d34b84b531
Add avatar forces calculation, prim force and raycasting per frame millisecond optional stats
2012-06-01 03:23:19 +01:00
Justin Clark-Casey (justincc)
9ff8efc720
Collection optional avatar and prim taint frame millisecond times
2012-06-01 03:03:48 +01:00
Justin Clark-Casey (justincc)
d1b5f8d9d7
Remove recent optional native collision frame milliseconds stat
...
Unnecessary since this has now been broken down into space collisions and geom collisions
2012-06-01 02:35:11 +01:00
Justin Clark-Casey (justincc)
31343aa7c3
Add optional stat that records milliseconds spent notifying collision listeners in physics frames
2012-06-01 02:33:44 +01:00
Justin Clark-Casey (justincc)
5f44be99ef
Add avatar and prim update milliseconds per frame optional stats
2012-06-01 02:25:42 +01:00
Justin Clark-Casey (justincc)
5cc9b820e5
Add option native step frame ms stat
2012-06-01 01:58:28 +01:00
Justin Clark-Casey (justincc)
f2c8c7a7b8
Add total ODE frame time optional stat, as a sanity check on the main scene physics stat
2012-06-01 01:37:19 +01:00
Justin Clark-Casey (justincc)
8333b928fa
Break down native ODE collision frame time stat into native space collision and geom collision stats
2012-06-01 01:27:19 +01:00
Justin Clark-Casey (justincc)
c33c8db825
Rename new collision stats to 'contacts' - there are/can be multiple contacts per collision and this is what is actually being measured.
2012-06-01 01:15:27 +01:00
Justin Clark-Casey (justincc)
e1f8d2adb0
Stop adding an unnecessary duplicate _perloopcontact if the avatar is standing on a prim.
...
This has already been added earlier on in the method.
2012-06-01 01:12:30 +01:00
Justin Clark-Casey (justincc)
8301f7b17f
minor: comment out currently unused OdeScene.sCollisionData
2012-06-01 00:57:55 +01:00
Justin Clark-Casey (justincc)
93fa9e8991
Add ODE avatar and prim collision numbers if extra stats collection is enabled.
2012-06-01 00:56:13 +01:00
Justin Clark-Casey (justincc)
878b67b333
Fix OdeScene.GetTopColliders() to return the top 25 colliders rather than the first 25 that had non-zero collision scores.
...
Also zeros collisions scores on all prims after report collection, not just the top 25.
As before, this collision scores are only reset after a report is requested, which may give unrealistic numbers on the first request.
So to see more realistic scores, ignore the first report and then refresh the request after a couple of seconds or so.
2012-06-01 00:26:11 +01:00
Justin Clark-Casey (justincc)
0b02a4d42e
Add an optional mechanism for physics modules to collect and return arbitrary stats.
...
If active, the physics module can return arbitrary stat counters that can be seen via the MonitoringModule
(http://opensimulator.org/wiki/Monitoring_Module )
This is only active in OdeScene if collect_stats = true in [ODEPhysicsSettings].
This patch allows OdeScene to collect elapsed time information for calls to the ODE native collision methods to assess what proportion of time this takes compared to total physics processing.
This data is returned as ODENativeCollisionFrameMS in the monitoring module, updated every 3 seconds.
The performance effect of collecting stats is probably extremely minor, dwarfed by the rest of the physics code.
2012-05-31 01:52:26 +01:00
Justin Clark-Casey (justincc)
bf0b8170f7
Add console command "teleport user" to allow teleport from the region console
...
See "help teleport user" on the console for more details
2012-05-29 23:35:20 +01:00
Melanie
b660c4991b
Fix collision filtering. The filter should be checked on the receiving part!
2012-05-29 18:18:47 +01:00
Justin Clark-Casey (justincc)
79f3ce2e9f
refactor: factor out entity transfer state machine into a separate class to make code more analyzable
2012-05-28 23:06:00 +01:00
Justin Clark-Casey (justincc)
8f87f55d05
If handling the failure of teleport, move agent state to CleaningUp when we start the handling.
...
Also fixes the log warning from ResetInTransit() if the state is cleared direct from Transferring or ReceiveAtDestination, as pointed out in mantis 5426
2012-05-28 22:16:06 +01:00
Justin Clark-Casey (justincc)
7fd38788b4
minor: code formatting from 0b72f773
2012-05-26 02:14:32 +01:00
Talun
0b72f773c7
Mantis 6025 llRequestPermissions auto grant for NPCs.
...
If the script requesting permissions is owned by either the NPC or
the NPCs owner (if the NPC is created as owned) then grant any
permissions automatically.
2012-05-26 02:09:22 +01:00
Justin Clark-Casey (justincc)
43a6f28620
If restating a region, clean up the physics scene after the main scene has been closed not before.
...
If this is done before then on ODE agent update calls still incoming can fail as they try to use a raycastmanager that has been disposed.
Bullet plugin does nothing on Dispose()
However, I wouldn't be at all surprised if individual region restarting was buggy in lots of other areas.
2012-05-26 01:55:35 +01:00
Blake.Bourque
33b66009e4
One can now get hyoergrid region co-ordinates with llRequestSimulatorData
2012-05-26 01:32:42 +01:00
Justin Clark-Casey (justincc)
d6476b6277
Use GetInventoryItem() in LSL_Api.InventoryKey(string name, int type).
...
Also removes small bug where calling this method would add 1 to LPS, evne though all callers already did this.
2012-05-26 01:03:53 +01:00
Justin Clark-Casey (justincc)
f2a5fad18f
Use SceneObjectPartInventory.GetInventoryItem() in OSSL.AvatarStopAnimation instead of searching the task inventory manually.
2012-05-26 00:54:00 +01:00
Justin Clark-Casey (justincc)
ff53add54d
refactor: replace LSL_Api.InventoryKey(string) largely with SceneObjectPartInventory.GetInventoryItem(string)
...
Also gets llStopAnimation() to call KeyOrName rather than duplicating logic.
2012-05-26 00:36:01 +01:00
Talun
120f8145fc
Mantis 6028 osAvatarStopAnimation not stopping animations via UUID
...
Corrected to stop animations using the animation UUID similar to llStopAnimation.
See http://opensimulator.org/wiki/OsAvatarStopAnimation
2012-05-25 23:45:03 +01:00
Justin Clark-Casey (justincc)
67ebe80dd9
Resolve some mono compiler warnings.
2012-05-25 04:03:16 +01:00
Justin Clark-Casey (justincc)
ab59c0a658
on agent cross, remove from physics scene after its been placed in transit, not before.
2012-05-25 03:39:10 +01:00
Justin Clark-Casey (justincc)
888210ea4a
refactor: make ETM.CrossAgentToNewRegionAsync neighbourRegion == null check return earlier to simplify method
2012-05-25 03:06:26 +01:00
Justin Clark-Casey (justincc)
9f1fc7ea88
Remove a call stack debugging line accidentally left in from a few days ago at SceneObjectPartInventory.ApplyNextOwnerPermissions().
2012-05-25 02:54:37 +01:00
Justin Clark-Casey (justincc)
96cde407ab
Fix bug where a failed QueryAccess to a remove region would always have the reason "Communications failure" no matter what the destination region actually returned
2012-05-25 02:37:22 +01:00
Justin Clark-Casey (justincc)
40c78b0624
Stop it being possible for an agent to teleport back to its source region before the source region has finished cleaning up old agent data and structures.
...
If this is allowed, then the client usually gets forcibly logged out and data structures might be put into bad states.
To prevent this, the binary state machine of EMT.m_agentsInTransit is replaced with a 4 state machine (Preparing, Transferring, ReceivedAtDestination, CleaningUp).
This is necessary because the source region needs to know when the destination region has received the user but a teleport back cannot happen until the source region has cleaned up.
Tested on standalone, grid and with v1 and v3 clients.
2012-05-25 02:02:53 +01:00
Justin Clark-Casey (justincc)
93ff27053a
Don't actually proceed on a within-region teleport if another is already taking place, rather than just (falsely) logging that we're not going to proceed.
...
An oversight from recent commit 9ab0c81
2012-05-24 22:59:52 +01:00
Justin Clark-Casey (justincc)
cc53d91d2f
On inter-region teleport, only stand the avatar up if the QueryAccess call to the destination scene actually succeeds.
2012-05-24 22:46:45 +01:00
Justin Clark-Casey (justincc)
cd225215b1
Now that the EntityTransferModule is per-region, fetch the event queue module once rather than repeatedly via scene presences
2012-05-24 22:40:24 +01:00
Justin Clark-Casey (justincc)
5c9086ade6
Fix issue where a dns resolution failure on the final destination might leave the user unable to teleport since the transit flag was not being reset.
...
This moves the 'already in transit' check further up and resets the flag if dns resolution fails and in the new required places.
2012-05-24 22:26:02 +01:00
Justin Clark-Casey (justincc)
f4cd4c8e28
Comment out accidentally left in log line that was printing out the control file on OAR save
2012-05-24 04:33:36 +01:00
Justin Clark-Casey (justincc)
38ce9d45a5
Make ISimulationScene.GetScene() used the more efficient region id for lookup rather than the region handle.
2012-05-24 01:00:18 +01:00
Justin Clark-Casey (justincc)
459c7635af
If an agent is still registered as 'in transit' by the source region, don't allow an immediate teleport back.
...
This is to help relieve a race condition when an agent teleports then immediately attempts to teleport back before the source region has properly cleaned up/demoted the old ScenePresence.
This is rare in viewers but much more possible via scripting or region module.
However, more needs to be done since virtually all clean up happens after the transit flag is cleared .
Possibly need to add a 'cleaning up' state to in transit.
This change required making the EntityTransferModule and HGEntityTransferModule per-region rather than shared, in order to allow separate transit lists.
Changes were also required in LocalSimulationConnector.
Tested in standalone, grid and with local and remote region crossings with attachments.
2012-05-24 00:31:14 +01:00
PixelTomsen
bc543c1797
Environment Module - allows Environment settings for Viewer3 warning: includes database region store migrations for mssql, mysql, sqlite
...
enable/disable this module:
Cap_EnvironmentSettings = "localhost" (for enable)
Cap_EnvironmentSettings = "" (for disable) at ClientStack.LindenCaps section (OpenSimDefaults.ini file)
or owerwrite in OpenSim.ini
mantis: http://opensimulator.org/mantis/view.php?id=5860
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-23 17:04:19 -04:00
BlueWall
682d4075e3
Fix llGetSimulatorHostname to return configured hostname
2012-05-23 15:08:39 -04:00
Justin Clark-Casey (justincc)
4d1986c0e4
minor: Change [OBJECT COMMANDS MODULE] log strings to [REGION COMMANDS MODULE] strings, though all these are currently commented out anyway
2012-05-23 04:20:54 +01:00
Justin Clark-Casey (justincc)
ee98b9c394
Add "show scene" command which lists stats for the currently selected console scene(s)
...
This includes prim count, script count, avatar count, etc.
Information is currently the same as "show stats", though show stats can only show one scene at a time because it listens for the latest outgoing stats packet (a bad approach that needs to change).
Might be better to tie this module into the other stats module to display arbitrary stats rather than fetching directly from scene.SimStatsReporter.
Console command is "show scene" because "show region" already exists for the grid service, which is unfortunate.
Might need to make a distinction between "scene" relating to a live scene and "region" relating to more static region data (url, coords, etc.)
2012-05-23 04:10:45 +01:00
Justin Clark-Casey (justincc)
8f88c17df9
refactor: Rename ConsoleTableRow and ConsoleTableColumn to ConsoleDisplayTableRow and ConsoleDisplayTableColumn
2012-05-23 03:23:37 +01:00
Justin Clark-Casey (justincc)
2222d979cc
refactor: rename ConsoleTable -> ConsoleDisplayTable for clarity
2012-05-23 02:37:38 +01:00
Justin Clark-Casey (justincc)
68918d632f
Fetch the dialog module reference in AttachmentsModule in RegionLoaded() not AddRegion()
...
The reference is not guaranteed to be there when AddRegion() is called but will definitely be present at RegionLoaded() if it's going to be present at all.
2012-05-23 02:09:31 +01:00
Justin Clark-Casey (justincc)
ec8745cf51
minor: Make log class names in InventoryAccessModule uniform
2012-05-23 02:05:48 +01:00
Justin Clark-Casey (justincc)
ff429a259b
Fix bug where an avatar that had an object they owned attached through llAttachToAvatar() or osForceAttachToAvatar() would wrongly have next permissions come into play when they detached that object and rezzed it in scene.
...
This is because the attachments module code was setting the 'object slam' bit by using PermissionMask.All
Solution here is to route the attachment item creation call through the existing inventory code in BasicInventoryAccessModule rather than copy/pasted code in AttachmentsModule itself.
2012-05-23 01:58:10 +01:00
Justin Clark-Casey (justincc)
9ab0c81c1d
Setting 'in transit' on a local teleport as well as inter-region teleports.
...
This is to eliminate possible race conditions if two teleport calls are made concurrently, where at least one is a local teleport.
This is pretty much impossible on a manual user teleport but can happen on script-invoked teleports.
2012-05-21 21:33:59 +01:00
Justin Clark-Casey (justincc)
7e97f0e898
minor: extend commented out LinkInventoryItem log message for future use
2012-05-21 21:00:22 +01:00
Justin Clark-Casey (justincc)
0db60eea85
Improve locking of RegionCombinerModule.m_regions
2012-05-19 04:59:36 +01:00
Justin Clark-Casey (justincc)
5759313f7f
Add size of region to OAR control file. Megaregions (sw root OARs when saved) will have a size larger than 256x256
...
Not yet read. Do not rely on this information yet, it may change.
2012-05-19 04:56:47 +01:00
Justin Clark-Casey (justincc)
824a3a114b
refactor: Add RegionConnection.PosX and PosY to return position in meters rather than copy/pasting the necessary calculations in lots of places.
2012-05-19 04:22:30 +01:00
Justin Clark-Casey (justincc)
fb8705dd4d
refactor: Rename connection paramaters from "conn" and "regionConnections" so that it's easy to tell whether they refer to the root region connection or a new region connection
2012-05-19 04:01:05 +01:00
Justin Clark-Casey (justincc)
d7f90dee1c
Correct some log messages in RegionCombinerModule about the position of the root region of a megaregion relative to an added region
2012-05-19 03:56:25 +01:00
Justin Clark-Casey (justincc)
4e5ac27928
Make the megaregion total area given to the physics module accurate instead of over-inflated.
...
This was previously over-inflated because adding a region to the NE of the root region resulted in double counting of regions already added.
An accurate extent will also be necessary for other purposes.
2012-05-19 03:45:58 +01:00
Justin Clark-Casey (justincc)
3f2a727b6d
Remove recent IRegionCombinerModule.IsMegaregion(). In theory, there can be more than one megaregion in a simulator, separated by water.
...
Rename IsRootRegion() to IsRootForMegaregion()
2012-05-19 03:17:21 +01:00
Justin Clark-Casey (justincc)
26dfcf5395
Add some method doc to RegionCombinerModule. Clean up log messages.
2012-05-19 03:07:24 +01:00
Justin Clark-Casey (justincc)
33247c8d85
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-05-19 02:46:37 +01:00
Justin Clark-Casey (justincc)
2b60a5c5d6
Add is_megaregion flag into oar control file. Not currently read - for future use. Please do not rely on this remaining here.
...
An adaptation of part of Garmin's patch from http://opensimulator.org/mantis/view.php?id=5975 , thanks!
Flag only written if the SW corner OAR is saved - this is the only one that captures object data presently (though not land or terrain data).
This adds an IRegionCombinerModule interface and the necessary methods on RegionCombinerModule
2012-05-19 02:45:17 +01:00
BlueWall
247a56593f
Further refinement on properties
2012-05-18 20:02:32 -04:00
BlueWall
895dadbdbd
Cleanup + change properties to set fields with private set : Thanks Justin for the tip.
2012-05-18 19:34:12 -04:00
BlueWall
c05f87b50c
Provide Telehub setting to allow use of landmarks
...
Setting to allow use of landmarks to override telehub routing. Default is off.
2012-05-18 17:51:38 -04:00
Justin Clark-Casey (justincc)
0147dc6302
Fix build break. Comment out EQG deregister/register logging.
2012-05-18 03:50:23 +01:00
Justin Clark-Casey (justincc)
45af29291a
Add level 2 debug eq logging which logs event queue polls.
...
Refactor: eq message logging into common method.
2012-05-18 03:43:36 +01:00
Justin Clark-Casey (justincc)
6501b1b1bb
refactor: move EventQueueGet path generation into common method. Rename some local variables in line with code conventions. Add commented out EQG log lines for future use.
2012-05-18 00:38:29 +01:00
Justin Clark-Casey (justincc)
b18c8c8e78
Don't eagerly clear frame collision events when physics actors subscribe and unsubscribe from collisions, in order to avoid a race condition.
...
Since this is done directly from ScenePresence, it can lead to a race condition with the simulator loop.
There's no real point doing it anyway since the clear will be done very shortly afterwards by the simulate loop and either there are no events (for a new avatar) or events don't matter (for a departing avatar).
This matches existing behaviour in OdePrim
2012-05-17 23:59:43 +01:00
Justin Clark-Casey (justincc)
521ad080f1
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-05-17 23:56:36 +01:00
Justin Clark-Casey (justincc)
4d34763f8c
Check agent limit against root agent count rather than both root and child agents
...
From sl docs such as http://community.secondlife.com/t5/English-Knowledge-Base/Managing-Private-Regions/ta-p/700115
agent should apply to avatars only.
This makes sense from a user perspective, and also from a code perspective since child agents with no physics or actions take up a fraction of root agent resources.
As such, the check is now only performed in Scene.QueryAccess() - cross and teleport check this before allowing an agent to translocate.
This also removes an off-by-one error that could occur in certain circumstances on teleport when a new child agent was double counted when a pre-teleport agent update was performed.
This does not affect an existing bug where limits or other QueryAccess() checks are not applied to avatars logging directly into a region.
2012-05-17 23:33:26 +01:00
BlueWall
2af11fea37
Merge branch 'master' of /home/opensim/lib/osgrid/opensim
2012-05-17 00:49:33 -04:00
BlueWall
295bb3227d
Force the default Telehub router if no matches are found in the config.
2012-05-17 00:47:19 -04:00
Justin Clark-Casey (justincc)
c45b5a3d1c
minor: improve method doc for TestSameSimulatorSeparatedRegionsCreateAgentFails()
2012-05-17 03:27:05 +01:00
Justin Clark-Casey (justincc)
d19fb6fb0c
Add regression TestSameSimulatorSeparatedRegionsCreateAgentFails()
2012-05-17 03:12:31 +01:00
Justin Clark-Casey (justincc)
f0c9cb8dc0
Comment out TestSameSimulatorSeparatedRegionsQueryAccessFails() regression test logging accidentally left in
2012-05-17 01:34:04 +01:00
Justin Clark-Casey (justincc)
6b6a00a3d5
minor: Remove redundant EstateOwner != UUID.Zero check in IsAdministrator because checking EstateOwner == user
...
Due to an earlier check we already know that user != UUID.Zero so if EstateOwner == UUID.Zero, EstateOwner == user can never be true
2012-05-17 01:30:50 +01:00
Justin Clark-Casey (justincc)
bdcf2d1348
Add regression TestSameSimulatorSeparatedRegionsQueryAccessFails()
2012-05-17 01:27:59 +01:00
Justin Clark-Casey (justincc)
e444cb9da4
Remove redundant "Teleport failed:" from reason when QueryAccess fails for the destination simulator. This part of the string is already provided by the viewer.
...
Also adds more reason logging for diagnostics when teleports are refused/fail.
2012-05-17 00:33:04 +01:00
Justin Clark-Casey (justincc)
23ae24b406
Route OAR SOG loading through the common SceneObjectSerializer.FromXml2Format() rather than the functionally identical but buggy Xml2ToSOG().
...
Remove buggy Xml2ToSOG().
2012-05-16 00:10:42 +01:00
Justin Clark-Casey (justincc)
e644e34545
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-05-15 23:47:42 +01:00
Justin Clark-Casey (justincc)
1b5ce8c10e
Fix issue where loading OARs could sometimes result in link numbers being reordered.
...
This was because the parts in scene objects were sometimes not serialized in link order.
This is perfectly fine since the parts still have the right link numbers, but an extra fix to adjust for this
had not been done in the SerialiserModule methods that OAR loading used.
Add regression test for same.
Addresses http://opensimulator.org/mantis/view.php?id=5948 , http://opensimulator.org/mantis/view.php?id=5749
2012-05-15 23:43:59 +01:00
Justin Clark-Casey (justincc)
02f3b116c6
Allow use of regular expressions in "show object name", "show part name" and "delete object name" console commands if --regex switch is used.
...
Deleteing objects by name, creator uuid or owner uuid now requires confirmation to avoid accidental deletion.
2012-05-15 23:42:49 +01:00
Melanie
65e1d7b2d7
Guard against null root part on SQLite. This really needs to be fixed so SQLite
...
loads roots before children like MySQL does.
2012-05-15 03:16:12 +01:00
Melanie
069bcd45e5
Try to fix sqlite breakage
2012-05-15 02:27:21 +01:00
Melanie
e7819ce909
Port Avination's collision fixes to core.
2012-05-15 01:02:38 +01:00
Oren Hurvitz
52a32878a9
Save the Telehub and its Spawn Points in the OAR
2012-05-14 19:59:45 +01:00
Justin Clark-Casey (justincc)
af6c85308a
minor: add explanative comment to 'missing baked texture' logging commonly seen on inter-simulator teleports where avatar baked textures are not available from the asset service.
2012-05-14 18:57:42 +01:00
Justin Clark-Casey (justincc)
deeac69312
minor: comment out individual attachment transfer log messages for now
2012-05-14 18:48:40 +01:00
Justin Clark-Casey (justincc)
c2aa3b90d9
Set the agent in transit teleport flag at the first available opportunity (i.e. when IsInTransit() was being checked) to close down a race condition.
...
On EntityTransferModule.DoTeleport() there was an IsInTransit() check to prevent multiple simultaneous teleport attempts.
However, the SetInTransit() was only performed later on, which left a window in which multiple threads could pass the IsInTransit() check.
This has been seen in the field and the results aren't pretty.
This commit effectively combines the IsInTransit() and SetInTransit() checks so there is no such window.
More failure cases are made to to call ResetInTransit() to adjust to this move.
2012-05-14 18:36:26 +01:00
Justin Clark-Casey (justincc)
42557d7d4c
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-05-14 18:33:20 +01:00
Justin Clark-Casey (justincc)
fad557485c
Add more region information to some teleport related logging
2012-05-14 18:06:48 +01:00
Chris Koeritz
30a272ba31
Modifications for SMTP in OpenSimulator. Email size limit was fixed (was out of step with documentation at 1024, so boosted to 4096). Added configuration item for maximum email size. Redundant sleep inside email module was fixed (LSL Api was already sleeping). Added sleep time configuration item for snooze between email sending for LSL Api. Added two new configuration items (email_max_size and email_pause_time) into the example OpenSim.ini, plus fixed a spelling error (llimits) and odd tabbing.
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-13 17:34:20 -04:00
BlueWall
7c229c8b81
Add configurable SpawnPointRouting
...
Will use one of three selected methods to route avatar landing
points when using Telehubs. The setting is in [Startup] using
SpawnPointRouting = closest/random/sequence
closest: The default setting. Routes avatar to the nearest SpawnPoint
to the location.
random: Picks random SpawnPoints to land the avatar.
sequence: Follows a sequence to place the avatar on the next available
SpawnPoint location
Conflicts:
OpenSim/Region/Framework/Scenes/Scene.cs
2012-05-13 17:20:54 -04:00
Justin Clark-Casey (justincc)
8b958e7e74
Revert "Save the Telehub and its Spawn Points in the OAR"
...
This reverts commit b0b7b45b94
.
Sorry BlueWall, I wanted to discuss an aspect of the data storage but I couldn't assign bugs in 'patch included' state to myself until I changed mantis just now and I forgot to mention it on irc.
I wouldn't normally revert but thinks get tricky when it comes to data formats.
Essentially, I would like to see the Yaw, Pitch and Distance values as separate XML entities (as used in other aspects such as vectors, quaternions) rather than as a . delimited string
We can discuss this more with Oren in opensimulator.org/mantis/view.php?id=6008
2012-05-12 02:36:56 +01:00
Oren Hurvitz
b0b7b45b94
Save the Telehub and its Spawn Points in the OAR
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-10 22:56:37 -04:00
Justin Clark-Casey (justincc)
903cff9264
Add ConsoleTable framework class for future uniform formatting of console output tables.
...
Still subject to change - if you use this be prepared to change your output code if/when the methods change.
Make new "attachments show" command use this.
2012-05-10 23:47:39 +01:00
Justin Clark-Casey (justincc)
abc029d1f4
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-05-10 23:43:38 +01:00
Justin Clark-Casey (justincc)
bce3e7cb06
Add "attachments" show console command that will show the server's record of which attachments an in-scene avatar has.
...
For debugging purposes.
2012-05-10 22:48:03 +01:00
Dan Lake
117c183fde
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-05-10 14:43:02 -07:00
Dan Lake
f374b63ac8
Add even for terrain tainting and synchronize terrain module with physics scene before physics simulation step rather than after
2012-05-10 14:42:46 -07:00
Mic Bowman
de44734fe9
Saving estate state is really slow (relatively) and it gets
...
completely rewritten every time a region starts up. This
makes the data write only when the data was not already
read from the database.
There is a still a major race condition whenever two regions
share the same estate data, but at least it won't be triggered
on startup.
2012-05-10 09:08:40 -07:00
Justin Clark-Casey (justincc)
6987aef38d
Improve logging on the prim inventory script asset request path for future use.
...
This adds name and description of the request handler to http request logging when DebugLevel >= 1
2012-05-09 23:12:30 +01:00
Talun
61e99bcdcb
Mantis 6015 new LSL function llGetAgentList.
...
Details in the lsl wiki
2012-05-09 00:14:24 +01:00
Justin Clark-Casey (justincc)
e5dbb652d5
Remove physics actor related race conditions in SetVehicleFlags() and SetPhysicsAxisRotation()
...
sop.PhysActor can currently become null at any time.
2012-05-09 00:11:10 +01:00
Dan Lake
3bc5620d74
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-05-08 16:06:02 -07:00
Dan Lake
20952c75c5
Trigger event when scene presences are updated
2012-05-08 16:05:34 -07:00
Talun
c21c9e13ef
Mantis 1456 same region teleport of a sitting avatar.
...
Region to region was fixed some time ago in EntityTransferModule.
This applies the same fix for same region teleports.
2012-05-09 00:02:13 +01:00
Justin Clark-Casey (justincc)
ef279c5a62
Add automated TestllBreakLink()
2012-05-08 23:36:23 +01:00
Justin Clark-Casey (justincc)
c0658a102e
Add automated TestllCreateLink()
2012-05-08 23:29:51 +01:00
Justin Clark-Casey (justincc)
6406d5a5b9
refactor: Eliminate local id parameter from api initialize.
...
This is always available from m_host.LocalId
2012-05-08 23:20:27 +01:00
Justin Clark-Casey (justincc)
01b78235db
Instead of constantly looking up unchanging self item in script code, pass in self item on initialization.
2012-05-08 23:05:01 +01:00
Justin Clark-Casey (justincc)
abbd050a13
Perform SceneGraph.DuplicateObject() under existing m_updateLock already used for link and delinking, in order to avoid race conditions.
...
DuplicateObject() relies on source object having correct link numbers for the duration of the dupe.
Both link and delink can change link numbers such that they are not consistent for short periods of time.
2012-05-08 21:31:35 +01:00
Justin Clark-Casey (justincc)
5d1d47e1f9
Revert "Better error handling if Load OAR or Save OAR fail"
...
This reverts commit 65c88b2ff4
.
Yet again I accidentally committed something whilst evaluating it.
2012-05-07 20:01:17 +01:00
Oren Hurvitz
65c88b2ff4
Better error handling if Load OAR or Save OAR fail
2012-05-07 19:07:38 +01:00
Justin Clark-Casey (justincc)
a82dc263ab
For osGetGridNick(), osGetGridName(), osGetGridLoginURI() and osGetGridCustom(), try to read from the [GridInfoService] section on standalone rather than [GridInfo]
...
[GridInfoService] is the section that's actually in bin/config-include/StandaloneCommon.ini.example
2012-05-07 19:05:21 +01:00
Justin Clark-Casey (justincc)
5053506d88
refactor: Instead of performing a ScenePresence lookup twice over LocateClientObject() and GetClientScene(), do the lookup just once in LocateClientObject()
2012-05-07 18:27:33 +01:00
Justin Clark-Casey (justincc)
cdf97ab3a6
Fix a bug in FriendsModule.StatusNotify() where all subsequent friends would not be notified once a non-local friend was found.
2012-05-07 17:21:45 +01:00
dahlia
4186fa10f0
remove default values from prior commit since mono cant deal with them
2012-05-07 00:08:56 -07:00
dahlia
b697d0e895
add OS_NPC_RUNNING option to osNpcMoveToTarget() to allow running speed for moving NPCs
2012-05-06 23:54:50 -07:00
Melanie
b60f51dafc
Stop llSetPos from sending one update per child prim
2012-05-06 19:21:54 +01:00
Justin Clark-Casey (justincc)
01b00ad0d5
Fire the scripting changed event with CHANGED_OWNER when an object that has changed owners is rezzed.
...
This needs to occur after the script is resumed rather than before, when the event is just dropped.
Addresses http://opensimulator.org/mantis/view.php?id=5890 and http://opensimulator.org/mantis/view.php?id=5952
2012-05-05 00:29:14 +01:00
Justin Clark-Casey (justincc)
e18686528e
Use the more efficient HashSet instead of List for FlotasmAssetCache.m_CurrentlyWriting
2012-05-04 23:03:33 +01:00
Justin Clark-Casey (justincc)
dec6ad2933
Don't try and update the access time of a file that is actively being cached.
...
This may cause IOErrors on Windows.
Aims to help with http://opensimulator.org/mantis/view.php?id=6003
2012-05-04 22:57:33 +01:00
Justin Clark-Casey (justincc)
da4819a170
Temporarily add debug log lines to lsl url request and release
...
To help with http://opensimulator.org/mantis/view.php?id=5993
2012-05-04 22:11:25 +01:00
Talun
92fde6ed26
Mantis 60004 problems with damage and llSetDamage. In damage enabled areas this patch - Deletes any objects that have damage set > 0 that deliver that damage to an avatar Stops Gods receiving damage, Stops volume detect objects causing damage Deletes NPCS when their helth reduces to zero Gradually "heals" damage to an avatar Resets health on going to a non damage area
2012-05-04 21:01:09 +01:00
Justin Clark-Casey (justincc)
c221eaf0b0
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-05-03 22:39:04 +01:00
Justin Clark-Casey (justincc)
fcd5b0817b
Reinsert a 2000ms delay before closing a no longer required agent on the source region after teleport to resolve Imprudence teleport problems.
...
Viewers 1 and 3 are fine with doing this immediately. However, Imprudence has a small delay (<200ms, >500ms) after receiving the AgentCompleteMovement reply packet on the destination region before regarding that region as the currnet region.
If Imprudence receives a DisableSimulator in this period, it quits.
We are not restoring the full 5000ms delay since this brings back a bug where teleports permanently fail if an avatar tries to teleport back too quickly.
This commit also sends the AgentCompleteMovement packet to the client before telling the source region to release its old agent, in order to further cut down any possibility of the DisableSimulator being recieved before the AgentMovementComplete.
2012-05-03 22:30:36 +01:00
Snoopy Pfeffer
100e4ca67e
Fixes Mantis #5999 . llSetLinkPrimitiveParams with PRIM_BUMP_SHINY did cause a runtime error.
2012-05-03 19:00:09 +02:00
Justin Clark-Casey (justincc)
9ffc2c1062
minor: resolve some mono compiler warnings
2012-05-03 01:56:24 +01:00
Justin Clark-Casey (justincc)
231a3bf147
Implement optional name and description on http stream handlers so that we can relate a slow request to what the handler actually does and the agent it serves, if applicable.
...
This is most useful for capabilities where the url is not self-describing.
2012-05-03 01:45:49 +01:00
Justin Clark-Casey (justincc)
40f3c24562
Comment out the five second sleep in etm.DoTeleport() if the old agent needs to be closed because it is no longer in the child's view distance.
...
This sleep appears unnecessary since a sleep has already occurred in WaitForCallback() whilst waiting for the destination region to notify of teleport success.
There are no async operations between this sleep and the WaitForCallback()
If this sleep is present, then teleporting back to the source region within 5 seconds results in a disconnection.
If this sleep is commented out then teleporting quickly back and forth between two simulators appears to work without issue.
Tested on standalone, local grid and distributed grid.
Please revert if there's something that I've missed.
2012-05-01 23:49:02 +01:00
Justin Clark-Casey (justincc)
a29f7f7551
Remove some test code that accidentally crept in with 9d2e1c67
2012-05-01 23:25:30 +01:00
Justin Clark-Casey (justincc)
9d2e1c67a8
Add regression test for teleporting between neighbouring regions on the same simulator
...
This adds a non-advertised wait_for_callback option in [EntityTransfer]. Default is always true.
Teleport tests disable the wait for callback from the destination region in order to run within a single thread.
2012-05-01 23:14:12 +01:00
Justin Clark-Casey (justincc)
5786521103
Move max teleport distance check down into etm.DoTeleport() since this should apply to all teleport calls, not just those through Teleport()
2012-05-01 18:38:46 +01:00
Justin Clark-Casey (justincc)
37dd174697
refactor: Split most of EntityTransferModule.Teleport() into its same region and different region teleport components.
...
DoTeleport() now retrives IEventQueue itself rather than requiring it to be passed in.
2012-05-01 17:52:30 +01:00
Justin Clark-Casey (justincc)
b678ea18b2
Create TestHelpers.EnableLogging() and DisableLogging() to turn logging on and off within tests.
...
This makes *.Tests.dll.config files no longer needed, hence deleted.
2012-04-30 18:44:22 +01:00
TBG Renfold
9c2a73b61e
llGenerateKey implementation. Creates a random UUID I.E: UUID.Random().ToString();
...
Signed-off-by: TBG Renfold <tbg.renfold@g2mv.co.uk>
2012-04-30 17:36:49 +01:00
Justin Clark-Casey (justincc)
d0598c63f3
refactor: Simplify by combining SafeSendControlsToScripts() from fe8e835
into SendControlsToScripts() (instead of SendControlToScripts()).
2012-04-30 17:33:08 +01:00
Oren Hurvitz
fe8e835bfc
Fixed: scripted controls didn't work if the avatar was sitting down
...
This fixes a bug introduced in 6473674bbf
2012-04-30 17:18:15 +01:00
Justin Clark-Casey (justincc)
8380166251
Comment out debug [ASYNC DELETER] messages for now.
2012-04-28 00:39:40 +01:00
Justin Clark-Casey (justincc)
cd755fe598
Remove mono compiler warning. Adjust message log to error from info
2012-04-28 00:31:11 +01:00
Justin Clark-Casey (justincc)
2bad430ed8
Put scene object related console commands into new "Objects" help category rather than "Regions"
2012-04-28 00:08:04 +01:00
Justin Clark-Casey (justincc)
ab71779221
Revert "Revert "Implement bulk inventory update over CAPS (not recursive by design,""
...
This reverts commit a90b0e302c
.
Sorry, accidentally reverted this completely by mistake, reverting the revert.
2012-04-27 23:54:45 +01:00
Justin Clark-Casey (justincc)
a90b0e302c
Revert "Implement bulk inventory update over CAPS (not recursive by design,"
...
This reverts commit 6e7f13a72d
.
2012-04-27 23:46:33 +01:00
Justin Clark-Casey (justincc)
d25469f66e
Add flags information (phantom, physics, etc.) to "show object" and "show part" console commands
2012-04-27 23:38:25 +01:00
Oren Hurvitz
6473674bbf
Fixed: custom walking animations didn't stop when the avatar stopped walking.
...
This happened because the scripts were notified about control changes (e.g., the user stopped pressing the Forward key) when the animation was still WALK, so the script didn't stop the walking animation. Fixing this required: a) Update the movement animation *before* notifying the script; b) Add locking to prevent clashes with the Heartbeat thread (which also updates the animations); c) Handle the case of a user who stops walking just as the avatar is in the air: the avatar should STAND in that case, not WALK.
This reverts commit feef1dd732
.
2012-04-27 20:47:02 +01:00
Oren Hurvitz
9622e8ac72
If a Grid God teleports then include the Godlike teleport flag. This can affect the starting position in the destination region.
2012-04-27 20:22:35 +01:00
Oren Hurvitz
37d770f814
Use DotNetZip to compress OARs and IARs.
...
DotNetZip provides much better compression than standard .NET.
2012-04-27 19:46:31 +01:00
Justin Clark-Casey (justincc)
e39e4f6bfb
minor: style adjustments in SensorRepeat, mainly related to patch from stoehr
2012-04-27 19:40:19 +01:00
Stefan_Boom
b35a1d5681
Fixing wrong position of llSensor, SensePoint wasnt following the rotation of the root prim.
2012-04-27 19:31:50 +01:00
Diva Canto
9bc94c502a
MapImageService: changed the event at which the map tiles are uploaded, because they were being uploaded before the region was registered with the grid
2012-04-27 11:05:40 -07:00
Diva Canto
2970a18e54
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-04-27 09:26:14 -07:00
Diva Canto
c84f63f4dc
Minor change in error message (HG teleport failures)
2012-04-27 09:24:50 -07:00
Justin Clark-Casey (justincc)
07e62df558
Add regression test for teleporting an agent between separated regions on the same simulator.
...
This involves a large amount of change in test scene setup code to allow test scenes to share shared modules
SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static
May split these out into separate classes in the future.
2012-04-27 00:58:54 +01:00
Oren Hurvitz
8a65f5a70d
OSSL: Removed check for CanRunConsoleCommand() in osKickAvatar.
...
OSSL permissions are now controlled in OpenSim.ini.
2012-04-26 22:53:13 +01:00
Oren Hurvitz
ee13d817f1
When creating an OAR, objects where the user is the Creator are always included, regardless of their permissions.
...
The purpose of the permission checks is to prevent the unauthorized copying of assets, but users can always copy assets that they created.
2012-04-26 22:41:31 +01:00
Justin Clark-Casey (justincc)
cb6791fb30
Tweak log messages on local region to region teleport path to help with problem resolution.
2012-04-26 22:35:25 +01:00
Justin Clark-Casey (justincc)
d19aa9e792
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-04-26 21:54:50 +01:00
BlueWall
2542ca2a49
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-04-26 16:40:36 -04:00
BlueWall
fba802bb03
Merge branch 'master' of /home/opensim/var/repo/opensim
2012-04-26 16:13:47 -04:00
Talun
b8114d2b67
Add a version of osNpcSay that takes a channel number Mantis 5747
...
osNpcSay(UUID npc, string message) left untouched
New functions:-
osNpcSay(UUID npc, int channel, string message)
osNpcShout(UUID npc, int channel, string message)
osNpcWhisper(UUID npc, int channel, string message)
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-04-26 16:13:29 -04:00
Justin Clark-Casey (justincc)
ca228c4770
Comment out old Scene.HandleLogOffUserFromGrid() to reduce client closing analysis complexity
2012-04-26 16:20:53 +01:00
Justin Clark-Casey (justincc)
f49912f92a
minor: Add more detail to unauthorized caps client message
2012-04-26 16:10:24 +01:00
Justin Clark-Casey (justincc)
b0cbf16c19
minor: Add region name to dropped inbound packet message
2012-04-26 16:04:49 +01:00
Justin Clark-Casey (justincc)
e52fe03fff
minor: Add avatar name to removing agent log message
2012-04-26 00:42:37 +01:00
Justin Clark-Casey (justincc)
74dbfe6bb5
Comment out avatar move to target message for now.
2012-04-25 23:46:42 +01:00
Mic Bowman
133370f158
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-04-25 11:57:29 -07:00
Mic Bowman
a2d544c938
Add a configuration switch to turn on/off the use of the trash
...
folder when deleting objects from a scene. The use of the trash
folder causes assets to be created and stored everytime you delete
an object from the scene (slows down the delete and adds mostly useless
assets to your database).
Default is on (use the trash folder) which is the standard behavior.
2012-04-25 11:54:57 -07:00
Melanie
88553bb884
Port Avination link order to make OpenSim behave like SL. Make Primstar scripts work. Fixes Mantis #5990
2012-04-25 19:09:22 +01:00
Mic Bowman
1afae01311
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-04-25 09:52:44 -07:00
Mic Bowman
bec100a662
Add try/catch around Json script method registration to avoild some issues
...
with .NET 3.5 vs 4.0 differences.
See http://opensimulator.org/mantis/view.php?id=5971
2012-04-25 09:51:30 -07:00
Diva Canto
7aa25c6762
Slight rewording of output messages.
2012-04-24 22:40:07 -07:00
Diva Canto
fd281ded3f
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-04-24 22:17:52 -07:00
Diva Canto
cf1c34605b
HG: Moved User-level code down to the HGEntityTransferModule where it belongs.
2012-04-24 22:17:10 -07:00
Melanie
550ff3b4da
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2012-04-25 04:01:55 +01:00
Melanie
3be3189ee0
Commit the avination Teleport() methods (adaptedto justincc's changes)
2012-04-25 04:00:01 +01:00
Justin Clark-Casey (justincc)
af86e2939c
zero out SP velocity before calling SP.Teleport(), as the client expects (though this is also effectively done by physics at the moment)
2012-04-25 03:47:26 +01:00
Justin Clark-Casey (justincc)
683cfc6f82
refactor: Combine ScenePresence.Teleport() and TeleportWithMomentum()
...
These are identical apart from setting Velocity = zero, which has no practical effect anyway since this is zeroed when the avatar is added back to the physics scene.
2012-04-25 02:07:55 +01:00
Justin Clark-Casey (justincc)
a65ca24701
Add regression test TestSameRegionTeleport()
2012-04-25 01:51:40 +01:00
Justin Clark-Casey (justincc)
6b299a4287
Comment out some debug ATTACHMENTS log messages for now.
2012-04-25 00:52:33 +01:00
Justin Clark-Casey (justincc)
39a6d7cab4
Comment out the noisier AVFACTORY log messages for now.
...
Permanently comment out warnings about ScenePresence not being found - this is entirely expected if the avatar has alraedy logged out or left the scene.
2012-04-25 00:47:32 +01:00
Justin Clark-Casey (justincc)
0f470326aa
Improve teleport log debug and error messages to tell us who is teleporting.
2012-04-25 00:19:38 +01:00
Oren Hurvitz
2f398231ac
Minor improvements to logging
...
Eliminated an extra newline in the console if the log line doesn't contain a category (example of a category: "[ASSETS]").
2012-04-24 21:38:09 +01:00
Oren Hurvitz
6011bfa5e3
OSSL: fixed the threat level check for osParseJSONNew
2012-04-24 20:41:29 +01:00
Justin Clark-Casey (justincc)
c6f30e044b
Restore _parent_scene.actor_name_map[prim_geom] = this; accidentally removed from ODEPrim.SetGeom.
...
This occurred in 7a574be3fd
from Sat 21 Apr 2012.
This should fix collision detection.
Mnay thanks to tglion for the spot and the fix in http://opensimulator.org/mantis/view.php?id=5988
2012-04-24 20:15:10 +01:00