Commit Graph

301 Commits (fbc6c16fd75a14663b5544ef9538cbc406569bb8)

Author SHA1 Message Date
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
Tedd Hansen 785b641272 fixed a timing bug in config re-read. Apparently there is 1000000000 ns in one second... 2008-02-02 07:53:13 +00:00
Tedd Hansen 2db5de3e72 Added commands to change config file from console:
CONFIG SET section key value value value
CONFIG GET section key
CONFIG SAVE (it saves, but does it save correctly?:)

ScriptEngine will react correctly to any config change made while it is running.
2008-02-02 07:35:51 +00:00
Tedd Hansen 7bd3ecfc2a Bugfixes. Now it even reads configuration before it uses it! ;) 2008-02-02 04:35:08 +00:00
Tedd Hansen 34d21ac94b Added some error checking to MaintenanceThread, no-crash (just log) loading of script engines, and support to load multiple script engines 2008-02-02 00:09:55 +00:00
Tedd Hansen 694642a482 Moved iniFilePath to a static and put it in OpenSim.Application.iniFilePath.
Refreshing config based on this.
Temporarily disabled feature to refresh config file while running.
2008-02-01 23:56:09 +00:00
Justin Clarke Casey a4bf98f4ba * Add asset/texture cache statistics to region server console
* You can type 'stats' at the REGION# prompt to get this information in grid or standalone mode
* Don't take these numbers as gospel yet, since for some reason textures displayed from inventory which require downloading from the server are being recorded as assets 
rather than textures
* But I don't have any reason to believe they aren't broadly accurate.
* I've put these in so I can tell whether the high memory usage on regions is down to the asset/texture cache
* This will require a prebuild
* DEV: Only adds needed to be implemented since, as far as I can tell, assets cached are currently never released.  For my part, seeing large cache memory numbers will 
provoke me to think about doing something about this.
* DEV: Now switched to using a singleton to get the stats reporters rather than threading the object through various layers
* DEV: Will refactor the other server stats reporters to do this in one of the next commits
2008-01-31 00:42:31 +00:00
Justin Clarke Casey 55dc0dc267 * Patch from Ansi (IBM)
* Allows the creation of a user via the RemoteAdminPlugin.
* Many thanks!
2008-01-29 14:43:45 +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
Justin Clarke Casey 2df8918aed * Persistent prim inventory script storage is now turned on by default
* Persistence of things apart from scripts will be implemented later on - I at least want to do some work with asset server stats so loading can be monitored first.
* No MSSQL implementation as of yet
* Progress can be followed at http://opensimulator.org/wiki/OpenSim:Prim_Inventory_Persistence
* Please let me know if you see issues resulting from this change.
2008-01-23 16:44:03 +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
Tedd Hansen d23222cbc6 Added block for scenario: global exception handler called in loop when exception happens inside global exception handler
Added InnerException to output
2008-01-18 23:45:16 +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
Justin Clarke Casey 785826231e Print out the exception as well as APPLICATION EXCEPTION DETECTED when the server hits something terminal.
This was the original intention, but the line order was slightly wrong.
2008-01-14 18:02:37 +00:00
alondria d3fa814458 Added notice on console to change storage_plugin if set to OpenSim.DataStore.MonoSqlite.dll before replacing with OpenSim.Framework.Data.SQLite.dll 2008-01-12 17:18:42 +00:00
alondria 4e643eba5f If OpenSim.ini uses OpenSim.DataStore.MonoSqlite.dll, have it use OpenSim.Framework.Data.SQLite.dll during runtime. 2008-01-12 17:10:06 +00:00
Tedd Hansen c4684b2d14 And one last time - removed duplicate exception dump :) 2008-01-12 01:30:57 +00:00
Tedd Hansen d0d3812cdf Minor fix to global exception handler - now only displays unhandled (full crash) exceptions. 2008-01-12 01:27:25 +00:00
Tedd Hansen adbdbc675b Added global exception handler with possibility of reporting crash details directly to developers (disabled for now) 2008-01-12 01:25:35 +00:00
Justin Clarke Casey 82d7fb7522 * Exprimental prim inventory persistence can now be enabled by users.
* This can be turned on by setting storage_prim_inventories_experimental = True in OpenSim.ini
* Implemented for sqlite and MySQL, no MSSQL implementation yet
* As an experimental feature, there is no guarantee that this won't take down your region or that the db representation won't need to change.
* More (and continuing) details at http://opensimulator.org/wiki/OpenSim:Prim_Inventory_Persistence
2008-01-11 18:44:53 +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
Sean Dague 7ba9c13fa8 default to OpenSim.Framework.Data.SQLite which is the new storage
dll location
2008-01-09 18:50:12 +00:00
Justin Clarke Casey 3e75dede1b Persistent prim inventory phase 5. Restart scripts contained in persisted prims on region start.
No user functionality exposed yet - no ini switch to enable persistence or restore.  A bit more initial work to do.
2008-01-07 02:12:06 +00:00
Tedd Hansen 0fb0a6816d Only one queue is used for load/unload of scripts.
So loading/unloading of scripts are now done in same sequence as they are called.
2008-01-05 20:05:29 +00:00
Tedd Hansen d430b7d815 Removed ModuleName because its like that and thats the way it is (according to Mono) 2008-01-05 17:15:38 +00:00
Tedd Hansen 704e491c3a Added ModuleName to /OpenSim/StartUp modules + debug messages during startup 2008-01-05 16:58:30 +00:00
Tedd Hansen 130dea789a Added some comments + Ahlotta Debugging in startup sequence 2008-01-05 16:38:37 +00:00
Tedd Hansen 966f639ad6 Changes to ScriptServer to (hopefully) make it compile on both .Net and Mono.
Some debug info for startup added to find bugs. ++
2008-01-05 15:48:02 +00:00
Teravus Ovares db3edff5d5 * Applying jhurliman's LLSD login enablement patch.
* I'm keeping it deactivated until some issues are resolved.
* I'm patching it in deactivated so the patch doesn't get outdated
* I've deactivated it by commenting out the handler for the application/xml+llsd content type.
* While I've tested this as much as possible on my setup and found the deactivated code doesn't cause any problems, consider this update experimental (event though it's deactivated)
2008-01-05 06:05:25 +00:00
mingchen 81b4c7be3e *Added ability to skip any use of the console when configuring and assume default value. This is useful when the server is running by itself and a new region request is added without sufficient information 2008-01-04 14:14:15 +00:00
Brian McBee 0e966baa2c Tweaked "show users" formatting, added user's IP address to display. 2008-01-03 19:38:58 +00:00
Tedd Hansen 198dea28ad Full .dll-name in config option for ScriptEngine. Loading only scriptengine specified in config.
ScriptServer will still not start!
2008-01-02 15:58:33 +00:00
Justin Clarke Casey db9a7eee51 Correct location of DotNetEngine. Remove some debug stuff since my addins problem turned out to be local. 2007-12-31 17:52:48 +00:00
Tedd Hansen fefb00bc91 Changed from "Load all .dll's in ScriptEngine" to "Load only DotNetEngine" (temporarily hardcoded) to avoid problems with two scriptengines existing in ScriptEngine folder. 2007-12-31 11:38:08 +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
Justin Clarke Casey 348e5b7648 Make region storage Sqlite by default rather than NullStorage 2007-12-17 23:06:41 +00:00
Sean Dague 368333e52c make a change to make it possible to get access to the DefaultConfig
from other places.
2007-12-14 17:50:02 +00:00
Jeff Ames 8d995a5a5d Minor cleanup 2007-12-13 18:45:32 +00:00
Teravus Ovares 9abe4b2ebf * Start listening for client connections immediately after a region initializes during initial instance startup. (as opposed to waiting for 'all of the regions' to initialize first)
* Removed hackish timer based client notification about regions up (no longer needed)
* Added a comment about an inventory based login failure that causes me lots of greif testing and debugging.  Comment includes *why* it's failing.
2007-12-12 00:38:57 +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
Jeff Ames a45118d35e added one more command to the console help. 2007-12-07 02:00:35 +00:00
Jeff Ames 73599c0f25 removed obsolete Verbose() function 2007-12-06 18:17:44 +00:00
Jeff Ames a47176ee92 more minor cleanup. added some command descriptions to region server help. 2007-12-06 17:41:21 +00:00
Sean Dague 9c81b8a430 From Gary Chernega (IBM)
This patch adds x, y, and z offsets to the load-xml command.
If you had a prim at 100,100,20 thats where it would get loaded everytime. 
This patch lets you place it at an offset from 100,100,20.. as such:

        load-xml <filespec> -newUI 3 1 2

Loading the prim at 103, 101, 22
2007-12-05 18:45:05 +00:00
Teravus Ovares 71fd737a66 * Applied MSSQL Patch from akokko, Thanks! akokko
* This hasn't been tested in MSSQL mode, however it's been checked to make sure it doesn't cause any issues with mySQL/SQLlite
2007-12-05 15:53:58 +00:00
Adam Frisby 91c1e8a734 * Fixed a whole bunch of console messages. 2007-12-04 10:13:13 +00:00
MW 690e517240 Added a flag to load-xml console command, that will generate new uuids for the loaded Sceneobjects (as per mantis request #53).
To use append "-newUID" to the end of the command, so new format is : "load-xml <filename> -newUID". 
If you don't add the "-newUID", then the uuids in the xml file will be kept.
2007-12-03 14:57:39 +00:00
MW 634a22185d Applied patch from mantis issue #110 (with one or two tiny changes) , thanks mpallari/_SomeOne_ 2007-12-03 09:50:33 +00:00
Adam Frisby 981c97502a * Moved XMLRPC Controller to a Application Plugin. Requires testing. 2007-12-03 07:06:46 +00:00
Adam Frisby 4b95eb589b * Applied a few commits left on my laptop to OpenSimController. 2007-12-03 06:29:36 +00:00
MW 0b2934a1b1 added support for a console command script to be ran every 20 minutes (will make that time changable in a future commit), to use add a entry under the Startup section of opensim.ini , with: timer_Script = "<filename>" (the filename being the console "script" you want to be ran every 20 minutes). This hasn't been tested very much so.. 2007-11-30 15:10:47 +00:00
Teravus Ovares 31cec30aa0 * Extended our semi-stupid implementation of in world object permissions to show a user's client that it can't edit a prim if it doesn't have permission.
* Permissions is due for a big revamp. The current way it's done is a hack at best.
2007-11-30 04:54:15 +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 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
mingchen 3ce6116e4a *Shared Modules have feelings too! -- Shared Region Modules that are found in DLLs are now correctly loaded automagically. 2007-11-24 01:31:42 +00:00
Teravus Ovares d7ec786244 * Added a nice 'The Region is going down.' message to the user when the sim owner issues 'shutdown' on the console. 2007-11-24 00:19:48 +00:00
lbsa71 7ef1f887ea * the export-map now takes 'CurrentOrFirst' Scene, not necessarily the CurrentScene (as that is not set initially, and hence the command was a bit unintuitive) 2007-11-23 19:00:25 +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 87b07c19ef Added "export-map <filename>" console command to the region server that will export a jpg image of the world map covering a 20 X 20 regions area centred on the current active region (ie the one set with change-region). While this should work in grid mode (if using the grid asset server and if my last commit did fix the world map), you might need to call the "export-map" command then wait a little while (60 seconds?) and then call it again so that you make sure the region has got all the texture assets from the asset server. 2007-11-18 12:04:21 +00:00
MW 7f99644864 Attempt to get World Map working in Grid mode, will need to be using the grid asset server for it to work correctly and has only been quickly tested in a three region grid.
Moved PermissionManager creation out of the Scene constructor and instead a PermissionManager is passed to the constructor as a param. So that we could create and use custom permissionsManagers.
Added AllowMovement property to ScenePresence which can be used to stop movement of avatars (for example in a custom region that wanted avatars always in one place).
Added PermissionManager call when copying objects, although currently the call will always return true so that it allows copying in places like Wright Plaza. 
A few other changes/fixes.
2007-11-18 11:11:44 +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
lbsa71 3aed77bd2c *** BIG CHANGES : REGION STORAGE MOVED : UPDATE YOUR OpenSim.ini FROM OpenSim.ini.example **
* Now moved region storage from region to application, so we have one storage per application, instead of one per region.
* Changed so that the region store providers use connectionstrings, not filenames
* Removed various unfit fields and properties (call me Darwin)
2007-11-15 19:53:10 +00:00
lbsa71 57ff76850d * Added MySQLDataStore (adapted from MonoSqlite
* Made startup a little bit more forgiving on dll load
* Minor renamings and musings
2007-11-15 15:32:28 +00:00
MW b42dfff4b8 Added "show regions" console command that displays the list of regions in that instance and their X , Y locations. (as requested/suggested by ckrinke) 2007-11-14 22:03:11 +00:00
MW 448612db62 Added "remove-region <region name>" console command that "should" remove the named region/scene. 2007-11-13 16:31:11 +00:00
MW 297cc7ef4f Some work on cleanly removing Regions. 2007-11-13 12:23:05 +00:00
Teravus Ovares 9b6e747d78 * Sets ZeroMesher as default. (If you want to cut and hollow, you'll need to uncomment the Meshmerizer in OpenSim.ini)
* Fixes a geometry issue in ODE when using ZeroMesher
2007-11-12 16:22:23 +00:00
Teravus Ovares ec77e1eb17 * adds flag in OpenSim.ini for disabling physical prim. Look at OpenSim.ini.example in the bin folder for an example. 2007-11-11 00:08:18 +00:00
Teravus Ovares cb07ba0d68 * Moves the Meshmerizer to a separate plugin
* Experimental.   Linux Prebuild needs testing.
* One more update after this to remove the ODEMeshing directory....
2007-11-10 19:13:52 +00:00
lbsa71 ee1fcc729c * Added better logging to AssetCache
* AssetCache now ignores duplicate uploads
* some m_ refactoring
* ignored some bins
2007-11-06 11:10:45 +00:00
MW 6bb1e91d41 Changed it so opensim.exe should scan for new application plugins every time its ran, rather than just the first time (or when the addins and addin-db-000 directories were deleted). 2007-11-05 12:24:07 +00:00
MW 1467720f60 Added forgotten ApplicationPlugins directory and moved the load region code out to a plugin.
To make opensim search for the new plugin, you will need to delete the "addin-db-000" and "addins" sub directories in bin if you have them.
2007-11-04 22:16:13 +00:00
Jeff Ames e0cfa89d83 normalized line endings 2007-11-04 14:52:19 +00:00
MW ef2cea41ce Added forgotten IApplicationPlugin file 2007-11-04 14:38:12 +00:00
MW 039f2c46c0 Added support for OpenSim application plugins (as requested by Adam), which use Mono.addins for loading/management. (which is a pure .net solution so works on both Mono and MS .net, and is under the MIT license, will add the source code for the library later). I also suggest we look into switching to using Mono.addins for our Region module loading management.
A little bit more refactoring of Scene.
2007-11-04 13:48:15 +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
mingchen 51488ee7f4 *Moved region loading into its own interface IRegionLoader
*Added ability to load regioninfo remotely from a webserver from a single file. See share/RegionLoading/HOWTO_REMOTE_REGION_LOADING.txt for more info and an example file.
2007-11-03 15:09:21 +00:00
lbsa71 4fad66f855 * Diuerse beavtificatems 2007-11-01 19:19:05 +00:00
Sean Dague e729accdac redefault to sqlite for all services, especially now that
we can run without a config file
2007-10-31 14:41:04 +00:00
lbsa71 0d528e1d22 * Added a streamhandler that does streams both in and out
* The RestDeserialisehandler now does streams and returns an object instead of string
2007-10-31 12:45:03 +00:00
Tleiades Hax 6a8d8f54e8 Step one on the long march towards grid based inventory. Introduction of an InevntoryServer 2007-10-30 22:42:34 +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 03d49b0217 * ModuleLoader: Privatized some too-public fields
* Scene: Changed name from MakeAvatarPhysical to MakeRootAgent and added ForEachClient
* SceneManager: Added ForEachScene
* Worked some on appearances.
2007-10-29 11:54:31 +00:00
MW 27f003b683 Started the process of cleaning up AssetCache and moving most of the code into modules. Have moved TextureRequest handling (from the client) to a module. But even though to start with I just did a little bit of cleaning up of the existing code, it doesn't seem to work as good as the old code so I need to spend more time on it. So for now am committing my changes but with them not in use. So for now all Texture and asset requests are still handled by the old code in AssetCache. 2007-10-29 09:51:23 +00:00
mingchen d56da1c831 *Replaced -useexecutepath with an updated -inifile extension. You can now specify either a filename (will use the default config path, or you can specify a full path. 2007-10-28 03:41:34 +00:00
Tleiades Hax adf4a3b9fd Added method to create default config file in region server(OpenSim) following along the same priciples as in the other servers. 2007-10-26 15:35:17 +00:00
MW 5b8c31c3bd Temporary fix for a missing Opensim.ini file. 2007-10-26 15:00:35 +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
Tleiades Hax 5e7dba7268 Very early first implementation of grid based assets.
Run this on a major grid, and weep
2007-10-26 11:46:27 +00:00
Sean Dague 461eaf188e fix line endings 2007-10-25 15:43:48 +00:00
Sean Dague 32869aec47 apply http://bug.opensecondlife.org/view.php?id=512 from chillken
which cleans up the verbose logic
2007-10-25 15:34:43 +00:00
Adam Frisby 2048d611cf * Added XMLRPC Controller Module to OpenSimMain which allows XML-RPC queries to be sent to the core application.
* Disabled by default, but has two functions so far -- shutdown (timed or now), and create-region.
* Added SendGeneralAlert function to SceneManager allowing all-user alerts to be sent from OpenSimMain.
2007-10-25 12:13:58 +00:00
Tleiades Hax 51c782d6ad Introduced a build error in the last patch 2007-10-24 04:14:24 +00:00
Adam Frisby 0c9933fd0f * Added "create-region" console command. Syntax: create-region <name> <region.xml filename>
* Spring cleaning.
2007-10-23 12:44:12 +00:00
Adam Frisby 5dad0ed729 * Return of R2162. /Take that SVN!/ 2007-10-22 21:57:32 +00:00