Commit Graph

201 Commits (fcab408cc49508efb85d612029dee271a88d13d0)

Author SHA1 Message Date
Justin Clarke Casey 1de6cffa28 * Refactor: Remove the unused userID parameter that was being passed into almost every inventory method
* This allows lots of redundant inventory methods with only slightly different names to be eliminated.
2008-05-01 20:47:33 +00:00
Adam Frisby a1c8aa4050 * Cleaned namespaces of entire solution. OpenSim directories now correspond with namespaces. 2008-05-01 15:36:39 +00:00
Teravus Ovares a9cc76e0ef * Long awaited patch from A_Biondi Mantis 923. Kept alive by Melanie. Thanks A_Biondi and Melanie!
* This builds but might not work.   JustinCC will examine..   it may work out of the box.
2008-04-30 16:08:24 +00:00
Justin Clarke Casey 46c8d7a5e1 From: Dr Scofield <hud@zurich.ibm.com>
the patch below adds support for start_location = uri:region&x&y&z to 
OpenSim which allows us to provide -url secondlife:///region/X/Y/Z to 
the SecondLife client during start up --- which will take you directly 
to region "region" at position X, Y, Z.

also, i did increase the default Z value from 70 to 128 as we otherwise 
have the problem that on some regions we'd end up inside a mountain 
instead of on top of it.
2008-04-25 13:37:43 +00:00
Justin Clarke Casey 4db839c3b8 * Implement proper emptying of trashcan on standalone
* On standalone, folders (and their items) should now be persistently deleted on trash emptying, as well as immediate child items
* An implementation for grid mode will follow.
2008-04-23 17:04:15 +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
Justin Clarke Casey 7ac7f79f88 * Eliminate a class of errors where an inventory request could be made before the region had completely received the inventory for the user.
* A much larger race condition where the inventory request could be made before the region gets any data at all will also be fixed in the near future.
* This change also fixes a regression from two patches ago where items stopped appearing in standalone inventory
2008-04-11 18:46:54 +00:00
Justin Clarke Casey 649f304e76 * Minor inventory code cleanup following on from last patch 2008-04-11 18:19:21 +00:00
Justin Clarke Casey a5176c2e2c * Change inventory async response deliver to deliver all items and folders at once, rather than each individual
* This is required in order to work towards eliminating some inventory race conditions and to better deal with situations where a grid inventory server is slow or not responding.
2008-04-11 18:13:10 +00:00
Sean Dague 55ac1c6dce renaming of attributes in UserAgentData for readability 2008-04-10 14:50:52 +00:00
Sean Dague ef7dfae41c changing UserAgentData to use properties. This caused more
grief than expected, as monodevelop doesn't like to refactor 
properties of properties.
2008-04-10 14:37:17 +00:00
Sean Dague 25fea01b92 further renaming of properties for clarity 2008-04-10 14:09:30 +00:00
Sean Dague c176caeb05 moved fields to properties for UserDataProfile, which was
actually a little more work than I expected given the copious
use of out params.
2008-04-10 13:53:06 +00:00
Sean Dague 5ee75998ce more refactoring, this time on InventoryFolderBase
* wrap attributes in properties
 * clean up names a little bit
 * clean up name styles
2008-04-07 23:27:05 +00:00
Justin Clarke Casey 93303072dd * Minor: If a user exists but has no inventory in standalone, automatically create new inventory folders
* This mirrors the grid behaviour
2008-03-31 18:29:08 +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 a6999f8a5d * Refactor: Remove unused inventory methods, some of which weren't properly implemented anyway. 2008-03-29 23:07:48 +00:00
Justin Clarke Casey 0a47a75b88 * Send full inventory folder skeleton to standalone client logins rather than just the root child folders
* This may resolve some current problems with non root child folders on standalone installations.
* A fix for the same problem in grid mode will come soon.
2008-03-28 19:35:01 +00:00
Justin Clarke Casey 35dec2e53a * Refactor: Eliminate RequestUsersRoot() redundant method 2008-03-28 17:37:55 +00:00
Justin Clarke Casey c8f79eb9b4 * Refactor: Rename CreateInventoryData() to GetInventorySkeleton()
* Replace the unused default GetInventorySkeleton() impleemntation with an abstract declaration - less confusing this way imho
* Add some comments
2008-03-28 16:39:38 +00:00
Justin Clarke Casey 512e52be4c * Remove pointless boolean on AgentInventory.CreateRootFolder() 2008-03-28 16:27:29 +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 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 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 bf8b5844f2 Formatting cleanup. Minor refactoring. 2008-03-18 14:51:42 +00:00
Teravus Ovares 42857fe4e9 * Added the ability to type the partial name of a region in the start location box and go to that region if it's there. If no close match was found, it sends you home. This is tested on mySQL. There's untested code on grids that are based on sqlite and MSSQL. The SQL statements *should* be right, but your results may very.
* Ex, if you want to go to Wright Plaza, you simply need to type Wright Plaza in the start location in the client when you log-in.
2008-03-18 05:44:25 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Jeff Ames 9f7639fd6d Formatting cleanup. 2008-03-18 03:41:05 +00:00
Teravus Ovares 4e30f862af Building on Joha's update...
* Server now listens to the client's start location request for 'home' or 'last' and sends the user to the home location or the last location.
2008-03-18 03:09:38 +00:00
Justin Clarke Casey 37c32e1154 * Make it more obvious if local user services are being used
* Tell the log whether the sim is started in standalone or grid mode
2008-03-17 19:08:23 +00:00
Justin Clarke Casey 759a0bcba0 Make Local back end services warn/error messages explicitly say they are from standalone services 2008-03-07 12:03:48 +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
Jeff Ames a8cfbbe963 Minor cleanup. 2008-02-20 18:38:20 +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
Adam Frisby f3afa68a2a * Made new Framework.Constants class, added RegionSize member.
* Converted all instances of "256" spotted to use RegionSize instead. Some approximations used for border crossings (ie 255.9f) are still using that value, but should be updated to use something based on RegionSize.
* Moving Terrain to a RegionModule, implemented ITerrainChannel and TerrainModule - nonfunctional, but will be soon.
2008-02-14 12:16:33 +00:00
Tedd Hansen 5f70b8b922 Added a small but maybe important clue that UserServer is not running. 2008-02-14 01:35:17 +00:00
MW 49a5a00b80 Added a method to access a named folder in a users inventory, to the inventory Database interfaces. This could be useful for adding a item to a users inventory from say a web front end application or some other third party application. [note the method is only currently implemented in the sqlite provider] 2008-02-13 14:45:13 +00:00
Justin Clarke Casey c80c6e9774 Documenting and minor tweaks 2008-02-11 20:10:44 +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
MW 33c4631c6d some small changes, like adding a couple of extra methods to IInventoryServices so that a check can be done to see if a inventory set exists for a certain user. 2008-02-05 13:02:03 +00:00
Justin Clarke Casey a1c9349d47 Refactor only: serve stats objects directly through StatsManager singleton 2008-02-04 16:22:58 +00:00
Justin Clarke Casey beefbb46d2 * Add total logouts (and total logins) to server side user stats
* Passing the stats collector through object chains is not ideal - this will change when more stats come in
* This change will need a prebuild
2008-01-28 22:00:38 +00:00
Justin Clarke Casey 90c853685c * Add very basic initial login stats to the user server
* Typing 'stats' on the command line will given total number of successful logins today and yesterday
* A little bit more to come, probably
* Refactoring will follow next
2008-01-25 19:24:25 +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
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 85fe8ed085 * This update enables the web_login method.
* Remember, the client doesn't support web_login to other grids in the current RC, however the next RC will.
2008-01-09 22:05:28 +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
Justin Clarke Casey 60fa75ac04 Standard library folders can now be configued in the xml in inventory/OpenSimLibrary - no hardcoded changes are required. For some reason, all the folders are currently
showing up as texture folders, even though they are configured with the same types as the agent inventory folders.  This should be resolved soon.
2007-12-31 03:33:21 +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
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
Justin Clarke Casey 019d662606 Put out a more comprehensible message when user authentication fails than the current NullReferenceException based one 2007-12-15 21:58:07 +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 af6eb67999 saved OpenSim source code from the giant rampaging unterminated copyright notice of doom 2007-12-10 05:25:16 +00:00
Teravus Ovares f2b175ef08 * Added some inter-region comms glue for allowing sims to chat amongst themsevles about an agent behind the agent's back.
* Will be using this glue Tomorrow/today to tell other regions what the agent's draw distance is and what region they're actually in so the region can make decisions on what prim to send, if any.
2007-12-09 05:59:49 +00:00
Jeff Ames 4bde56457f removed some duplicate hard-coded port numbers. changed ports to uint. 2007-12-06 01:41:41 +00:00
Sean Dague 4b77821275 From Justin Casey (IBM)
When using a local inventory service, this patch stops items held in the
root 'my inventory' folder from 'disappearing' on server restart.
They were actually still there, we just weren't retrieving them.
>From looking at the grid inventory server, the bug probably still exists
in there.
But I wanted to get this patch in first and consult with MW about the grid
fix (he may be planning to change the area extensively soon).
2007-12-05 19:00:29 +00:00
Jeff Ames f195725db4 keeping opensim safe for children -- made some namespace references less explicit 2007-12-04 22:14:53 +00:00
MW 5df851761a Initial working Grid Inventory server. Only been tested on a very small grid, so likely to have problems on a larger grid with more people?
To use , both the user server and Inventory server need to be running this latest revision. (older regions should be able to still be used, just the user won't have inventory on them). Also and HERE IS THE BIG BREAK ISSUE, currently, so that the initial inventory details for a user are added to the inventory db , you need to recreate the accounts using the user server "create user" feature. It should be quite easy to manual populate the inventory database instead but I someone else will need to look into that) Also I've only tested using SQLite as the database provider, there is a Mysql inventory provider but I don't know if it works (SQLite is set as default, so you will need to change it in the inventory server config.xml)
2007-12-01 18:49:17 +00:00
lbsa71 0d5d111619 * Made RegionUp virtual 2007-11-30 08:54:42 +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
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
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 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
lbsa71 ce3a87daa5 * Changed namespace 2007-11-19 11:20:36 +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 7f8a69f181 Some work on being able to set/send a users Buddylist info. (added handling code to LoginResponse).
And as a test each user signing in will get the test account ("Mr OpenSim") as a friend (online/offline status will not currently show up)
2007-11-13 10:47:39 +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
MW d56ed8fe9c Some more refactoring 2007-11-04 22:22:53 +00:00
mingchen b51a900beb *Master Avatar can be specified by a previous UUID in either grid mode or standalone mode by specifying a master_avatar_uuid attribute in the place of master_avatar_xxxx_name and master_avatar_password.You will not be asked for the name and password if a valid UUID is specified. 2007-11-03 17:49:45 +00:00
lbsa71 4fad66f855 * Diuerse beavtificatems 2007-11-01 19:19:05 +00:00
lbsa71 67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
MW 3d8219f6c7 as per the "Filesystem cleanup for OpenSim repository" mailing list thread. Have flattened the OpenSim.Framework project/namespace. The problem is that the namespace is still wrong as its "OpenSim.Framework" while the directory is "OpenSim\Framework\General" , so we need to decide if we change the directory or correct the namespace.
Note this has lead to a big flat project, but I think a lot of the files we most likely don't even use any longer. And others belong in other projects/namespaces anyway.
2007-10-29 21:46:25 +00:00
lbsa71 070047ce1b * Added prototypical AvatarFactory module interface to load avatar parameters
* Added dump_assets_to_file option to enable asset dumping for debug
* normalized some namespaces
* InventoryFolder renamed to InventoryFolderImpl to
2007-10-26 14:08:36 +00:00
lbsa71 dd770c384c * Made EstateSetting static since there's only one instance, and we only need to create it once
* Now cacheing RegionInfos indefinitively; we should add a tiomeout to this cache
2007-10-22 17:55:49 +00:00
Sean Dague c5ea70bf93 nice catch by chi11ken that I was setting the wrong property 2007-10-22 15:39:02 +00:00
MW 5bf6b24590 Bug fix, so that local loginserver (in standalone mode) can set a start position (position inside the region) rather than it always being hardcoded to 128,128. Note: This bug fix is just to allow this to be set. Its not actually used yet (so users will still always start at 128,128). 2007-10-22 09:04:55 +00:00
Tleiades Hax 9f2fcfb3ec Fixed a bug causing a crash during clientlog on in Windows (Thanks to Rookiie and nebadon for laying all the ground work)
Fixed a bug, preventing standalone mode to report neighboring sims correctly
2007-10-21 09:32:24 +00:00
Tleiades Hax 05df857132 Possible fix for: Remoting exceptions with adjacent non-running sims.
Bugs 449, 454, 408, 244, 197
implemented InformClientOfNeighbours as an asynchroneous process, handling timeouts without blocking the main thread.

Improved logging of errors, removed catch all in try catch
2007-10-18 15:10:43 +00:00
lbsa71 849eaffbe5 * Applied patch #418 : copyright-r2012.patch - some errors, but got most thru 2007-10-15 07:10:21 +00:00
Sean Dague c3d8f1f425 getting all our line endings consistant again 2007-10-05 15:45:45 +00:00
lbsa71 d4a4aafaf1 * So, ok, maybe renaming serialized fields on a friday wasn't the smartest of things. Reverting 2056. 2007-10-05 13:54:16 +00:00
lbsa71 82bdf535df * minor refactoring
* using base type IUserService
2007-10-05 13:12:34 +00:00
MW 710b8375a9 Some tiny refactoring 2007-10-05 11:40:30 +00:00
lbsa71 ed6168b96b * UserProfileData meets code conventions 2007-10-05 11:27:46 +00:00
lbsa71 5a65521203 == The "right name and place" commit ==
* Moved InventoryData to Framework.Types/InventoryItemBase.cs
* Moved UserData to Framework.Interfaces/IUserData.cs
* Moved UserProfileData to Framework/Types/UserProfileData.cs
* Deleted ass-backwards Framework dependency on Framework.Data (now it's the other way round)
* Changed some namespaces to reflect file structure
2007-10-05 10:14:42 +00:00
MW 652654176a more refactoring 2007-10-03 07:50:07 +00:00
MW 9b1eefbcde Some continuation of lbsa71's refactoring of the CommunicationsManager. 2007-10-03 06:20:00 +00:00
lbsa71 b5eaea7b0c * Moved setup of LocalInventoryService and LocalUserServices to the app layer
* Killed off 'parent' relation from LocalUserServices to CommunicationsLocal
* Deleted obsolete project InventoryServiceBase
* Deleted superfluous createCol function
2007-10-02 00:00:12 +00:00
lbsa71 863195612b Reverting back to 2017 since 2018 were causing Linux breakage; reopening Tleiades patch 444 and 445. 2007-09-27 14:57:43 +00:00
lbsa71 8143c597fc * Tleiades grid mode inventory (#444) - thanx Tleiades!
* updated to rev 1413 on libsecondlife.dll and libsecondlife.dll.config (#423)
2007-09-27 13:25:45 +00:00
lbsa71 eb8640f368 * Now the OGS1GridServices has a LocalBackEndServices that it forwards intra-instance requests to
* Every Scene has a ClientManager (as every dog it's day) since two scenes can have the same circuit as client.
2007-09-25 06:33:18 +00:00
lbsa71 3ac43d0120 * Removed some more fields from CommunicationsLocal
* added OnLoginToRegion to CommunicationsLocal
2007-09-24 23:58:43 +00:00
lbsa71 00ddeebf57 * So, ok, maybe a bit harsh to explode on grid inventory calls. 2007-09-24 09:19:31 +00:00
lbsa71 ee5f069e2a * Now there's only one UserService 2007-09-24 07:53:26 +00:00
lbsa71 1302ef44e3 * Started major restructusing of comms to prepare for better grid and region functionality
* Working towards one shared set of services
* Killed off two projects with very little functionality
2007-09-24 07:30:30 +00:00
lbsa71 9ccab46ae8 * Trying to streamline CommunicationsManager 2007-09-24 05:30:03 +00:00