Commit Graph

4813 Commits (94034d665d5875718243451596bc3f6658c6a5c5)

Author SHA1 Message Date
Teravus Ovares c98fb26789 * an attempt to resolve the teleport + attachment = crash 2008-05-24 03:19:57 +00:00
Dr Scofield b3e413bef7 forgot to actually remove IRCBridgeModule.FindClientRegion() 2008-05-23 16:10:11 +00:00
Dr Scofield 09188d5d10 IRCBridgeModule (and ChatModule before the refactoring) didn't succeed in
finding out which region a new avatar was logging in to; the same problem
occurred when the client/avatar logged out. the reason was mani-fold:

- Scene.AddNewClient(...) would call SubscribeToClientEvents(client)
  which would subscribe to all client events and then call 
  TriggerOnNewClient(...) BEFORE the ScenePresence object had even been
  created and added. i've moved the TriggerOnNewClient() call to the
  end of Scene.AddNewClient()
- Scene.AddNewClient(...) is called with child == true; a later call
  to ScenePresence.MakeRootAgent() will turn child to false. When
  OnNewClient is triggered, child is still true, causing IRCBridgeModule's
  FindClientRegion to ignore the ScenePresence of the new avatar.

i've changed IRCBridgeModule to still use OnNewClient and also OnLogout
and OnConnectionClosed but only to signal that the avatar has logged on
(logged off respectively). to track whether an avatar has actually entered
a region i've added EventManager.OnMakeRootAgent (complementing 
OnMakeChildAgent). 

also, i've cleaned up the internal IRCModule code a bit. currently it 
still uses IClientAPI.SendChatMessage() which replicates the code in
ChatModule, that needs to be changed to use TriggerOnChatFromWorld().
2008-05-23 16:07:47 +00:00
mingchen d04443b4fe *Refactor of the LandManagementModule that allows OpenSim to run without it 2008-05-23 15:12:15 +00:00
Dr Scofield bf23e5d66c i've refactored the ChatModule into two modules: ChatModule and IRCBridgeModule.
ChatModule is now only doing in-world chat. IRCBridgeModule is only doing, well,
bridging chat to/from IRC. Both modules are now using a new OnChatFromWorld event
handler (which Scene.PacketHandler is feeding for chat from in-world instead of 
going via the Interface method). This refactoring will allow us to easily add
other bridge modules (e.g., an XMPP bridge module).

there is still a bug in IRCBridgeModule (inherited from the old ChatModule)
where FindClientRegion does not really find the client region...
2008-05-23 10:24:26 +00:00
Charles Krinke 066b350d20 Thank you kindly, Melanie, for:
Nothing huge, but the new button code for producing 
a new script does well, but the script will not allow 
for name change once created. It reverts back to new script.
2008-05-23 02:45:52 +00:00
Charles Krinke 7dcaa409b3 Thank you kindly, Melanie, for a patch which:
Previously, upload charging was possible only for UPD uploads. 
This is because UDP uploads are charged by the viewer, while in CAPS, 
this was changed to be server side, so hackers couldn't avoid 
paying the upload charge. This patch adds a method to allow 
implementation of this serverside charge.
2008-05-23 01:38:20 +00:00
Justin Clarke Casey 8cde4a1c28 * minor: Remove unused variables causing warnings in Scene 2008-05-22 22:31:42 +00:00
Justin Clarke Casey 0c94da8305 * Plug in stubbed out archiver module 2008-05-22 22:21:58 +00:00
Justin Clarke Casey 4e33906973 * Add (DEPRECATED) to load-xml/save-xml region console help 2008-05-22 21:26:00 +00:00
Sean Dague b27ae0e8dc make VS compile Scene.cs 2008-05-22 20:59:40 +00:00
Sean Dague 1c49752a44 don't trust appearance assetid, instead do an inventory
lookup any time we get it from the server.  This should
preventent unwearable appearance.
2008-05-22 20:07:31 +00:00
MW 811cd3e0bf change to how initial terrain data is sent. Instead of sending the 64 packets in rapid fire as quickly as possible. The terrain data sending is now done in a threadpool worker thread over ~10 seconds with a thread.sleep between each packet sending. this hasn't been tested thoroughly, so it might not actually help with the atom bomb terrain (missing patches) but its a simple thing to revert if it makes things worse for anyone.
10 seconds is roughly the time between the region handshake completing and you being in world where you can see your avatar. So normally the terrain still should have loaded by time you get in the region, although it is possible that sometimes you might see the very end of the terrain load just after you arrive.
2008-05-22 19:44:57 +00:00
Teravus Ovares c124bb58ec * Limiting the Quaternion reset to x=y=z=w=0 2008-05-22 19:09:51 +00:00
Sean Dague 1ebc6bfd0a add a lock on the update, this should have been there before.
still not convinced this will help, but it was wrong.
2008-05-22 18:31:47 +00:00
Sean Dague 36bfa66719 we should be return null in these 2 places, though this won't
help with the timeouts.
2008-05-22 17:55:28 +00:00
Sean Dague fb120e3e23 catch case where avatar might have been child agent 2008-05-22 17:39:13 +00:00
Justin Clarke Casey 401e9bc3b9 * Documentation for load/save xml methods
* Insert the very rough beginning stubs for a save/load OpenSim archive facility that will load/save prim assets (textures & inventory) as well as the prim details themselves 
(our existing xml facilities).
* This won't be ready for even rough testing for quite some time.
* I'm doing this directly in the region server for now since this will be quicker to get something working (hence giving me the Serotonin boost that I need).  However, there are 
very good arguments for later also including it (or moving it entirely) to the separate export executable which Sean stubbed out some time ago.
2008-05-22 17:09:33 +00:00
Dr Scofield a97fa3f43e changing more 'raw' HTTP status codes to OSHttpStatusCodes. 2008-05-22 12:59:42 +00:00
Adam Johnson 9915fa13fb Fix for Mantis 1340. Thanks Melanie! 2008-05-22 12:21:34 +00:00
Adam Johnson 336c761ba0 Mantis 1357 Patch - Thanks mikem! 2008-05-22 12:07:47 +00:00
Dr Scofield bdc792d319 here are further enhancements to the IHttpAgentHandler and to BaseHttpServer (from awebb)
i've added the OSHttpStatusCodes enumeration of HTTP status codes, have adapted 
BaseHttpServer to use those.

then RestPlugin now has proper Failure handling returning proper HTTP status
codes. Regions/POSTHandler is work-in-progress.
2008-05-22 12:00:01 +00:00
Adam Johnson f22a63bd1c Added "show regions" to the CL help screen. Mantis 1123 2008-05-22 08:37:49 +00:00
Adam Johnson 5bfdb8c003 Adding basic show users functionality back in to console. Mantis 1212 2008-05-22 04:55:23 +00:00
Teravus Ovares bdcfc2e322 * Prevent an error from stopping startup when decoding the sculpt mesh j2k fails. 2008-05-22 02:40:19 +00:00
Justin Clarke Casey 61bba6375c * Fix mantis 1325. This is a minor issue where 'show assets' would not work fully in the region console 2008-05-22 00:49:17 +00:00
Justin Clarke Casey 1f57fd4bec * Minor: Tidy ups and logging tweaks. 2008-05-22 00:41:03 +00:00
Justin Clarke Casey 203017f554 * Refactor: Move enhancement of version string with operating system information from Scene to OpenSimMain
* This also means the operating system info will show up in the region console (and hence the logs)
2008-05-22 00:32:04 +00:00
Justin Clarke Casey 2e758172f0 * Fix circular dependency from last checkin by passing version as a parameter to Scene rather than referencing VersionInfo directly
* Butt ugly solution
2008-05-22 00:18:33 +00:00
Justin Clarke Casey 9263f07d70 * Send VersionInfo string instead of the hardcoded Scene string to the "About Second Life" box
* This is the same string as printed out on the opensim region console at startup, so it should now include the svn revision number (if available)
* This dialog box takes an awful long time to come up on my local system - no idea why that is.  However, that also seems to have been the case before this revision.
2008-05-21 23:52:02 +00:00
Justin Clarke Casey cca1563a78 * Deprecate load-xml and save-xml in favour of load-xml2/save-xml2.
* Please file a mantis if you are not able to use load-xml2/save-xml2 but can successfully use load-xml/save-xml
2008-05-21 22:57:29 +00:00
Justin Clarke Casey 42ac35ba7d * Provide relief for mantis 1263, 1202, 679
* If a caller attempts to set PrimitiveBaseShape.ProfileCurve with a HollowShape or ProfileShape component which is not a valid enum, a warning is spat out and a default shape 
subtituted
* This does not solve any underlying problem if we're missing some enum values (though it's not obvious what these are), but it should allow save-xml2/load-xml2 to be used 
without causing invalid enum value related exceptions.  The checks will also guard against badly behaved clients.
* This change alters the order of shape values in the xml, since it appears properties are serialized after fields (at least this is the case in mono).  .net native 
deserialization can cope with this it appears, though people manipulating xml manually may need to adapt (if there are any).
* This may be a good argument against relying on .net [de]serialization for our xml format.
2008-05-21 22:17:28 +00:00
Teravus Ovares c8857daf52 * Going to the C# syntactic sugar way of handling the backup event delegates. 2008-05-21 22:06:38 +00:00
Teravus Ovares 8afd93c943 * Sets backup bool volatile for extra protection against two backup processes running. 2008-05-21 21:47:03 +00:00
Teravus Ovares 5af108a029 * This update causes the backup process to run in a separate thread.
* Concurrency issues are resolved because each object makes a memory-only copy of itself and backs up the copy.
* Because of the way this is done, the latest at the time of the backup gets backed up (no functionality change)
* You can move *thousands of objects at a time* and the sim doesn't freeze and wait for the backup to complete.
* This can be enhanced more by dedicating the thread as opposed to starting it when the backup process starts.
2008-05-21 21:22:56 +00:00
Sean Dague 3e997772ea implement in memory appearance cache for sqlite. This
isn't db backed, but will hang around between reboots.
2008-05-21 20:36:34 +00:00
Sean Dague 9389429ed3 Clean out some crufty in AvatarFactoryModule
Fix RequestUpdateInventoryItem so that asset changes
generate a new asset, which is needed for editing
appearance to do the right thing.  Persistant appearance
seems to work after this, except you need to rebake textures
some times.
2008-05-21 20:18:40 +00:00
Sean Dague 53bcf2139e this removes use of the mapper for wearables, and I can confirm things
get saved to the database.  There are still issues on wearing things
after a cleared cache that I'm looking at now.
2008-05-21 18:02:09 +00:00
Teravus Ovares 0b719286a4 IZ QUATERNION NORMALIZE TO 0? NOWAI! KTHXBYE 2008-05-21 17:29:03 +00:00
Dr Scofield aa348c4804 renaming GETRestRegionPlugin to GETHandler as that's what it really is. 2008-05-21 16:20:21 +00:00
Sean Dague 0e39250506 create some direct sql calls for appearance 2008-05-21 14:34:52 +00:00
Teravus Ovares 8217bbe484 * Fixed needing to alter your sculptie sometimes to get physics to generate a collision mesh for it.
* Sculpties load on startup reliably now and successfully generate a collision mesh as soon as the sculpt texture is available.
2008-05-21 05:46:32 +00:00
Sean Dague e3efe1de16 attempt to fix mysql mapper usage 2008-05-20 22:37:18 +00:00
Sean Dague 70ada9181d move SceneEvents.cs to EventManager.cs, as that's actually
the name of the contained class.
2008-05-20 20:39:44 +00:00
Dr Scofield a53cea6b7e i'm extending the RestStreamHandler.Handler(...) signature to actually
provide OSHttpRequest and OSHttpResponse to our REST handler. 

also, this adds proper RestPlugin.IsGod() checking against the X-OpenSim-Godkey
HTTP request header.

last, i added XML doc comments to RestPlugin.cs
2008-05-20 16:51:45 +00:00
Sean Dague 185eff8d0d From: Jeremy Bongio <jbongio@us.ibm.com>
House cleaning ...

Rather than using the variable name EntityList, the variable name
EntitieList was being used. Here's a patch to fix it.
2008-05-20 16:19:35 +00:00
Jeff Ames 535d64b66b Add copyright notices.
Fix spelling typo (Thanks ChrisDown for pointing this out)
2008-05-20 15:38:49 +00:00
Dr Scofield 60ceef7ea2 my last "simplification" of the the if-then-else logic in BaseHttpServer placed the return in
the "if (request.UserAgent != null)" branch in the wrong place: as a result BaseHttpServer would not do 
anything if the user agent header field was present....ARGH! BAAAAAAD.
2008-05-20 12:58:27 +00:00
Jeff Ames b7c8020a3e Update svn properties. 2008-05-20 04:35:04 +00:00
Sean Dague ceadfb6eb7 remove the appearance lines from the OpenSim.ini.example. They
don't do anything now.
2008-05-19 21:50:56 +00:00