Dan Lake
2b19a112d9
Remove unused SetAcceleration and add set on Acceleration parameter
2012-01-09 12:02:46 +00:00
Justin Clark-Casey (justincc)
cd78f50632
Though the viewer warns about receiving this, not sending appears to break baked texture caching when crossing region boundaries.
...
Needs further investigation.
Revert "Stop sending the viewer its own AvatarAppearance packet."
This reverts commit 92039f295d
.
2011-12-20 20:58:37 +00:00
Justin Clark-Casey (justincc)
b300db9e0a
Stop sending the viewer its own AvatarAppearance packet.
...
The viewer warns in the log if it receives this.
Stopping this doesn't appear to have adverse effects on viewer 1 or viewer 3 - the viewer gets its own appearance from body parts/clothes and self-baked textures.
2011-12-19 21:16:34 +00:00
Justin Clark-Casey (justincc)
4370f0e181
Stop unnecessarily sending the TextureEntry in client avatar updates.
...
As far as I know, viewers don't use this mechanism to recieve new TextureEntry data for avatars. This is done via the AvatarAppearance packet instead.
Tested this back to viewer 1.23.
Replacing with Utils.EmptyBytes since converting the texture entry to bytes on each AvatarUpdate (or which there are many) is not cost-free.
2011-12-19 21:16:24 +00:00
Justin Clark-Casey (justincc)
48ea503c33
Fix race condition where the appearance update timer could be stopped just after another thread had started it on QueueAppearanceSave() or *Send()
...
However, the window for this race is very small, and the next queued appearance save or send would restart the timer anyway.
2011-12-19 21:16:14 +00:00
nebadon
546eb88112
addresses mantis #5827
...
RAdmin - admin_save_oar fails if noassets parameter missing
thanks Michelle Argus
2011-12-19 21:09:36 +00:00
Justin Clark-Casey (justincc)
52710b48ac
Provide user feedback on execution of "backup" region console command
2011-12-19 21:09:28 +00:00
Justin Clark-Casey (justincc)
cc5e28c1c1
Fix bug where objects couldn't be set back to the "none" group.
...
This is handled by treating UUID.Zero as a special case.
Currently, asking for the "none" group returns nothing because XMLRPC groups, at least, is not properly handling this case.
It may be better in the future to have GroupsModule return an appropriate GroupsData structure instead or require the underlying services to behave appropriately.
This is a further component of http://opensimulator.org/mantis/view.php?id=5588
2011-12-19 21:09:19 +00:00
Justin Clark-Casey (justincc)
67a2d6d855
Fix bug where objects could not be set to a new group if the group had been created in that client session, or if no other action has been performed on the object.
...
There were two problems here:
1) On object group update, we looked for the group is the IClientAPI group cache rather than in the groups service. This fails to groups created newly in that session
2) On object group update, we weren't setting the HasGroupChanged flag. This meant that the change was not persisted unless some other action set this flag.
This commit fixes these issues and hopefully addresses http://opensimulator.org/mantis/view.php?id=5588
This commit also moves HandleObjectGroupUpdate() to the GroupsModule from the Scene.PacketHandlers.cs file
2011-12-19 21:09:09 +00:00
Justin Clark-Casey (justincc)
7d426debd3
refactor: simplify methods in Scene.PacketHandlers.cs by using GetGroupByPrim() rather than retrieving GetEntities() and inspecting the entire list
2011-12-19 21:05:27 +00:00
Justin Clark-Casey (justincc)
4de98ca4c8
Add SceneViewer changes for removing unused client flags
2011-12-19 21:01:46 +00:00
Justin Clark-Casey (justincc)
deb50cd410
Stop generating client flags when we send out full object updates.
...
These were entirely unused.
2011-12-19 20:59:18 +00:00
Justin Clark-Casey (justincc)
b3cfc5b76e
Stop pointlessly setting the m_colliderarr[] to false in the ODECharacter constructor
2011-12-19 20:49:31 +00:00
Justin Clark-Casey (justincc)
27644bcce6
Stop having to call SetHeight again in ScenePresence.AddToPhysicalScene() when we've already passed size information to the avatar at PhysicsScene.AddAvatar()
...
Eliminate some copypasta for height setting in OdeCharacter
2011-12-19 20:49:09 +00:00
Justin Clark-Casey (justincc)
903da8acbd
Simplify some manipulation of _taintedActors in OdeScene
2011-12-19 20:31:57 +00:00
Justin Clark-Casey (justincc)
cfdccdd71c
Eliminate _taintedPrimsH and _taintedPrimsL (and _taintedPrimLock) in favour of just a _taintedPrims HashSet.
...
There's no point maintaining a list because any pending taint operations are all carried out in the same call anyway.
2011-12-19 20:30:52 +00:00
Justin Clark-Casey (justincc)
93e65fb9d5
In AvatarFactoryModule.SetApperance(), perform ValidateBakedTextureCache() in the same thread rather than on another one.
...
The caller is already an async thread from LLClientView so this doesn't hold up the client.
However, launching on a separate thread does remove the effect of m_setAppearanceLock
This was potentially allowing two different SetAppearance threads to interfere with each other, though this probably rarely happens, if at all.
2011-12-19 20:30:26 +00:00
Justin Clark-Casey (justincc)
986f6b39ca
Fix build
2011-12-12 20:32:47 +00:00
Justin Clark-Casey (justincc)
7a8dd539fd
minor: remove pointless comment from OdeScene.cs
2011-12-12 20:24:03 +00:00
Justin Clark-Casey (justincc)
382cda662f
minor: comment out "unpacked appearance" log mesasge for now
2011-12-12 20:23:17 +00:00
Justin Clark-Casey (justincc)
ede9aea45f
Comment out ChildAgentDataUpdate.Pack() "Pack data" message for now.
2011-12-12 20:23:07 +00:00
Justin Clark-Casey (justincc)
52b8518fc2
Do some clean up Scene.cs log messages.
...
This prints out both exception message and stacktrace (Exception.ToString()) isn't enough on Windows.
This also uses m_log.*Format() which is more efficient than string concat.
2011-12-12 20:22:57 +00:00
Justin Clark-Casey (justincc)
c3d16955a7
Get rid of IScene.PresenceChildStatus() which always had to execute a lookup in favour of IClientAPI.ISceneAgent.IsChildAgent instead.
2011-12-12 20:22:54 +00:00
Justin Clark-Casey (justincc)
61df0da7f9
remove some unused fields in ScenePresence
2011-12-12 20:18:13 +00:00
Justin Clark-Casey (justincc)
f8b0427086
Move client id check in Scene.Inventory.cs:UpdateInventoryItemAsset so that it doesn't trigger an exception if the item hasn't been found.
...
In this situation we will now put out a slightly more meaningful log error message instead.
2011-12-12 20:17:43 +00:00
Justin Clark-Casey (justincc)
5b0d0ef1e9
Don't reply with an ack packet if the client is not authorized.
2011-12-12 20:17:22 +00:00
Justin Clark-Casey (justincc)
7ca688f5c5
Extend TestAddClient() to check that the first packet received is an ack packet
2011-12-12 20:17:14 +00:00
Justin Clark-Casey (justincc)
9dc1000c27
Add OpenSim.Region.ClientStack.LindenUDP.Tests.dll back into the test suite
2011-12-12 20:15:28 +00:00
Justin Clark-Casey (justincc)
638afca5aa
Reactivate BasicCircuitTests.TestAddClient()
...
This checks that the initial UseCircuitCode packet is handled correctly for a normal client login.
2011-12-12 20:15:16 +00:00
Justin Clark-Casey (justincc)
7e415e3f85
Remove unnecessary AgentCircuitData null check from Scene.AddNewClient().
...
The only caller is the LLUDP stack and this has to validate the UDP circuit itself, so we know that it exists.
This allows us to eliminate another null check elsewhere and simplifies the method contract
2011-12-12 20:11:26 +00:00
Justin Clark-Casey (justincc)
8c4e58995d
When a client connects to a scene, send other avatar appearance data asynchronously to reduce hold up in the IN UDP packet processing loop.
...
This is already being done for the initial object data send.
2011-12-12 20:09:04 +00:00
Justin Clark-Casey (justincc)
d26ded4788
fix build
2011-12-12 20:08:49 +00:00
Justin Clark-Casey (justincc)
5268334c61
On a new client circuit, send the initial reply ack to let the client know it's live before sending other data.
...
This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before.
This may stop some avatars appearing grey on login.
This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity
This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
2011-12-12 20:08:02 +00:00
Justin Clark-Casey (justincc)
6ba4cbc259
Simplify Scene.AddNewClient()
...
If sp becomes null right after we've checked or created it, then behaviour down the line is going to be wrong anyway.
So instead retain the check/create ScenePresence reference and use this.
2011-12-12 20:00:15 +00:00
Melanie
ac445463e9
Remove a left over log output
2011-12-08 23:54:33 +00:00
Justin Clark-Casey (justincc)
1e83800d32
Remove warning in admin_save_oar xmlrpc method where noassets == true was comparing against an object rather than a string
2011-12-08 23:54:25 +00:00
Justin Clark-Casey (justincc)
3d94984eee
Have admin_load_heighmap and admin_save_heightmap xmlrpcadmin methods return success = true on success rather than false
2011-12-08 23:54:18 +00:00
Justin Clark-Casey (justincc)
fd8734b22c
Refactor RemoteAdminPlugin so that every xmlrpc method calls a common block of code to do password checks, etc., instead of copy/pasting this code into every method
2011-12-08 23:54:11 +00:00
Justin Clark-Casey (justincc)
9b229efdc5
Remove unused SceneManager.TryGetAvatarsScene()
...
It makes far more sense anyway to use TryGetRootScenePresence().Scene, in common with the rest of the code
This method could also return any scene for child or root agents, depending in which order the scenes happened to lie in the list
2011-12-08 23:54:04 +00:00
Justin Clark-Casey (justincc)
81daedcfe3
Implement XMLRPCAdmin command admin_teleport_agent.
...
This allows someone with access to this command on the XMLRPCAdmin interface to teleport an avatar to an arbitrary region and/or position.
2011-12-08 23:53:43 +00:00
Michelle Argus
b819771919
RemoteAdmin - Added optional terrain loading on region create using parameter heightmap_file to specify the terrain file to be loaded
2011-12-08 23:53:18 +00:00
Justin Clark-Casey (justincc)
2f536f92c0
Remove the inconsistently applied now pointless FailIfRemoteAdminDisabled() check on XMLRPC RemoteAdmin handlers.
...
If admin is disabled then the XMLRPC handlers are never registered, which means that they cannot be called anyway.
2011-12-08 23:52:04 +00:00
Justin Clark-Casey (justincc)
0b4774c50c
replace List used by m_accessIP in RemoteAdminPlugin with the more efficient HashSet
2011-12-08 23:51:58 +00:00
Justin Clark-Casey (justincc)
c13916d392
Add option to allow only explicitly listed IPs to access RemoteAdmin facilities.
...
Also adds password check to some functions where this was missing and fixes some parameter checking.
This is a patch from http://opensimulator.org/mantis/view.php?id=5715 with a few small unrelated spacing tweaks from me.
Thanks Michelle Argus.
2011-12-08 23:51:16 +00:00
Justin Clark-Casey (justincc)
3ebb56734d
properly lock CapsHandlers.m_capsHandlers
2011-12-08 23:47:45 +00:00
Justin Clark-Casey (justincc)
235147c857
Make "show appearance" a synonym for "appearance show"
2011-12-06 22:24:11 +00:00
Justin Clark-Casey (justincc)
ddb74bc68d
In "appearance show", if a particular avatar is specified, print out texture UUID for each bake type and whether the simulator can find it.
2011-12-06 22:23:52 +00:00
Justin Clark-Casey (justincc)
cd132966df
Actually send the avatar data if an individual avatar is specified, rather than accidentally doing nothing
2011-12-06 22:21:02 +00:00
Justin Clark-Casey (justincc)
5d4fee6eb9
conflict resolution due to drift in ValidateBakedTextureCache args
2011-12-06 22:20:44 +00:00
Justin Clark-Casey (justincc)
cc80377325
Allow "appearance show" command to take an optional avatar name
2011-12-06 22:20:01 +00:00
Justin Clark-Casey (justincc)
7dce33ce69
Make it possible to manually send appearance information via the "appearance send" command for a chosen avatar as well as all
2011-12-06 22:16:49 +00:00
Justin Clark-Casey (justincc)
0dd45f6ca4
Provide feedback as to which avatars are resending appearance informion on "appearance send" console command
2011-12-06 22:16:40 +00:00
Justin Clark-Casey (justincc)
ac3d88804f
Stop accidentally setting up the UploadTexture caps handler with the same url for all users
...
This meant that if a user exited the region, the UploadTexture handler would be effectively removed for everyone, causing subsequent failures.
This hopefully resolves the recent UploadTexture LLSD problems
This was a regression in 5640f2e (Thu Dec 1 23:24:15 2011 +0000)
2011-12-06 22:13:58 +00:00
Justin Clark-Casey (justincc)
f1698552f9
For the GetTexture capability, if a data range is requested that covers the whole asset length, return HTTP PartialContent instead of NotFound
...
NotFound is obviously wrong, and this change stops viewer 3.2.2 (and v probably earlier) complaining in the log about missing textures that are actually present.
We still return PartialContent even if the range requested is a superset of the data range as per httpd's behaviour
https://issues.apache.org/bugzilla/show_bug.cgi?id=51878
Viewer 3.2.2 and very probably earlier appear happy with this.
Whether fixing this NotFound bug has any practical effect apart from resolve viewer log messages is unknown.
2011-12-05 21:06:16 +00:00
Justin Clark-Casey (justincc)
dfeb424afd
Add "appearance send" command to allow manual sending of appearance.
2011-12-05 16:02:26 +00:00
Justin Clark-Casey (justincc)
2380980975
Stop performing the asset save part of baked texture uploading on the UploadBakedTexture cap asynchronously.
...
This prevents a possible race condition where the client would be told all baked textures had updated before they were in the asset service.
The client would then trigger a set appearance which, after a delay, would send the avatar appearance out to other clients.
The race condition seems unlikely because of this delay but it's still possible.
Might help with grey avatar appearances.
2011-12-05 16:00:36 +00:00
Justin Clark-Casey (justincc)
52ec854c42
refactor: Separate the upload baked texture handler out from BunchOfCaps
2011-12-05 16:00:27 +00:00
Justin Clark-Casey (justincc)
4dbfcc26a2
Provide more user feedback when "debug http" is set
2011-12-05 16:00:15 +00:00
Justin Clark-Casey (justincc)
a262d2492f
On "show caps", stop excluding the seed cap but do exclude it elsewhere
2011-12-05 16:00:06 +00:00
Justin Clark-Casey (justincc)
e5b7e2fd40
With "debug http 1", show the path with the query string instead of just the path.
...
Also simplifies debug levels to just 0 and 1
2011-12-05 15:59:53 +00:00
Justin Clark-Casey (justincc)
7505f23f80
Improve some of the debug help messages
2011-12-05 15:59:45 +00:00
Justin Clark-Casey (justincc)
7562e63ae6
minor: remove mono compile warning, a Vector3 can never be null since it's a struct
2011-12-05 15:59:38 +00:00
Justin Clark-Casey (justincc)
7987a6da95
tabulate "show caps" output for easier readability
2011-12-05 15:59:27 +00:00
Justin Clark-Casey (justincc)
fcd60c6b74
Correct mistake in "debug eq" help
2011-12-05 15:59:19 +00:00
Justin Clark-Casey (justincc)
1e88bf78f1
When setting packet level logging via "debug packet", apply to all clients, not just root ones.
...
Also adds scene name and client type (root|child) to logged information.
2011-12-05 15:58:24 +00:00
Justin Clark-Casey (justincc)
a819890137
Add a "debug eq" console command for debugging.
...
This will log outgoing event queue message names if turned on.
2011-12-05 15:55:32 +00:00
Justin Clark-Casey (justincc)
5c85a98f6a
Add "debug http" command for currently simple extra debug logging of non-event queue inbound http requests to a simulator
2011-12-05 15:54:10 +00:00
Justin Clark-Casey (justincc)
e58daf052d
minor: remove mono compiler warning
2011-12-05 15:50:20 +00:00
Justin Clark-Casey (justincc)
0a0e285919
remove some mono compiler warnings
2011-11-28 15:59:43 +00:00
Justin Clark-Casey (justincc)
c693bd51a0
Remove bizarre call to PhysicsScene.Simulate(0) in Scene.GetNearestAllowedPosition()
...
At least on ODE, this wasn't doing any harm but there wasn't any point to it either
2011-11-28 15:59:30 +00:00
Justin Clark-Casey (justincc)
808ace0696
minor: remove mono compiler warning
2011-11-28 15:59:20 +00:00
Justin Clark-Casey (justincc)
9730a862db
Log error if we attempt to add/remove an OdeCharacter from the _characters list inappropriately
2011-11-28 15:58:06 +00:00
Justin Clark-Casey (justincc)
754d6036ea
Stop removing actor from the hash maps in OdeScene.RemoveCharacter() since this is now being down in OdeCharacter.DestroyOdeStructures()
2011-11-28 15:54:57 +00:00
Justin Clark-Casey (justincc)
476d893630
Comment out uncalled OdeScene.UnCombine()
2011-11-28 15:54:49 +00:00
Justin Clark-Casey (justincc)
0a6374d37a
Comment out unimplemented and uncalled RegionCombinerModule.UnCombineRegion()
2011-11-28 15:54:40 +00:00
Justin Clark-Casey (justincc)
0337f2e2a0
minor: remove mono compiler warning
2011-11-28 15:54:32 +00:00
Justin Clark-Casey (justincc)
7be35d5a9a
Stop an exception being thrown and a teleport/border cross failing if the desintation sim has no active script engines.
...
This involves getting IScene.RequestModuleInterfaces() to return an empty array (as was stated in the method doc) rather than an array containing one null entry.
Callers adjusted to stop checking for the list reference being null (which never happened anyway)
2011-11-28 15:54:25 +00:00
Justin Clark-Casey (justincc)
8ab2d42143
slightly simplify OdeScene.Simulate() by removing bool processtaints, since we can inspect count of taint lists instead.
...
also groups OdeCharacter.CreateOdeStructures() and DestroyOdeStructures() together
2011-11-28 15:54:13 +00:00
Justin Clark-Casey (justincc)
dc8ce9ec5d
Improve the error messages returned if the HelloNeighbour call fails.
...
This is the message a region sends to its neighbours when it comes up
2011-11-28 15:54:04 +00:00
Justin Clark-Casey (justincc)
7171913400
Slightly improve "Unable to space collide" logging message, though I don't think I've ever seen this.
2011-11-28 15:53:53 +00:00
Justin Clark-Casey (justincc)
0cf5c0837b
Get rid of OdeCharacter != null checks since OdeScene._characters can never contain a null character.
...
Ignoring the ancient code glyphs not to do this....
2011-11-28 15:53:45 +00:00
Justin Clark-Casey (justincc)
1edfe05c16
remove unnecessary OdeScene._activeprims locking. Code is single-threaded
2011-11-28 15:53:36 +00:00
Justin Clark-Casey (justincc)
bba4577d88
Restore defects list. In hindsight, the reason for this is becuase we can't remove the character whilst iterating over the list.
...
This commit also removes locking on OdeScene._characters since code is single threaded
2011-11-28 15:53:28 +00:00
Justin Clark-Casey (justincc)
5c305494ae
simplify operation of OdeScene._perloopContact
2011-11-28 15:53:19 +00:00
Justin Clark-Casey (justincc)
4b2b0d4a05
don't bother locking OdeScene._perloopContact in single threaded code
2011-11-28 15:53:11 +00:00
Justin Clark-Casey (justincc)
61848ebe0d
don't lock OdeScene.contacts since only ever accessed by a single thread
2011-11-28 15:53:04 +00:00
Justin Clark-Casey (justincc)
f48431345b
rename ODECharacter.AvatarGeomAndBodyCreation() -> CreateOdeStructures() to match existing DestroyOdeStructures()
2011-11-28 15:52:53 +00:00
Justin Clark-Casey (justincc)
9c4597a00f
refactor: Eliminate one line ODECharacter.doForce() method for code clarity
2011-11-28 15:49:37 +00:00
Justin Clark-Casey (justincc)
b528150d16
Comment out calls to OdeScene.waitForSpaceUnlock() since that method does nothing right now
2011-11-28 15:42:36 +00:00
Justin Clark-Casey (justincc)
4a99619bc0
Reduce complexity of OdeScene.Simulate() by fully removing bad characters at point of detection rather than later on.
2011-11-28 15:42:21 +00:00
Justin Clark-Casey (justincc)
5bd27b7b22
move geom/actor map maintenance into DestroyODEStructures()/AvatarGeomAndBodyCreation().
...
This saves us having to do it separately when a character capsule size is changed
2011-11-28 15:38:50 +00:00
Justin Clark-Casey (justincc)
8ea97cc608
When changing avatar size in ODE, remove the old actor from the name and actor maps
2011-11-28 15:38:42 +00:00
Justin Clark-Casey (justincc)
1850b778e2
When an ODECharacter is removed (e.g. when an avatar leaves a scene), remove the actor reference in OdeScene.actor_name_map rather than leaving it dangling.
...
This also largely centralizes adds/removes in OdeScene.AddCharacter()/RemoveCharacter()
2011-11-28 15:37:57 +00:00
Justin Clark-Casey (justincc)
5cd33f5e21
Have ODECharacter and ODEPrim both use PhysicsActor.Name instead of maintaining their own properties
2011-11-28 15:37:49 +00:00
Justin Clark-Casey (justincc)
cd3d5379d6
Actually remove PhysicsActor.SOPDescription this time
2011-11-28 15:37:04 +00:00
Justin Clark-Casey (justincc)
58021b5300
Chain SOP constructors together rather than having copy/paste code
2011-11-28 15:36:53 +00:00
Justin Clark-Casey (justincc)
3b141e5eee
refactor: Make SOP.Description an automatic property
2011-11-28 15:34:29 +00:00
Justin Clark-Casey (justincc)
08bc6622dd
Remove unused PhysicsActor.SOPDescription
2011-11-28 15:30:00 +00:00
Justin Clark-Casey (justincc)
c253539c04
Instead of generating a new list for bad characters on every physics pass, keep reusing the same list.
2011-11-28 15:29:51 +00:00
Justin Clark-Casey (justincc)
59c19110e4
Remove the "[LOCAL SIMULATION CONNECTOR]: Did not find region {0} for SendCreateChildAgent" message
...
This is misleading since a simulator will call this method before successfully trying remote regions.
Also comments out spammy "[SIMULATION]: Stream handler called" AgentHandlers messages for now.
2011-11-28 15:28:35 +00:00