Commit Graph

113 Commits (339fd602db4a0182777c9acc0b7486d91e9f904d)

Author SHA1 Message Date
Dr Scofield 3d26e6ede0 move along, nothing to see here. just a couple of lazy variables. 2008-06-27 19:57:06 +00:00
MW cf1cf73839 added the flag param to IClientAPI.SendMapBlock 2008-06-25 20:14:47 +00:00
Teravus Ovares febe78d062 * Implements UserServer logoff in a few situations
* User tries to log-in but is already logged in.  Userserver will send message to simulator user was in to log the user out there.
* From the UserServer, admin types 'logoff-user firstname lastname message'.
* Some regions may not get the message because they're not updated yet.
2008-05-31 12:18:29 +00:00
Charles Krinke a84456c239 Mantis#1411. Thank you kindly for Dataserver.cs and a patch
that adds function stub to request region info by name and
adds llRequestSimulatorData() and the dataserver event
2008-05-29 13:55:02 +00:00
Jeff Ames 65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Justin Clarke Casey 8fe9943293 From: Dr Schofield <hud@zurich.ibm.com>
Rename SearializableRegionInfo to SerializableRegionInfo (class was already named correctly)
2008-05-14 17:03:25 +00:00
Jeff Ames c995d60d37 Formatting cleanup. 2008-05-14 05:11:23 +00:00
Teravus Ovares bfce23dcf4 * Implemented ChildAgentDataUpdate throttle multiplier based on an inaccurate count of neighbors.
* The neighbor count is always lower then the actual number of neighbors unless your region was up the longest.
* The region you're in is un-affected by this, though, you'll get less packet loss, maybe not get logged off immediately when you log in, and possibly see more prim if your internet connection is semi-unreliable.
2008-05-13 06:05:45 +00:00
Justin Clarke Casey d3fb6039ca * If a region running in grid mode fails to login to the grid service, startup will now terminate instead of carrying on (and thus burying the error message) 2008-05-12 16:57:56 +00:00
Adam Frisby 20a9bf08f5 * Rolled back a few changes. 2008-05-01 18:04:42 +00:00
Adam Frisby 13526097f2 * Spring cleaning on Region.Environment.
* Converted a large number of read-only fields to be actually, readonly.
* Reformatted code sections.
* Removed redundant code.
2008-05-01 16:35:00 +00:00
Adam Frisby 4692e92312 * Assorted spring cleanings. 2008-05-01 14:45:56 +00:00
Teravus Ovares 323038ceb9 * Ooops, attachments now teleport/cross region borders along with your avatar. Those dastardly objects stick to you. 2008-04-26 17:36:30 +00:00
Adam Frisby fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Teravus Ovares fd2caf5f16 This update has good news and bad news, first the bad.
* This update breaks inter-region communications, sorry.
* You will need to run prebuild.
Next, the good;
* This update solves the unexpected binary element when Linux simulators inform windows simulators and vice versa.  So Linux Simulators and Windows simulators are 100% compatible again.
* This update introduces an Integer in the prim crossing method to tell the receiving simulator which XML method to use to load the prim that crossed the border.   If the receiving prim doesn't support the method, the prim crossing fails and no prims are lost.
That being said, it's best to update all your simulators to this revision at once.
2008-03-30 08:01:47 +00:00
Justin Clarke Casey ad6783ff40 * Massaging CAPS setup/teardown log messages
* Leaving quite a few debug messages in for now to help deal with bugs arising
2008-03-25 22:04:41 +00:00
Justin Clarke Casey ad808579a2 * Print out the exception stacks of resolution failures, temporarily 2008-03-25 20:05:02 +00:00
Justin Clarke Casey ed9cdbe99f * Temporary hack to swallow neighbour contact problems on startup (in response to osgrid issues)
* Not sure what the effect will be, but can't be any worse than the current constant sim crashes.
2008-03-25 19:39:41 +00:00
Justin Clarke Casey 8c74cf7758 * Tear down CAPS and http handlers when an agent leaves a region (via crossing, teleport or logout) 2008-03-25 18:47:14 +00:00
Justin Clarke Casey da531fa9e1 * Start passing around a region server's http port in RegionInfo.
* This means that caps methods (editing scripts, poss map functions, etc) on non-home regions should now work with servers which are listening for http ports on a non default 
(9000) port.  
* If you are running a region server, this may only work properly once your grid server upgrades to this revision
* PLEASE NOTE: This shouldn't cause inter-region problems if one end of the connection hasn't upgraded to this revision.  However if it does, the instability will persist until 
the grid and region (and possibly all the region's neighbours) have upgraded to this revision.
* This revision also adds extra login related messages, both for success and failure conditions
2008-03-23 21:21:39 +00:00
Justin Clarke Casey 74023aa97c * Miscellaneous comment before I found out that mantis 807 probably isn't an issue worth fixing. 2008-03-22 22:17:35 +00:00
Justin Clarke Casey 61ae75f364 * Catch the occasional resolution exception that comes out of SceneCommunicationService.EnableChildAgents so we can see what hostname is failing 2008-03-22 20:44:15 +00:00
Justin Clarke Casey c1beb85315 * First draft resolution of mantis 777, 734, 389 - scripts do not save in non-home regions
* Should work in multi-region standalone and grid modes
* This should also solve other non-home region caps issues (map requests, RC client inventory requests, etc)
* We now pass CAPS information on to the destination region on region crossing, and set up a CAPS object when an agent becomes a master
* Current limitation is that this will only work if your http_listener_port is 9000
* This is a very early code cut (lots of bad practice, hard coding and inefficiency).  However, I wanted to get this out there for feedback and my own sanity.  Next few patches will clean up the mess.
2008-03-20 20:04:45 +00:00
Justin Clarke Casey 20473af892 Another poxy patch which consists mainly of logging changes (some already commented out) to find out what CAPS is doing 2008-03-20 13:03:26 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +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
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
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
MW 694dff3b70 Some changes to remove some of the direct calls to CommsManager from Scene, so that they now go through the SceneCommunicationService. As a small step towards the day we can kill the CommsManager (YAY!) 2008-02-16 11:55:09 +00:00
Teravus Ovares a56664cf59 * um, Prim crossings? Experimental.
* Backup your database just in case.
2008-02-11 01:43:54 +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 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
Teravus Ovares 3fe6b2280d * Shutting down child agents properly in neighbor regions. 2008-01-21 23:04:42 +00:00
Brian McBee 59d7165f40 Graceful failure of teleport to unavailable regions might actually work now.
I blame all bugs on the age of my brain cells.
2008-01-20 21:11:55 +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
Brian McBee 17c25796b8 checking return code may make failed teleports fail more gracefully. 2008-01-19 20:34:54 +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
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
Teravus Ovares 8aae909412 * Added a configuration parameter on the Grid Server to disallow forceful banlists.
* Added a way for Grid based configuration parameters to (generally used in overriding functionality) to get to the regions on Registration.
2007-12-20 06:31:03 +00:00
Teravus Ovares e32150b1db * Temporarily sisabled neighbour cache for regions in the SceneCommunicationService
* This will fix the grid mode (not seeing regions) issue
2007-12-12 01:10:54 +00:00
Jeff Ames 712efda9b9 added copyright notices 2007-12-11 01:26:06 +00:00
Teravus Ovares 2349dc2e27 * Added comments to many methods in the listed files. 2007-12-10 21:12:38 +00:00
Teravus Ovares eac9bc6889 * More refactoring to prepare for draw distance based agent sim notification. 2007-12-10 19:16:50 +00:00
Teravus Ovares e595f82489 * Hooked up the GridComm event ChildDataUpdate to the scene.
* Added List<RegionInfo> m_neighbours to Scene 
* Hooked up the OnRegionUp event to m_neighbours list 
* Modified RegionInfo to have a bool commFailTF value so that we can skip neighbors that fail.  (when the region comes up, this gets reset to false and the region will try again.
* Added SetChildAgentThrottle(byte[]) to IClientAPI 
* Several other insignificant changes related to passing child pertanant agent data from sim to sim.
2007-12-10 00:46:56 +00:00
Jeff Ames f195725db4 keeping opensim safe for children -- made some namespace references less explicit 2007-12-04 22:14:53 +00:00
Teravus Ovares 4738fead21 * Added a 50 second restart notify timer that gets reset when new regions come up to give servers that host a lot of sims a long time to start listening. 2007-11-29 07:25:58 +00:00
lbsa71 d05b121dff * Locking on local scope variable does not make sense - every thread will have its own
* Locking on value, then changing it does not make sense - lock will happen on old reference
* Taking a local copy of the shared resource then locking on the copy does not make sense - lock will happen on copy
2007-11-29 06:06:42 +00:00
Brian McBee b0c5693c02 Changed to doing only 1 request to the grid server from main map. Hopefully we are not requesting too much in one gulp. 2007-11-29 02:30:11 +00:00
Teravus Ovares 81ba94fde8 * Fixed about 7 issues with restarting sims and resolved interRegion comms issues. This includes the issue that MW described this morning.
There's a lot of little nit picky changes that make a world of difference.
2007-11-29 02:07:19 +00:00
Teravus Ovares b7d596a6af * Restaring the sim works fine in grid mode now. Sims announce themselves to their neighbors when they start up. Neighbors get this message and tell their agents that there's a new sim up.
* Certain unrecoverable physics based crashes in ODE are now hooked up to the 'restart the sim' routine.
2007-11-28 06:18:07 +00:00
MW b916d5b112 Fixed bug, where the clients in a region weren't told to kill a user's avatar when that user teleported to a different region. 2007-11-27 15:44:39 +00:00
Teravus Ovares 082f2baebe Fixed an event in the events chain in inter-region communications.
As a consequence, restarting sims in the same process instance now shows them when they come back up in grid mode and standalone mode.
2007-11-27 13:46:52 +00:00
Brian McBee 959084f885 MainMap workaround. Map still does not fill in automatically, but one click on map should return a decent portion of it. 2007-11-26 16:40:08 +00:00
Teravus Ovares 175b6115f1 * Restarting regions with the estate tools works in sandbox mode. I'm still working on grid mode, however. It doesn't break anything, but that feature doesn't work in grid mode yet either. 2007-11-26 05:02:18 +00:00
Teravus Ovares d263a044b1 * Added the ability to restart your individual sims from within them using the estate tools.
* The sims properly restart, however they don't yet notify the existing avatars that they are up.  To see the sim again, you'll need to log-out and back in until I can figure out how to get the proper data to the sims and to the avatar so they reconnect again.
2007-11-25 04:52:14 +00:00
Teravus Ovares 7cb38712d5 * Did some initial work for prim crossing. Just glue so far.
* Added the child_get_tasks OpenSim.ini flag for testing the UDP packet sending code and packet throttler.   This flag gets purposely disabled in grid mode.  This flag also has the consequence that you can see the prim in neighboring regions without going into them.  Be warned, this causes tons of dropped packets.
2007-11-21 02:17:24 +00:00
MW 483377adae More cleaning up when deleting regions from a instance. NOTE: IGridServices.DeregisterRegion() method needs implementing for grid mode. 2007-11-16 13:39:11 +00:00
MW 73fbacea1f Started to cleanup/close down childagent connections when a user teleports. As the client will not close old childagent connections without being told explicitly to do so by each region the connection is to. Currently only implemented in standalone mode. ( the TellRegionToCloseChildConnection( ) in OGS1GridServices.cs needs implementing for grid mode, and the inter region .net remoting added for the new messages).
hopefully fixed the echo bug in chatmodule.
2007-11-05 13:58:44 +00:00
Jeff Ames 76aa5b81b0 removed duplicated BOMs 2007-11-05 02:48:05 +00:00
MW d56ed8fe9c Some more refactoring 2007-11-04 22:22:53 +00:00
Jeff Ames 2d1c255e8c normalized line endings 2007-11-04 14:34:45 +00:00
MW dabbdec2cd First part of Scene refactoring:
Started the move of some of the methods from scene into a inner class (currently called InnerScene.cs), the idea being that the code related to the 3d scene (primitive/entities/Avatars etc) will be in this inner class, then what is now Scene.cs will be left as a kind of wrapper class around it. And once the spilt is complete can be renamed to something like RegionInstance (or any name that sounds good and ids it as the Region layer class that "has" a scene). 
Added SceneCommunicationService which at the moment is a kind of high level wrapper around commsManager. The idea being that it has a higher level API for the Region/Scene to send messages to the other regions on the grid. a Example of the API is that instead of having sendXmessage methods, it has more functional level method like PassAvatarToNeighbour. Hopefully this will allow more freedom to do changes in communications that doesn't break other things.
2007-11-03 19:14:22 +00:00