Commit Graph

834 Commits (8a098bf12c620bd56f3371f1cf8a90ffa04b16c8)

Author SHA1 Message Date
Homer Horwitz 21b69ac515 Mantis #2621: Thanks idb, for a patch that will persist regularily changed objects better.
Objects will be persisted now MinimumTimeBeforePersistenceConsidered seconds
after the last change, but latest MaximumTimeBeforePersistenceConsidered after
the first change (both are configurable in OpenSim.ini.example and are set to
60 and 600 as default).
2008-11-15 17:52:00 +00:00
Justin Clarke Casey 2bb4b45626 * Move test scene construction infrastructure methods to a separate class for future common use 2008-11-14 20:06:44 +00:00
Melanie Thielker d66f3993de Add group permissions to agent inventory.
Contains a migration. May contain nuts.
Please back up your inventory data store. This revision changes the interface
version!! No older regions can connect to these new UGAIM, and the new regions
can't connect to the old UGAIM. Fixes a long-standing issue of permissions loss
Currently persisted on MySQL only.
2008-11-14 18:54:38 +00:00
Charles Krinke 8a3d9ea2db Mantis#2597. Thank you kindly, Idb for a patch that:
Solves the problem of changes to objects not 
persisted on server shutdown.
2008-11-13 04:23:31 +00:00
Justin Clarke Casey 2c7ac33650 * test: Add basic synchronous object remove test 2008-11-12 20:35:35 +00:00
Justin Clarke Casey cec112c87a * refactor: as per a recent opensim-dev thread, rename InnerScene to SceneGraph to make it more descriptive of its intended function 2008-11-12 20:16:46 +00:00
Justin Clarke Casey b636bb0f9e * Stop the pointless passing of a scene's own region handler back to it in region comms
* Some scene methods ignored it, others did nothing if the region handler given did not match their own (which would never be triggered)
2008-11-12 19:12:33 +00:00
Justin Clarke Casey e2ab576572 * Stop locking the scene presences dictionary for the entire agent crossing part of the login sequence
* This may alleviate a little the freezing experienced by existing avatars when a new client logs in
* Race condition risks look minimal since one wouldn't expect another thread to start fiddling with that presence
2008-11-12 18:12:18 +00:00
Justin Clarke Casey a814ac3d67 * Put an Enabled switch on the async object deleter for future testing purposes 2008-11-11 20:33:29 +00:00
Justin Clarke Casey 97816f8c90 * Implement basic region filtering as described in https://lists.berlios.de/pipermail/opensim-dev/2008-November/003468.html
* This is done by sending a 'major interface version' number on sim registration.  Developers must increment this every time they make a change that would make the previous 
OpenSim revision failure incompatible with the new one (non-fatal incompatibilities are fine).
* This number resides in OpenSim.Framework.Servers.VersionInfo.MajorInterfaceVersion
* This allows the grid service to stop older, incompatible regions from connecting
2008-11-11 17:02:46 +00:00
Melanie Thielker 89570e1637 Add ClampPrimSize option to ensure no prim can exceed the set size. This
will allow people who don't want megaprims in their sim to prevent them
from being created. Any prim rezzed or pulled across the border will be
clamped to the size specified in OpenSim.ini if this option is set.
2008-11-11 03:10:28 +00:00
Jeff Ames 5276c4bdf8 Update svn properties, minor formatting cleanup. 2008-11-11 00:52:47 +00:00
Justin Clarke Casey 5d1d5a22a9 * Extend basic scene test to retrieve the object from the scene and match uuids
* Decouple sog and sop by removing the need to pass the sog to the sop when it is created - most of the code was doing this operation (and hence duplicating it) anyway
* Remove unused constructors
2008-11-10 18:10:00 +00:00
Sean Dague bfc2d8c231 From: Christopher Yeoh <cyeoh@au1.ibm.com>
This patch addresses mantis bug 2576.

 http://opensimulator.org/mantis/view.php?id=2576

Briefly, if you call llDie from many scripts at the same time (say a
build is cleaning up excess objects) then OpenSim deadlocks. Avatars
are unable to move, and whilst the console is active you can't do much
without it also locking up. This only occurs with the XEngine script
engine enabled.

I have attached a patch which works, but I'm not sure its the right way
to address the problem. The fundamental problem is that a lock on a
SceneObjectGroup's m_parts is taken when the object is deleted, a
callback to the script engine occurs and a fair way down the callchain,
potentially there are locks taken on several other SceneObjectGroup's
m_parts. Deadlock then occurs if you get unlucky enough
to get in the situation where with several llDie's are called and
SceneObjectGroups
have taken a lock on their own m_parts, and end up waiting on each
other's
locks to become available.

The patch adds a lock at a high level so that that the removal of script
instances
from an object only occurs once per scene at a time. This avoids the
potential
of deadlock. Theoretically there could be some performance hit but
AFAICT
the path taken is not a common occurrence.

Would welcome any suggestions for a better solution, otherwise feel free
to apply  :-)

Note this patch was built against the 0.6.0 freeze as trunk was
rather broken for me this morning (creating a script killed the client
connection).
2008-11-10 12:42:22 +00:00
Melanie Thielker fc6f3edec6 Stop attachments from causing an update to be sent on every frame in which
an avatar moves.
2008-11-10 05:21:51 +00:00
Melanie Thielker 664e8a464e Script region crossing. This has not user functionality, but lays all the
groundwork.
2008-11-09 19:30:40 +00:00
Adam Frisby cf0a14bec9 * Added IClientIM to IClientCore interfaces
* Changed SendInstantMessage, dropped fromAgentSession and imSessionID as security precaution, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide for details on porting.
* Removed unused usings from Framework.*
2008-11-08 17:20:54 +00:00
Melanie Thielker 0fc57de7de Remove part of another patch that would cause DNE to nuke the sim in it's
current form
2008-11-08 02:31:57 +00:00
Melanie Thielker 833f5e8bed Refactor IEventReceiver back into IScriptEngine 2008-11-08 02:24:34 +00:00
Justin Clarke Casey 4ace67a81d * Fix bug in r7162 where avatars could not move
* Was caused by the lack of a local id.  Local ids are now given from the same sequence as prims, rather than a separate one
* I don't believe this will cause any problems, but please revert to a separate sequence if it does
2008-11-07 22:49:36 +00:00
Justin Clarke Casey ba1d9ca26b * refactor: cleanup AllocateLocalPrimId() a bit more 2008-11-07 22:08:58 +00:00
Justin Clarke Casey fb694fb177 * Rename PrimIDAllocate() to more effectively convey what it does, and put the verb at the front 2008-11-07 21:50:03 +00:00
Justin Clarke Casey 54e10e5b61 * Stop requiring local ids in the SOG constructors.
* These are assigned when the object is attached to the scene
2008-11-07 21:07:14 +00:00
Justin Clarke Casey ebd9f22b29 * refactor: allocate local ids to prims only when an object is attached to a scene 2008-11-07 18:46:11 +00:00
Melanie Thielker 48c6d052d9 Attachments, attachments, and, did I say attachments?
Too many fixes to list.
2008-11-07 05:48:44 +00:00
Justin Clarke Casey 0d17ba2a76 * refactor: Attach a scene object to a scene separately from its construction 2008-11-06 22:21:25 +00:00
Justin Clarke Casey 9770cf778e * minor: Make some 'startup config failed to load' log messages more consistent 2008-11-06 20:38:04 +00:00
Homer Horwitz 38e8853e57 Megapatch that fixes/adds: friend offer/deny/accept, friendship termination,
on-/offline updates, calling cards for friends.
This adds methods in the DB layer and changes the MessagingServer, so a full
update (incl. UGAIM) is necessary to get it working. Older regions shouldn't
break, nor should older UGAIM break newer regions, but friends/presence will
only work with all concerned parts (UGAIM, source region and destination
region) at this revision (or later).
I added the DB code for MSSQL, too, but couldn't test that.
BEWARE: May contain bugs.
2008-11-01 22:09:48 +00:00
Justin Clarke Casey 269303d97d * test: Add basic scene test which merely instantiates the scene right now
* set debug scene name on scene registration, rather than within the Scene constructor
2008-10-31 18:39:51 +00:00
Justin Clarke Casey 5feaff8524 test: Extend malformed packet test to actually check that a valid packet can get through after the malformed ones have been sent 2008-10-30 22:32:23 +00:00
Justin Clarke Casey 247b806134 * minor: Add documentation to some of the appearance methods, change some logging messages 2008-10-28 17:35:36 +00:00
Justin Clarke Casey baa29fcbff * minor: Doc and log message tidy up
* reinstate debug level log message indicating when a child agent is made a root for future debugging purposes
2008-10-28 15:46:30 +00:00
Melanie Thielker f9b3ef32c6 Remove the gratuitious prim deletes caused by linking. This makes linking
a bit faster.
2008-10-22 03:32:45 +00:00
Melanie Thielker 264eeffd02 Fix thingd so that autoreturn also works when the user is not in the sim.
Also add experimental distance ordering for prims
2008-10-18 07:27:39 +00:00
Melanie Thielker efe3f3eb2a Megapatch. :) Fix skull attachment editing. Streamline Object terse updates.
Add rezzing time to objects. Add Object return and traffic fields to land
database. Add plumbing for auto return. Implement auto return.
Contains a migration. May contain nuts.
2008-10-18 05:51:36 +00:00
Justin Clarke Casey 6789234335 * Apply http://opensimulator.org/mantis/view.php?id=2405
* Implement llGetRegionFPS()
* Thanks idb
2008-10-16 13:17:31 +00:00
Justin Clarke Casey 3b9400bcea * refactor: rename SendKiPrimitive to SendKillObject since this appears more descriptive of what it actually does 2008-10-14 14:43:46 +00:00
Mike Mazur 3e124a3dba - convert comments into documentation
- minor formatting adjustments
- remove some trailing whitespace
2008-10-14 09:40:05 +00:00
Homer Horwitz 4c337c48c7 Add logging in case of a SOG without rootpart 2008-10-11 17:48:37 +00:00
Teravus Ovares abc6424c51 * Removed Heartbeat timer
* Implemented a proper update thread
* Removed the UpdateLock Mutex as it's no longer needed because updates can only happen one at a time now.
* This should actually improve performance significantly.. But, see the warning on the next line!
* Warning: If there are deadlocks that the threadpool timer method was hiding, this will expose them for all the nastiness they are.
2008-10-11 11:43:42 +00:00
Melanie Thielker 96689723e5 Add the beginnings of a sim health check (through remote admin) 2008-10-10 01:10:33 +00:00
Homer Horwitz ac89e89da3 - Fix wrong order of max/min usage for clipping. Uses Util.Clamp now
- Add support for immediate switching of Music/Media URLs. Radio-scripts should work now.
2008-10-08 18:52:50 +00:00
Melanie Thielker c4d741180f Add some permissions checks and fixes 2008-10-08 02:45:23 +00:00
Justin Clarke Casey cb7a9eaa09 * Stop the sim stats reporter reusing the same SimStatsPacket for all clients
* I believe this was the cause of the remaining packet_out_of_order messages in the Linden client logs
* There were race conditions where multiple clientstacks would overwrite each other's sequence numbers
2008-10-06 19:52:54 +00:00
Melanie Thielker 8887bde499 Cause inventory items to also be sold when a prim is sold 2008-10-06 06:15:19 +00:00
Melanie Thielker 1b678f062a Fix a number of errors in transfer of objects 2008-10-06 06:08:45 +00:00
Melanie Thielker 6ab5b523f8 Implements ObjectOwner god mode packet (Set Owner To Me admin option) 2008-10-06 00:09:49 +00:00
Homer Horwitz 6bf72c95cb For symmetry reasons, I think this probably is a bug. 2008-10-05 20:06:42 +00:00
Jeff Ames aab6cdd8b0 Update svn properties, minor formatting cleanup. 2008-10-05 14:15:39 +00:00
Justin Clarke Casey 0b594a072c * Check in the second part of http://opensimulator.org/mantis/view.php?id=2334 since enough time has passed such that servers following head have probably updated
* This patch aims to store look at data when an avatar logs off in grid mode
* However, in my short test it doesn't appear to be working yet - numbers are being stored but they don't look correct
* But this doesn't appear to cause any login problems
* Thanks tyre
2008-10-04 18:46:34 +00:00
Melanie Thielker 74f89fb22d Add "Drop" functionality to pie menu 2008-10-04 01:09:22 +00:00
Melanie Thielker 1b2380db84 Cause objects to be removed from the database when they go temp or get
attached. Also make sure that parcel prim counts get updated
2008-10-03 16:18:38 +00:00
Melanie Thielker 3902149e1b Implement temp-on-rez objecte really being temporary 2008-10-03 15:32:44 +00:00
Melanie Thielker 36097a8198 Prevent attachments to be persisted in the destination region when the
avatar is not present there.
2008-10-03 13:45:54 +00:00
Melanie Thielker 7f007d8ed0 Mantis #1360
Thank you, idb, for a patch to implement the packet and plumbing for
the material settings.
2008-10-03 12:00:13 +00:00
Johan Berntsson 513ce9caee Added functions to find prims by name 2008-10-01 06:39:36 +00:00
Melanie Thielker 57a862bc01 And one more. lThat should make all scripts start for everyone 2008-09-30 14:58:11 +00:00
Adam Frisby d4c1751285 * Fixed minor issue while building: If you do a raytraced object placement and a target isn't found, the object is rezzed at 0,0,0 - instead now it will place according to the position sent by the client.
* We may instead want to abort and send a "Cannot Rez Here" message?
2008-09-30 14:42:25 +00:00
Justin Clarke Casey 941e20c463 * refactor: move asynchronous scene object deletion to inventory queueing out to a separate class 2008-09-29 19:09:49 +00:00
Justin Clarke Casey e768602681 * refactor: Rename InventoryModule to InventoryTransferModule 2008-09-29 15:09:35 +00:00
Jeff Ames 0b4415849a Update svn properties. Minor formatting cleanup. Fix a compiler warning. Fix a UUID vs null comparison. 2008-09-28 03:21:11 +00:00
Melanie Thielker f11107821e Add an extension to allow registering multiple interfaces of a type with
Scene. Make the script engines check that the engine name in the
//Engine:language comment is a valid engine and treat it as a normal
comment if it's not.
//DotNetEngine: needs to be written as //ScriptEngine.DotNetEngine: now, since
that is it's real internal name. //XEngine: still works
2008-09-25 17:26:32 +00:00
Charles Krinke 339671afc6 Mantis#2017. Thank you kindly, Tyre, for a patch that solves:
Check the client dialog box (from top menu) WORLD / REGION ESTATE 
/ REGION tab. The client dialog box seems to have a hard limit of 
about 32 characters per line available for displaying the region 
version number. Our regions are sending a string which is greater 
than the limit, causing the client to wrap the text and look ugly.
2008-09-25 14:57:40 +00:00
Melanie Thielker 94aaf67dfa Change the scirpt engine loading mechanism. Script engines are now
ordinary region modules and are able to coexist in one instance.
See http://opensimulator.org/wiki/ScriptEngines for details. There were
changes to OpenSim.ini.example, please note DefaultScriptEngine.
Also see the User docs and FAQ on the Wiki. Default is DotNetEngine.
2008-09-21 21:47:00 +00:00
Homer Horwitz 0105171fc4 The viewer only stores a screenshot on "Set home to here" if the alert that
follows show the text "Home position set.". Changed the message accordingly.
2008-09-21 13:31:30 +00:00
Teravus Ovares 610313ea64 * Added null exception handler where we couldn't locate a user data record in the cache for the user
* More OGP tweaks to make it play nice in an error condition.
* Still Experimental.
2008-09-19 01:11:40 +00:00
Dr Scofield 03f246d6fe adds support to delete a region completely and offers that
functionality via the console command "delete-region" and also via
RemoteAdminPlugin.

minor typo fix.
2008-09-18 15:44:05 +00:00
Melanie Thielker 7e8320bada Kan-Ed fix series. Fix llTakeControls to behave as documented.
XEngine fixes: prevent queue overruns, prevent spamming when no key
is down. Release controls when conflicting permissions are requested
or permissions are refused later. Release when prim or script are deleted.
Fixes Scene script instance deletion semantics.
2008-09-17 22:00:56 +00:00
Justin Clarke Casey ec4189b722 * If an individual scene object throws an exception while storing, deal with this locally rather than letting it propogate up the stack
* This will allow other scene objects to persist and stop the exception taking down the whole region server
2008-09-16 17:30:30 +00:00
Justin Clarke Casey ddaa90d270 * refactor: collapse UpdateUserProfileProperties() into existing UpdateUserProfile
* the methods were identical except that the Properties one did a check for the user profile beforehand.  However, every caller was doing this already anyway.
2008-09-15 19:02:34 +00:00
Homer Horwitz 8ae8bec4d1 Changed "show users" command to display only root agents, "show users full" to
display root and child agents (mantis #2171).
2008-09-12 22:39:17 +00:00
Justin Clarke Casey 9cdd9e215c * Patch http://opensimulator.org/mantis/view.php?id=2172
* Patch attached that adds the check for uninitialized appearance when inventory items are received and processed. Also attempts to ensure that appearance is initialized even 
when the profile cache has not been built.
* This will not fix the race condition, but should at least remove the unhandled exception that is being reported in Mantis 0002126.
* Thanks cmickeyb
2008-09-12 21:32:45 +00:00
Justin Clarke Casey 62d1eba3b2 * Patch http://opensimulator.org/mantis/view.php?id=2167
* Force ClickAction persistence even if other object properties are not edited 
* Thanks nlin!
2008-09-12 20:42:04 +00:00
Justin Clarke Casey 3f1dbae8e4 * minor: various doc and tidy up, logging increase to make it clearer which prim is failing a border crossing 2008-09-12 00:37:59 +00:00
Justin Clarke Casey 78f831ef52 * minor: Clean up of logging messages to make following the client login process easier
* documentation
2008-09-07 03:22:33 +00:00
Teravus Ovares 7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point.  Regular people should let the dust settle.
* This has been tested to work with most basic functions. However..   make sure you back up 'everything' before using this.  It's that big!  
* Essentially we're back at square 1 in the testing phase..  so lets identify things that broke.
2008-09-06 07:52:41 +00:00
Justin Clarke Casey 01878b886c * Fix mantis 2130 - nre occuring sometimes when the regular prim update sweep occurs
* Fold m_deleted and m_isDeleted together (ugh!)
2008-09-06 00:44:50 +00:00
Melanie Thielker eee9c114cb Mantis #2111
Eliminate gretuitious KillObject packets. KillObject is sent to the
viewer for the root part only.
Also prevents the full update on deselect that makes a deleted object
reappear and stay visible until the background deleter got around to it.
We still send 2 KillObject packets for the root prim, that could be 
avoided only at a cost in reliability. One packet seems an acceptable
price to pay for consistency.
2008-09-03 19:28:46 +00:00
Justin Clarke Casey d3510def00 * If a general alert message is sent out, only send it to avatars in the scene (not child agents).
* This foxed me in the osgrid meeting last week
2008-08-30 21:52:09 +00:00
Justin Clarke Casey 49ec6dd882 * squash some obvious warnings
* a couple more remain that preferably the original coders should look at in more detail (obsolete warnings in the ogp module and not overriding warnings in the script 
engine)
2008-08-30 18:09:38 +00:00
Charles Krinke 9fc67f1908 Mantis#2067. Thank you kindly, HomerHorwitz for a patch that:
Found that during my ghost-hunt: Add some logging and you see that the 
counting down happens twice (once at the place that is removed by the 
patch, and once caused by the actual removal of the root-/child-agent 
during LLClientView.Close). With the patch applied, I end up with correct 
numbers, i.e. with 0 roots and 0 children after everyone has logged out.
2008-08-29 14:21:31 +00:00
Jeff Ames 3bf8858727 Update svn properties, formatting cleanup. 2008-08-28 14:41:54 +00:00
Melanie Thielker bc78a6335b Mantis #2058
Remove the physics representation of link set child prims when the
link set is deleted.
2008-08-27 19:06:07 +00:00
Justin Clarke Casey 7402c2d288 * Deal with a WebException thrown if a grid server cannot be contacted for region information 2008-08-25 21:26:58 +00:00
Teravus Ovares 2912aafe25 * This commit incorporates the heart of the OpenGridProtocol patch that is currently on Forge in a nice, friendly modular format.
* There are a lot of changes and this is quite experimental.  It's off by default, but you can turn it on by examining the bottom of the opensim.ini.example for the proper OpenSim.ini settings.    Remember, you still need an agent domain..  
* Furthermore, it isn't quite right when it comes to teleporting to remote regions (place_avatar)
2008-08-25 07:35:17 +00:00
Melanie Thielker a7a385937e Completing the item sale series, this one implements sell contents.
All item sale modes are now complete.
2008-08-24 16:41:23 +00:00
Melanie Thielker d5b48ecbe1 Selling a copy of a prim (prim vendor) now works.
Sack of bolts to go with the nuts?
2008-08-24 07:16:47 +00:00
Melanie Thielker 07cb1d4f0e Selling an object in-place (as original) now works. Builders can
now ply their trade. Is that nuts?
2008-08-24 06:39:54 +00:00
Melanie Thielker c9b5641c49 Plumb the data path for all those eye candy values. Saves texture
animation, target omega, looped sound, script access pin, allowed
drop state and sale data. Loads it, too. Not all tested.
Code: No Nuts. Data: Cannot Guarantee Nut Free.
2008-08-24 05:25:26 +00:00
Melanie Thielker 63b6ab467a Implements 80% of object buy (prim vendor). You can't buy the object yet,
and the for sale setting doesn't survive a sim restart, but this is most
of the plumbing.
2008-08-24 00:51:21 +00:00
Melanie Thielker ccd74f888b Some complex re-ordering to make prebuild do what needed to be done.
It is now possible to use module interfaces without referencing Scene.
Place those interfaces in OpenSim/Region/Interfaces. They may not
use any refs from OpenSim.Region.Environment as parameters.
This resolves a circular library ref introduced in r5949
2008-08-23 02:30:07 +00:00
Melanie Thielker f206ffd5a8 Mantis #2003 - thank you, SachaMagne, for a patch that implements
the first part of gesture persistence.
----------------------------------------------------------
Attachments no longer vanish on walking crossing. Teleport is still
problematic, but will now be blocked with message "Inconsistent
attachment state" rather than losing the attachment. Detach to be
able to TP in that case.
2008-08-20 01:48:51 +00:00
Jeff Ames 07b04213d7 Update svn properties, minor formatting cleanup. 2008-08-19 22:41:39 +00:00
Melanie Thielker e5cdba1cb4 Fix region crossings and access to inventory after changing regions within
the same simulator
2008-08-19 15:09:35 +00:00
Melanie Thielker 6d2e1ad6ba Attachment persistence!!! Patch #9169 (Mantis #1171)
Attachments now save to MySQL. No reattach on login yet.
2008-08-19 02:12:40 +00:00
Jeff Ames 6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Teravus Ovares 0683a07081 * Turned on the MapImageModule as opposed to the code in Scene for generating the map image. Copied the code in Scene into the MapImageModule, made a few tweaks to get it to work with the module's interface.
* Refactored a few things in Scene to make maptile saving easier to understand.
* Added comments to describe the 'clever code' assetcache update without the gridasset being updated so as to lessen possible confusion in patches in the future.
* If the MapImageModule isn't loaded, default to the code in Scene still.
2008-08-17 18:59:58 +00:00
Jeff Ames 796ccd3d37 Update svn properties, minor formatting cleanup. 2008-08-17 02:31:45 +00:00
Teravus Ovares 7c8cc345cd * re-order an operation to check for NaNs in the maptile shadow routine. 2008-08-16 20:54:51 +00:00
Teravus Ovares a6fdcffa3b * One more terrain shadow debug helper. 2008-08-16 19:58:25 +00:00
Charles Krinke b6c6572ee1 Mantis#1969. Thank you kindly, Tyre for a patch that:
Type casting the normalized vector 'lookat' to int results to <0,0,0>.
This patch also adds an overload to RequestNeighbourInfo (currently unused) 
that will come handy for some features I'm working on.
2008-08-16 19:34:12 +00:00
Charles Krinke d9cc908471 Mantis#1965. Thank you kindly, HomerHorwitz for a patch that:
Places touched:
- Added two events for in-packets to LLCLientView: RegionHandleRequest and
  ParcelInfoRequest
- Added sending of two out-packets to LLCLientView: RegionIDAndHandleReply and
  ParcelInfoReply.
- Scene handles the RegionHandleRequest, LandManagementModule the
  ParcelInfoRequest
- Added inter-region request for LandData by RegionHandle and local position.
  This was implemented as XML-RPC request. The returned LandData isn't
  complete, it only contains the data necessary for answering the
  ParcelInfoRequest
- Added new CAPS (0009) for RemoteParcelRequest and some methods for LandData
  handling to LandManagementModule
- Added methods for fake parcelID creation and parsing to Util
- Fixed missing implementation of interface methods.
- Added new file:
    OpenSim/Framework/Communications/Capabilities/LLSDRemoteParcelResponse.cs
  NOTE: This is part of the patch, too.
Due to the many places touched, I would consider this patch as experimental.
2008-08-16 19:20:14 +00:00
Teravus Ovares f191f38a3e * Fix a rare maptile shading error, terrain difference mod 1 = 0 + abs = oops. 2008-08-16 19:03:29 +00:00
Teravus Ovares 80186a68df * Adds Slightly better terrain shading to maptile generation. 2008-08-16 06:09:45 +00:00
Melanie Thielker 328ab79b78 Refactor a lot of direct calls to OGS1 to use the cached version instead.
Scripts can now no longer DOS the user server and there are a lot fewer
gratuitious lookups of user profile data.
2008-08-16 02:00:36 +00:00
Melanie Thielker dfc553d0a4 Fix up master avatar handling for estate owners. Introduces a new
hierarchical rights structure. MasterAvatar: Owner of the region server
(may be null), net gods (users with GodLevel 200), Estate owner
(from database). Look at Opensim.ini.example to enable net gods.
Estate owner will default to master avatar.
2008-08-15 13:13:39 +00:00
Jeff Ames dde21314e7 Update svn properties, formatting cleanup, fix a couple compiler warnings. 2008-08-15 10:24:04 +00:00
Dr Scofield 8d479fe5af From: Richard Alimi <ralimi@us.ibm.com>
The following patch makes some enhancements to loading/saving the Xml2
format.

- Add streamed version of functionality for saving prims to Xml2
  format. The streamed version (optionally) allows for saving the
  prims whose positions appear within a particular bounding box.

- Expose stream versions of LoadPrimsFromXml2 and SavePrimsToXml2 in
  the Scene class

- Extend loading from Xml2 (the streamed version) to optionally start
  scripts for the loaded scene objects)
2008-08-15 07:20:38 +00:00
Melanie Thielker 4041194db9 Refactor: Make the tree creation function take a UUID for the owner
Change the tree populator module to supply a sensible value
2008-08-14 21:31:38 +00:00
Melanie Thielker e3157e61aa Mantis #1946
Thank you, HomerHorwitz, for a patch that corrects and improves TP
to landmark and home position handling.
2008-08-14 00:04:37 +00:00
Charles Krinke 9d93668a0a mantis#1927. Thank you kindly, Leaf for a patch that:
Makes progress on fixing scripts in child prims of
attachments not being scheduled for execution.
2008-08-13 14:19:59 +00:00
Mike Mazur ba822fe2ab Revert "Thanks, lulurun, for a patch that clears and refreshes and outdated user"
This reverts commit r5823.
2008-08-13 07:51:59 +00:00
Mike Mazur cd89864f4c Thanks, lulurun, for a patch that clears and refreshes and outdated user
profile cache (issue 1919).
2008-08-13 06:08:26 +00:00
Justin Clarke Casey 4e555b87f3 * Stop warnings about non existent scene presences/entities being removed on client log off
* This is being done by preventing close from being called twice on child agent closure (nres which would have been thrown are being swallowed).  
* However, it should be possible to do much better cleanup on this code in the future
2008-08-12 19:00:13 +00:00
Mike Mazur 8ea92c0669 Thanks, lulurun, for a patch that addresses inventory problems that occur
occasionally, but are fixed on restart (issue 1919).
This patch introduces the following changes:
1. when a user teleports out of Region A, remove that user's profile
from the Region A user profile cache
2. when a user crosses between regions out of Region A, remove that
user's profile from the Region A user profile cache
3. the user profile cache's session ID member can now be set (written),
and is updated each time a connection with a new avatar is established (ie: a
new avatar enters the region)
4. when a region server looks up a user profile and a cache miss
occurs, fetch the user profile from the user server first instead of
immediately returning null
2008-08-12 06:21:02 +00:00
Melanie Thielker f9945bf87f Patch #9163 - Refactor initial packet sending out of InnerScene into
ScenePresence. Pace prim delivery to about 200 updates/s max. Break
a long-held lock that caused the notorious MapBlockQuery XMLRPC timeout
on agent login. Eliminate 60 second timeout at "Waiting for region handshake".
Fix region crossing/teleport response. Fix appearance in primmy regions.
2008-08-11 23:20:14 +00:00
Justin Clarke Casey 5350cec0b3 * minor: log message twiddling 2008-08-01 20:05:26 +00:00
Justin Clarke Casey 43b2ff1d11 * Drop cached inventory from the local region when a user crosses out into a remote region
* May resolves inventory problems that occur when the user moves between two regions`
* e.g. if the user moves to a second region, adds an inventory item, moves back to the original region then tries to manipulate that item
* Not yet implemented for teleport
2008-08-01 18:49:48 +00:00
Justin Clarke Casey 0d488ad489 * minor: just realized I managed to get the save xml/xml2 messages the wrong way around 2008-07-25 18:08:45 +00:00
Sean Dague 090159defc refactored LandData to use properties, and cleaned up the naming on
the properties a bit to be more consistant with other objects (having things
like .Name .Description, etc).
2008-07-23 15:50:32 +00:00
Jeff Ames 80d8e2889e Update svn properties. Formatting cleanup. Remove a compiler warning. 2008-07-23 13:24:25 +00:00
Johan Berntsson 344c9caeb6 thanks lulurun for a security patch that blocks unathorized access to the inventory server (see http://opensimulator.org/wiki/Security_vulnerability_brought_by_non-check_inventory_service) 2008-07-23 06:59:02 +00:00
Melanie Thielker f112cebde2 Refactor the packet scheduling out of ClientView. Add intelligent
resending, timeouts, packet discarding. Add notification event for
packet discarding. Add priority scheduling for packet queues.
Add outgoing duplicate detection facility. Correct packet sequencing.
Make provisions for automatic server side throttle adjustments (comes
in next installment)
2008-07-22 17:58:42 +00:00
Justin Clarke Casey d9db56d86b * minor: stick filename being loaded/saved from in save/load xml/oar information messages 2008-07-21 17:52:53 +00:00
Justin Clarke Casey 8948ecbd8b * minor: Make it clearer the region on which save and load xml/oar commands are operating 2008-07-21 17:42:13 +00:00
MW fb096dfbd5 added experimental packet tracker (LLPacketTracker.cs), which can be told to track a packet and if it hasn't been acked within a set time, trigger a IClientAPI event, that the application/scene can handle. Currently only terrain packet tracking is finished, Tracking for initial Prim packets (first full update for a prim) is being worked on. Future improvements would be to make it a more generic packet tracker with callback delegates instead of events.
Add a test event handler (which would fire after a minute if a terrain packet hadn't been acked) to scene to handle the OnUnackedTerrain event, which currently just resends the terrain patch.
The idea of this packet tracking is for the region level application to be able to know if the client stack gave up on sending a packet.
2008-07-21 15:13:34 +00:00
Melanie Thielker 8ae7dc628b Make the max sizes of physical and nonphysical prims configurable in OpenSim.ini
Defaulted to 65536 and 10, respectively
2008-07-20 15:19:26 +00:00
Melanie Thielker 351ee78d2a Quick fix to make the estate ban list effective again, when the region
crossing is also a sim crossing. Prevents the CAPS handler from being set
up for a banned user,making them redmap out.
Dirty hack, temporary until I can work out how to do it right.
2008-07-19 06:20:57 +00:00
Melanie Thielker bbd076544d Patch to fix saving of estate managers list loaded during migration.
No longer teleports an agent home unless their root agent is being banned.
Visual blocking is still in effect.
2008-07-18 19:32:05 +00:00
Justin Clarke Casey f8721c3c1c * refactor: break out sog loading code into two parts so that post-deserialization changes can be carried out before adding it to a scene 2008-07-18 14:42:06 +00:00
Melanie Thielker 263633e274 Patch #9151
Makes the estate dialog fully functional. Implements all client facing functionality. Moves estate data from estate_settings.xml, which is used to provide defaults, to the region data store. Creates one estate for each region, and places the region in it. Converts all region bans to estate bans.
2008-07-18 02:40:47 +00:00
Justin Clarke Casey 9cb4ba9d6b * For now, when loading an archive all the existing scene objects get deleted by default 2008-07-14 16:23:59 +00:00
Melanie Thielker 07bd749ac5 Patch #9150
Patch 7 of the region patches. Finish off the region parts of the estate dialog. Full user functionality. Terrain textures, heights, water, avatar counts, prim bonus, debug settings and region toggles can now be set from the dialog on a per-region basis. Estate stuff defaults to sane values where there are no defaults, to estate_settings.xml otherwise. Sun still b0rked :(
2008-07-14 01:39:36 +00:00
Melanie Thielker e712678689 Patch #9147
Patch #4 of the region settings series. Partial functionality of the new
storage system. More patches to follow.
2008-07-14 01:27:47 +00:00
Justin Clarke Casey 92cac0c6de * minor: make scene closing log message info rather than warn 2008-07-13 00:21:23 +00:00
Justin Clarke Casey eb63b9bbc1 * Actually persist restored archives to the database - wasn't actually doing this before (doh)
* Not quite perfect yet
2008-07-13 00:18:29 +00:00
Justin Clarke Casey a89385818d * On archive loading, tell the user how many objects we are ignoring because they already exist in the scene
* (ability to give objects new uuids will come later)
2008-07-12 22:14:38 +00:00
Justin Clarke Casey 7d97169351 * minor: thought up a better name for the last allocated local id 2008-07-12 21:07:42 +00:00
Justin Clarke Casey 000d5e8b93 * minor: just some null guards and name changes to make it clearer that prim count is actually a prim local id dispenser 2008-07-12 21:03:12 +00:00
Justin Clarke Casey 8535cb52e0 * Put an info entry in the log if permissions are being bypassed
* might help to diagnose mantis 1712
2008-07-11 16:03:12 +00:00
Justin Clarke Casey aad55e5034 * Comment out body of experimental ParcelMediaSetTime() since MW says it causes a mono 1.2.4 compile to fail
and MW says it will soon be replaced anyway.
2008-07-11 14:51:02 +00:00
MW 58ce018625 for testing purposes only:
added void osSetParcelMediaTime(double time) command to script engines. 
which sets the position of the media that is playing. Time is in seconds.
Doesn't do any security checking (should be checking that the object/script is owned by the parcel owner). So could be abused, if it is then we should remove it, or add the security.
Only tested in dotnet scripting engine, but should work in XEngine too.
2008-07-09 12:02:01 +00:00
MW c9fe500212 Added "save-prims-xml2 <PrimName> <FileName>", as we were lacking a method to save a single primitive or small group of them. This command will save all prims in the current scene that name matches the "PrimName" parameter. The saved file is in standard xml2 format, so can be loaded using load-xml2 2008-07-01 19:23:45 +00:00
Charles Krinke b8a3a27221 Mantis#1641. Thank you, Lulurun for a patch that addresses:
The 1st "GetAvatarAppearance" *always* fails and returns default 
avatarappearance. Avatarappearance seems to be working well because 
the 2nd "GetAvatarAppearance" gets the right appearance.
2008-07-01 13:34:05 +00:00
Charles Krinke bf34f65125 Mantis#1639. Thank you, Melanie for a patch that:
Reads estate_settings.xml and populates the database from it. 
If there is no record, just passes the defaults to the application.
2008-07-01 02:16:58 +00:00
Charles Krinke 4cb42d4c35 Mantis#1637. Thank you kindly, Melanie for a patch that:
Make each region load it's settings from the database on startup. 
No user functionality yet.
2008-06-30 14:09:19 +00:00
Charles Krinke 9a0ef22ed9 Mantis#1616. Applied Melanie's patch. This may or may
not break trunk.
2008-06-28 16:08:12 +00:00
Dr Scofield 748f72326d last round of warning squashing. calling it a day now. 2008-06-27 23:03:39 +00:00
Dr Scofield 3d26e6ede0 move along, nothing to see here. just a couple of lazy variables. 2008-06-27 19:57:06 +00:00
Justin Clarke Casey 836557a2f7 * refactor: fission InnerScene.AddSceneObject() 2008-06-27 14:25:36 +00:00