Commit Graph

237 Commits (1909d74d5fa8e6cea151bb5ff6b8e40b197b9f90)

Author SHA1 Message Date
Teravus Ovares fe49c96ee0 * Applying Ahzz's profile patch. Thanks Ahzz!
* Fixed a few bugs in the patch that are sim crashers.
* There's still a bug in mySQL mode/ grid mode where the main userprofile text doesn't save.
2008-03-03 08:30:36 +00:00
Charles Krinke 7794fc3766 Change handler001 through handler009 to more
appropriate names consisten with their use.
All done with all 94 handlers from handler001
through handler094. Hopefully we can move 
forward without numbered handlers.
2008-03-02 22:28:48 +00:00
Charles Krinke 30ebd15926 Update names of handler010 through handler019
to more appropriate names consistent with use.
2008-03-02 20:29:59 +00:00
Teravus Ovares 9991955014 Applying Ahzzmandius' second patch from bug 701.
ClientView triggers OnClose event before flushing packetqueue. 
Thank sAhzzmandius!
2008-03-02 19:48:26 +00:00
Charles Krinke d6039b40a4 Rename handler020 through handler029 with more
appropriate names consistent with their use.
2008-03-02 03:50:33 +00:00
Charles Krinke 7a0e1a8c34 Rename handler030 through handler038 with more
appropriate names consisten with their use.
2008-03-02 02:47:34 +00:00
Charles Krinke 18a058eb84 Rename handler040 through handler049 with more
appropriate names consistent with their user.
2008-03-02 02:30:28 +00:00
Charles Krinke 21f3661077 Rename handler050 through handler059 with more
appropriate names consistent with their use.
2008-03-02 02:06:31 +00:00
Charles Krinke c9e8d83fc9 Rename handler060 through handler069 with more
appropriate names consistent with their use.
2008-03-02 01:43:52 +00:00
Charles Krinke fdff8c3fa5 Rename handler070 through handler079 with more
appropriate names consistent with their use.
2008-03-02 00:07:28 +00:00
Charles Krinke 20c98b6203 Rename handler080 through handler089 with more
appropriate names consistent with their use.
2008-03-01 22:47:48 +00:00
Charles Krinke b0fbe96ca4 Beginning to change all handler000 through handler094
to more meaningful names starting from the end and 
working backwards.
handler094 -> handlerRequestAsset
handler093 -> handlerPacketStats
handler092 -> handlerGodKickUser
handler091 -> handlerUpdatePrimGroupRotation
handler090 -> handlerUpdatePrimRotation
Others to come shortly.
2008-03-01 20:37:27 +00:00
MW 70ad5604cd disabled AssetDownloadModule and re-enabled the asset download code in the asset cache, until it can be seen if the module was the cause of some new problems that seem like they might be related to assets. I'll look into this more tomorrow. 2008-02-27 22:47:33 +00:00
MW e978d00914 After seeing sdague do his happy dance over trunk working "the best he has ever seen". I'm not sure I should be doing this commit, but oh well.
So anyway, it moves the Asset downloading (packet sending) to a module (AssetDownloadModule). 
So now at last, AssetCache should be just dealing with fetching assets from the asset server and caching them.
2008-02-27 21:11:01 +00:00
MW 0b7f10efed UserService.ClearAgent call is no longer made when a childagent connection is being closed.
DisableSimulatorPacket now skips the packet throttles
2008-02-27 11:52:02 +00:00
lbsa71 5b3897a4af * Caught HttpListenerException and swallowed if with output
* Moved Flush into Close since it's always done in that order.
* Minor renamings
* Reversed if for clarity
2008-02-25 15:36:24 +00:00
Teravus Ovares 9b675a6888 * Converted the last of the events to the private delegate instance method to avoid race conditions. 2008-02-22 21:18:08 +00:00
Justin Clarke Casey 30eea2618d * Implement packet queue statistics
* This will show the packets waiting in each queue for each client logged into a region server
* These are displayed using 'show stats' on the region command line
* This is in pursuit of a memory leak.
* This will require a prebuild
2008-02-22 20:50:30 +00:00
MW b842ab3927 fixed it so that the different types of trees now work (show up in the clients), problem is that we don't seem to be persisting PrimitiveBaseShape.State in the datastore, so after restart of server, they all turn back into pine trees. 2008-02-22 18:27:08 +00:00
Teravus Ovares ff12395a3d * Relative large ClientView refactoring of packet Events into .Net recommended format. 2008-02-22 11:30:34 +00:00
Teravus Ovares d4905812bc * Fixed an issue where the client thread was aborted before the UDP server sends a message back to ClientView to close it a second time. (yes we call close twice because there are times when the client closes with a logout and disconnects immediately which causes the UDP server to send a close request to the client thread)
* This update might make things better, it might expose another issue.
2008-02-21 20:22:25 +00:00
Tedd Hansen 7102ac7769 "threads" command now works. I've added manual tracking of threads (only if compiled in DEBUG mode)... Its ugly and even requires a separate thread to track the treads, but it will be very valuable in debugging. 2008-02-21 10:43:24 +00:00
Teravus Ovares ac60382599 * Added a few more packets to ClientView. Added tendons to the Skeletal Groups Module, made it shared to save on threads. 2008-02-20 09:45:26 +00:00
Teravus Ovares b77c48e75e * Cleanup of some memory consuming items on ScenePresence.Close().
* Untangled a tangly shutdown loop for the ScenePresence.
* Suggested to the Garbage Collector that this may be a good time to >.>, <.< *gasp* collect the memory.
2008-02-20 01:17:21 +00:00
Tedd Hansen 47c909ca0a Playing "Name that thread". Adding names and isbackground=true to all threads so it will be easier to debug. 2008-02-19 12:02:53 +00:00
Teravus Ovares e292d43b96 * Since default loglevel is debug, I'm commenting out the resending x packet lines instead. If you want to see them, uncomment the lines, alternatively open up the simulator statistics in the client to get a 'bytes unacked' which is the same information, just compressed so it doesn't lag the simulator and make it harder to pick out useful debug information from the console. 2008-02-18 17:30:55 +00:00
Teravus Ovares 4e3547cd12 * Putting the resending x packet into debug mode only. Set your loglevel to debug to see them or pull up the simulator statistics in the client to see the 'un acked packet bytes'. 2008-02-18 17:24:53 +00:00
Teravus Ovares 27afeaec74 * Added /even more/ debugging messages to the UDP server to help people in resolving the Sakai issue. A few locks a few fixes, nothing that'll solve the problem in itself though. 2008-02-18 05:32:25 +00:00
Charles Krinke 2c81e18fc3 Thank you very much Ahzzmandius for adding the support
to purge the avatars inventory "Trash" folder using the
bizarre tortoiseSVN method of diff/patch.
2008-02-18 03:25:14 +00:00
Justin Clarke Casey a1a206cb05 * Clean up LIBRARY INVENTORY messages 2008-02-13 02:43:41 +00:00
lbsa71 d79633b7c7 * various minuscule code convention conformance fixes 2008-02-12 11:21:23 +00:00
Teravus Ovares 6e01769bcf * A bunch of updates to make things more smooth.
** Sending the actual TimeDilation to the client now instead of the 62455 constant.  The client is *supposed* to use that value to sync with the simulator.    (actually sending ushort.maxvalue * TimeDilation)
** Disabling prim that inter-penetrate instead of just not attaching a joint
** Reduced prim spin a 'little' bit, but not *enough* 
** Tweaked the TimeDilation algorithm to be closer to 1.0 by default and various changes to the sim stats reporter 
** Created a .SetValues method to PhysicsVector so we can simply call the setvalues function instead of .x, .y, .z sets.
** Experimented with a .GetBytes Method on PhysicsActor to be able to use the LLVector3.FromBytes() method.   
** Upped the Inter-penetration depth to 0.25 instead of .08.
2008-02-12 04:27:20 +00:00
Dalien Talbot c935b308e6 The very beginnings of attachments (no detachments! :) 2008-02-10 22:23:11 +00:00
lbsa71 e0424254bd * Refactored permissions handling to extract info out of permisisons block in ClientView
* Changed some uint constants to Enum values
2008-02-10 14:27:21 +00:00
Jeff Ames e207284fef Clean up logging calls using String.Format explicitly 2008-02-10 01:57:59 +00:00
Teravus Ovares 07d0f558c4 * Fixed nebadon's UserServer crash bug from yesterday.
* Made Estate tools work for estate managers without needing to request admin status First
* Added code to make the Simulator version to be reported in the About box of the client
2008-02-09 07:53:01 +00:00
Justin Clarke Casey a50a8376d6 * In the most basic situations, ClientView and ScenePresence no longer leak memory
* However, I'm no longer sure they were even a big contributory factor (to this particular leak, there are other causes of other leaks).  I need better measurement techniques
* Removed most of my debugging gawp
2008-02-09 01:37:53 +00:00
Justin Clarke Casey f05f583613 Still chasing logout memory leak. Putting in small changes and temporary light verbosity to this end 2008-02-08 22:39:08 +00:00
Teravus Ovares 3674257095 * This update contains a bucket-full of network optimizations.
* ParcelProperties are sent only when needed instead of on any movement
* Terse Updates and other temporary data packets are marked unreliable
* After a certain amount of users, the sim actually sends updates on things less
* Experimental
* Tested to 68 avatar with pCampBot  (And it's surprising what actually causes the most lag..  the text chat!)
2008-02-07 08:15:38 +00:00
Justin Clarke Casey 548bbc97e5 * Chasing down memory leak where memory used by a client is not returned on client logout
* This code may or may not be on the right track, but I want to save my work so far.
2008-02-06 20:34:18 +00:00
Jeff Ames 6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
Teravus Ovares ca5aadfbff * Refactored the sound calls to SceneObjectPart
* Fixed a few bugs
* Wrote an example module to make certain event systems more mature.
2008-02-05 05:26:18 +00:00
Teravus Ovares 3ff5ad1ed3 Patch from mikkopa/_someone Thanks! adds support for llPreloadSound, llTriggerSound, llPlaySound, llPreloadSound.
* Time to make music boxes?
2008-02-04 14:40:46 +00:00
MW 755ad9e3e0 First part of avatar persistence, currently only really works in standalone mode (with accounts_authenticate set to true), it also only currently has a mysql database connector. (sqlite one will follow soon). It also uses the tribalmedia database system, so this needs checking to see if the old problems with mono have been fixed.
To use, see the appearance section in opensim.ini.example, set "persist = true", then add the correct connection string for your database.(see mysql-AvatarAppearance.sql in share folder for a example of the table mysql table structure).
This could possible be used in a very small grid, but would mean each region server would need to connect to the same mysql database. 
But the work to move the code to one of the grid servers shouldn't be too much.
2008-02-04 12:04:02 +00:00
Adam Frisby 6fbc64af5e * Whole buncha stuff. 2008-02-04 10:39:30 +00:00
alondria 742ed9537d Implements LSL function llDialog().
The ScriptDialogReply packet handler is a bit of a hack job. It is currently handled similar to ChatFromViewer, which will trigger the listen() event, however this is not exactly how LL's implementation works and will/can be fixed up later.
2008-02-02 22:53:01 +00:00
Teravus Ovares d4f32649cd * Committing some untested stuff regarding texture animations. This won't break anything, but the llSetTextureAnim function is completely untested.. (though it may be functional once the script engine works again) 2008-02-02 03:57:57 +00:00
Teravus Ovares 58106926bb * Added a try/catch handler around childdataupdates because the enumeration is prone to modification when logging on. These can be safely ignored because the data gets old fast and new ones get generated somewhat quickly. 2008-01-26 17:00:35 +00:00
Teravus Ovares 5cf96daaf2 * Enabled dead region tracking for ChildAgentDataUpdates
** If the region fails 3 times, then ChildAgentDataUpdates no longer get sent to that region
* Enabled Child_Get_Tasks in grid mode.   
* When Child_Get_Tasks is enabled on neighbor regions, the neighbor region uses the client's draw distance to send out prim.   This is a lot less likely to flood the client now since the ChildAgentDataUpdate contains both the throttle settings and the draw distance.   This means that with this enabled, you can see prim in other regions in grid mode.   Very experimental.
2008-01-22 08:52:51 +00:00
Brian McBee 730e2d6d7c Check if remote simulator is up before attempting teleport. Teleport to a remote region should now fail gracefully if remote simulator is down. 2008-01-20 19:12:00 +00:00
Teravus Ovares c3061717d0 * Fixed a packet counting issue that I introduced
* Fixed a bunch of goofy math for calculating the sim stats counters
* Made most of the sim stats counters additive so it's easy to change the sim stats interval
* Changed the sim stats send interval to 3 seconds
2008-01-16 19:34:48 +00:00
Teravus Ovares 771ed747e5 * Slowed down the sim stats update to once every 5 seconds because the network accounting required it... with it being the lowest updated stat.
* Time dilation is off now..  because it's the additive of the 0.91 * 10 (adds a second) / 5( the number of seconds since the last update) which results in 0.41td as common
* Slowing down the network accounting update will probably fix the red issue.
2008-01-16 17:07:46 +00:00
lbsa71 b12f56d1d0 * fixed a race condition where several UDP-generated threads would collide on accessing AckList
* introduced __TryGetValue__ (learn to love it!) instead of ugly ifs and catch
2008-01-16 12:38:08 +00:00
lbsa71 f2ca9c1d05 * Reverted bugfx that really should go into separate commit 2008-01-16 12:33:02 +00:00
lbsa71 5e757d2ad1 * More work on getting the database framework to actually work 2008-01-16 12:25:13 +00:00
Teravus Ovares 29c869fd33 * Fix for: http://opensimulator.org/mantis/view.php?id=358 2008-01-16 06:04:33 +00:00
Teravus Ovares 5958192398 * Added Packets In/s, Packets Out/s and Current un_acked Packets to the SimStatsReporter
* This doesn't take into account the throttler, it just assumes the throttle limit isn't reached.
2008-01-16 03:33:46 +00:00
Adam Frisby b25f9f322c * Mother of all commits:
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Teravus Ovares e2c679637e * Trying something to see if it helps teleports and border crossings 2008-01-12 11:16:44 +00:00
lbsa71 c01dfe4953 * Removed superfluous and erroneous perms check on parts. 2008-01-08 15:01:15 +00:00
lbsa71 3ebd0430d9 * Heavy refactoring of MultipleObjUpdate flow for readability 2008-01-08 14:54:20 +00:00
Teravus Ovares 9ea4c03b8f * Hiding CompletePingChecks and UseCircuitCode messages.. as the packets are most definitely handled.
* My guess is someone was using them to diagnose a problem and they've been in the console output ever since.
2008-01-05 22:06:24 +00:00
Brian McBee b96da29d1a Inventory subfolders working again in grid mode. 2008-01-05 18:50:00 +00:00
Teravus Ovares 960b7e93b1 * Added the ability for estate managers to use the magic secondlife blue card of death to send out region and estate messages.
* Switched over Region Restart notices to the magic secondlife blue card of death method.
2008-01-04 02:24:05 +00:00
Justin Clarke Casey f34ccdd222 Reduce maximum number of items in an inventory packet to approximate Linden servers count, to see if this solves Ursula's inventory problem 2008-01-03 01:45:40 +00:00
Johan Berntsson 047aba2067 I have fixed the ZeroDecodeCommand bug, and restored my packet recycling code. Let me know by IRC if there are other problems 2008-01-03 00:59:12 +00:00
lbsa71 4b4ee98070 * Trying to address TextureSender issues
* The BlockingQueue exposes Contains so we can make sure we don't add a TextureSender to the queue if there's already one present
* introduced some TryGetValue and various code convention stuff
2008-01-02 09:07:11 +00:00
Teravus Ovares 2f43578386 * Re-wrote IM that sends the friend request so that it displays the name of the person who sent the request, or (hippos) if it can't find it. 2008-01-02 03:05:18 +00:00
Teravus Ovares b4c9b6bd19 * You can add and remove a friend in standalone now within the same simulator. It saves.
* You can add and remove a friend in grid mode now within the same simulator.  It doesn't save yet.
* I got rid of Mr. OpenSim as a friend..   he bothers me /:b...
2008-01-01 06:12:04 +00:00
Teravus Ovares 32438ab1b9 * This update rolls back the packetpool and LibSL changes. Please retest and then patch these changes back in. Currently it's not quite ready for 0.5. The down side to this action, is that we loose some performance to the garbage collector for now. Given that the target date for 0.5 is *Two days* from now, I'm taking the initiative to work towards a real stable version.
* This update also fixes scripting and some weird physics reactions
2007-12-30 06:18:17 +00:00
Teravus Ovares 14368d9a73 * Applied Melanie's same instance IM fix. This will make IMs work within the same OpenSim Instance. 2007-12-30 04:12:08 +00:00
Teravus Ovares f64d94f8ca * Rezzing items from Inventory on top of other prim rezzes them 0.5 meters above the 'hit' prim instead of buried in the ground somewhere.
* Various Refactorings
2007-12-28 14:24:14 +00:00
Adam Johnson 79496381fc Patch from Johan: LibSL updated to the latest revision (1568) and all packets are now
recycled to improve performance and memory usage.
2007-12-28 08:51:39 +00:00
Teravus Ovares 5bd5770ed2 * Patch from Melanie. Thanks Melanie!
* This patch addresses a regression where 5 default textures, including the default "new prim" texture, would not be shown unless in viewer cache.
* Further, it supplies a new plywood texture as the base texture, which is purpose-made from locally photo-sourced material (means i took a picture and made it into a tile), which is closer in appearance and color to the Linden one.
* It changes the default new prim texture UUID to match the UUID generated by the viewer when "default" is clicked, which is a texture UUID hardcoded in some scripts as well, so it would cause compatibility issues if not addressed.
* The patch fixes a number of UUID duplications (same UUID for asset and inventory items) and capitalization issues in the XML files.
* It also includes new versions of 4 other textures, which were no longer loadable in grid mode.
2007-12-28 05:36:28 +00:00
Teravus Ovares 67bbed8202 * Added ability to create new prim on existing prim (rezzing prim from inventory on other prim coming soon). No more new prim buried in the ground by accident.
* The prim are at the absolute position of the prim you rezzed it on top of + (0,0,0.5) for now.
2007-12-28 05:25:21 +00:00
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
lbsa71 87e2a694e2 * AssetServerBase: _ProcessRequest is now called GetAsset
* PrimitiveBaseShape: The textures are now exposed as a 'TextureEntry Textures'; all serialization still using the 'byte[] TextureEntry' for backwards compatibility.
* Scene: Re-added AddTree, since the Tree type isn't gone from libsl, merely relocated.
2007-12-27 14:00:30 +00:00
Teravus Ovares 87d55443d3 * Added slightly better object sit handling
* Added sit handling for sit targets
* Implemented llSitTarget()
* Implemented llAvatarOnSitTarget()
* Sit targets do not persist sim restart.
2007-12-27 03:25:00 +00:00
Justin Clarke Casey bde1690c4c FOR http://opensimulator.org/mantis/view.php?id=226 I have a theory that an inventory descendents packet which exceeds a certain size is not being received by the client due
to something in the network constraining the maximum UDP packet size.
This hypothesis fits the observed facts.  The change here reduces the maximum number of items in any single packet to 20.
If I'm wrong I'll go back and correct the comments.
2007-12-24 03:26:55 +00:00
Justin Clarke Casey c470efea57 Make copying of scripts into prim inventories more reliable on the first attempt when the asset server is lagging by formalising the de facto polling.
This may not be the best solution in the long run, but should improve things for now.
This may also improve reliability when updating inventory item metadata (e.g. renaming an item) and in retrieving textures
for the main map view.
2007-12-22 19:48:01 +00:00
Justin Clarke Casey ed0f8bd572 minor refactor 2007-12-22 16:45:44 +00:00
Justin Clarke Casey 1ac57290ae Initial hookup of update task inventory event. No functionality yet. 2007-12-22 02:52:35 +00:00
mingchen 21e32196c7 *Fixed logic issue in LandManager that caused an 'invalid parcel' error to spew in the debug when land was selected 2007-12-21 21:04:27 +00:00
Justin Clarke Casey 42bc256e4f Refix bug where inventory textures don't appear in prim edit texture selection box
unless previously expanded in inventory.
2007-12-21 19:47:45 +00:00
Teravus Ovares a453672edb * Remapped the Connection shutdown path.
* This fixes a *bunch* of Mantis bugs related to the following
* -- Neighbouring simulators not appearing after relog
* -- Login to simulator only to be logged off by simulator.
* -- ThreadAbort 
* -- Unable to shutdown circuitCode: x
2007-12-21 16:55:03 +00:00
Teravus Ovares ba9e0e5cab * Fix for Mantis: 0000229 2007-12-21 15:02:57 +00:00
Teravus Ovares 2641f78a20 * Fixed a null NewPack error in ClientView.InPacket (object pool returning null objects?) 2007-12-20 14:44:59 +00:00
Jeff Ames be2ad79e52 Added patch from Johan. First attempt to solve the LibSL.Packet GC problem. Works with LibSL rev>1532 2007-12-20 05:43:02 +00:00
Jeff Ames 6702b03733 Misc. cleanup:
* added Util.Clip(value, min, max)
* modified asset cache's numPackets calculation to use max packet size (600) instead of 1000
* removed a few magic numbers
2007-12-19 08:44:25 +00:00
Teravus Ovares ccc8ffaaec * Added Incomplete Handling of the RegionInfoRequest packet
* Added Incomplete Handling of the EstateCovenantRequest packet 
* Added Incomplete Handling of the EstateOwnerMessageRequest.ChangeEstateCovenantid method
* Fixed a race condition with avatar animations
2007-12-18 12:08:34 +00:00
Teravus Ovares afe63faa2e * Fix for mantis 0000040 After client logout remote host closed connection on Simulator makes sim unuseable->'Closed Connection Called'
* I've fundamentally changed a few things, so this is experimental
* The routine that I used needs to be tested on Linux.  I don't expect it to cause a problem, but hey, it might.
* Child agents are still not logged off properly, so when the first set time out, the second set get logged off also, on the second log in if the second login is initiated before the first one fully times out.
2007-12-18 00:34:42 +00:00
Teravus Ovares adf7afb606 * Turned all instances of ForEach loops in ClientManager into Local Arrays.
* Added Locking while the Copy is taking place.
* Added an error message to describe what's actually happening.
2007-12-17 20:24:49 +00:00
mingchen e2ed1a4e1f *Adding and Removing Avatars from the Access/Ban List for a parcel now works, but the actual ban lines, etc are not done. 2007-12-16 19:53:27 +00:00
Teravus Ovares e3dd15bef0 * Added support for multiple terrain blocks to be edited at the same time
* Now sending South and East cords to the terrain editor..    
* No new functionality from a user perspective 
* Programming wise, there's enough information to get the select based terrain editor working in an upcoming revision.
2007-12-15 17:10:12 +00:00
lbsa71 653a41fa03 * some work on not storing the circuitPack (bad thing if we're going to reuse packets)
* some work on encapsulation, code convention compliance and beautification.
* also, some ignores
2007-12-15 12:19:29 +00:00
Brian McBee 8a8c89a0f3 Grid Inventory feature upgrade: renaming folders should now be correct, subfolders work, moving folders works.
Tested only in MYSQL, but may work in MSSQL and sqlite.
Probably not working in standalone mode.
2007-12-15 04:57:14 +00:00
Jeff Ames 8d995a5a5d Minor cleanup 2007-12-13 18:45:32 +00:00
Jeff Ames 83ca8bd178 Fix for #176 (... doesn't appear in chat bubbles). This also gets the viewer to handle starting/stopping of the typing animation. 2007-12-13 07:10:32 +00:00
Sean Dague c7f5a94763 put in a try block to catch the ForEach loop dying. 2007-12-11 22:20:22 +00:00
Sean Dague 6b5db310cd debug to catch any users of the stop interface 2007-12-11 21:57:11 +00:00