Commit Graph

213 Commits (d845da215f8d30ef3f34a3c207fb892c815d1fac)

Author SHA1 Message Date
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
Sean Dague 6acaabefc3 revert r2162 as it completely clobbered all the work on
the ChatModule by MW and myself.  Couldn't find Adam online
after that rev went in.
2007-10-22 15:37:54 +00:00
Adam Frisby c4707a284f * Major ass commit.
* Sqlite Storage Engine now supports terrain -- however be aware that every terrain revision stored will at 512KB to your database file. At the moment it is storing every revision from the first.
* Fixed an issue where by noverbose mode would display lots of useless junk. Noverbose mode is now quite usable.
* Fixed a whole bunch of console message issues such as naming and categorisation
2007-10-22 15:23:48 +00:00
MW 2681de366b Made some changes to the load/save xml format, So that the old format can still be used, I have added new console commands of "load-xml2" and "save-xml2", if the old versions worked for you then please continue using them (at least for now). The new versions haven't been tested that much, so their format could be subject to change. 2007-10-22 11:06:54 +00:00
Sean Dague 139994757c changes to pass nini config object to the modules that get
loaded so that they may read out any bits they are interested in
2007-10-19 20:27:34 +00:00
mingchen f756b1ee1c *Added -useexecutepath to use the path of the .exe as the path to find configuration and libraries and not the current working directory. 2007-10-19 19:20:18 +00:00
lbsa71 46700d3b7d * Total refactoring of Asset Server for massive win
* There is now a AssetServerBase
* lolcat in ur assets
2007-10-19 07:46:03 +00:00
Charles Krinke 884edac78e Add gryc's patch to run commands in a shutdown_commands.txt file when the sim is shutdown. A config setting has also been added to OpenSim.ini. Thank you very much, gryc. 2007-10-18 02:13:06 +00:00
Charles Krinke fc9f0267ab Add "force-update", "command-script" & "show modules" to console help. 2007-10-18 01:42:47 +00:00
lbsa71 77459edb70 * Chillken Patch #417 - upgraded version numbers to 0.4 - thanks Chillken! 2007-10-15 06:03:04 +00:00
Tleiades Hax 5a1e896edc OpenSimMain now respects the asset_plugin paramter, and storing of assets will *not* throw an exception 2007-10-13 12:35:37 +00:00
Tleiades Hax f6aeff6cc3 Added capbility to use MySQL as the database backend in stand alone mode for assets and inventory.
Added asset_plugin key to "StandAlone" section of OpenSim.ini
2007-10-13 09:21:08 +00:00
Tleiades Hax e8c1de8e72 2007-10-13 09:10:53 +00:00
Tleiades Hax 1232eb1c58 Asset server implementation. Again one of these "plumbing" releases, where no real functionality has been introduced, but ground work has been made, enabling the asset server, and preparing the sim server to query the asset server.
Introduced an "IPlugin" interface, which plugins can inherit from.
2007-10-13 07:26:21 +00:00
lbsa71 dbdacc26a4 * Now loading modules from ScriptEngines directory as well. 2007-10-10 18:40:09 +00:00
lbsa71 a40e7100a2 * Gave ModuleLoader some good lovin'
* Introduced ModuleLoader.PickupModules that currently picks up IRegionModule:s from /bin
* Made LogBase thread-safe (or at least not thread-ignorant)
* Ignored some genned files
2007-10-10 18:24:13 +00:00
MW 710b8375a9 Some tiny refactoring 2007-10-05 11:40:30 +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 2219ccc5b0 * Fixed Culture-variant parsing of config options 2007-09-25 01:20:30 +00:00
lbsa71 40468f18a4 * Encapsulated all CommunicationsManager services 2007-09-24 05:15:13 +00:00
lbsa71 5818958a9a *** CHANGED CONFIG BEHAVIOUR ***
* Changed really strange LocalSettings behaviour with enforcing hard-coded plugin names if none supplied
* UserServices and InventoryPlugin will only load if supplied with filename
2007-09-24 02:41:13 +00:00
lbsa71 b3eeb5a8dc * Purged 'Regions' code pending Agent layer grok.
* Changed so prims aren't loaded until AFTER parcels.
* The region startup flow is still an ungodly rats nest.
2007-09-23 23:55:29 +00:00
lbsa71 409bcd999d * Continuing refactoring of presence
* Deleted stub ScenePresence.Body.cs
  * Added stub Region classes

The idea is to, at first, have every ScenePresence have one RegionPresence, moving code over to it until we can detach the two classes and not have a ScenePresence for every RegionPresence.
2007-09-21 03:13:49 +00:00
lbsa71 ca611c6668 * even more renaming and refactoring; the cleaning woman is on call. 2007-09-20 23:47:32 +00:00
lbsa71 14d5a2e9b7 * moved SceneManager to RegionApplicationBase
* Implemented SceneManager.StopScene() and Scene.Stop()
* Some SimpleApping
2007-09-20 07:49:11 +00:00
lbsa71 4ce0c0794a * Added TryGetAvatar to SceneManager
* Refactored some names for clarity
2007-09-20 05:02:44 +00:00
lbsa71 26406efd55 * Made ClientViewBase abstract
* Deleted unused m_consoleRegion
2007-09-18 08:38:21 +00:00
lbsa71 df58154781 * Moved some commands from Scene into SceneManager so they could be used with 'root'
* Removed some duplicated commands
2007-09-17 07:31:15 +00:00
lbsa71 b3d2f8b8e2 *doh* 2007-09-17 07:10:23 +00:00
lbsa71 6961013c24 * CHANGED SOME CONSOLE COMMAND BEHAVIOURS
* Normalized 'change-region' so (almost) all commands are context sensitive (use 'root' or '..' to set 'all scenes' context)
  * 'terrain-sim' is thusly obsolete, use 'change-region', followed by 'terrain'
  * Introduced SceneManager to administrate operations on group of scenes and moved relevant funcs there.
    * In it, there's a ForEach(Action<Scene>) that either passes all scenes, or only current scene depending on context.
  * Changed default prim backup (save-xml/load-xml) xml to "prim-backup.xml"
  * Changed Disable/EnablePermissions to BypassPermissions = true/false;

Also:
  * Removed unused and non-existent project ref
2007-09-17 06:57:17 +00:00
Dalien Talbot 1703cacaab Added CLI "debug packet 0..255" to enable the in/out packet dumps with various verbosity 2007-09-13 16:39:04 +00:00
lbsa71 b112539f95 * minor refactorings 2007-09-11 14:20:09 +00:00
Sean Dague ffe9c9374a mass update of urls in source code to new website 2007-09-10 08:14:38 +00:00
MW 22dbe82b26 A couple of fixes to make sure db4o gets set as the default asset database. Also added a couple of console output lines to try to make it easier to tell which asset storage system is in use. 2007-09-10 07:48:22 +00:00
MW 91cc820f34 Added "asset_database =" option to opensim.ini, so the asset database can be selected. Currently set default back to db4o until more people test using sqlite. 2007-09-10 07:23:43 +00:00
MW 15423539f9 hooked up sdague new sqlite asset database provider to the old asset system. So we can still use sqlite for assets while we wait for the rest of the new asset system to be wrote.
Needs more testing, so if it causes problems will have to swap back to db4o.
2007-09-10 06:45:54 +00:00
MW c29df824c2 Converted the LSL scripting engine into a IRegionModule, so now all "modules" share a common base interface and are loaded from the single loader. (It seems to work fine, but I have left the old scriptengine loader, incase we have to change back).
Removed the reference to OpenJpeg in the DynamicTextureModule, to see if that was causing the build problem someone is having. 
Added a Temporary fix for the "existing connection was forcibly closed by the remote host" exception on windows when a user logs out of a multiregion instance. 
Some early work to prepare for improving the way clients are updated (about prims etc).
2007-09-08 07:50:31 +00:00
MW e58a5c7a95 Fixed it so "shutdown" command works when a region is set as the active console region. 2007-09-04 18:28:35 +00:00
MW 710856e3d3 Removed the exit-region command, now use "change-region root" or "change-region .." to change back to root level. [Would be nice if the command prompt changed to show what the current region was, but think that will need changes to the console code so for now it will have to stay as it is]. 2007-09-04 17:53:21 +00:00
MW 0eef82291e Added "show modules" command that if at root level will display a list of loaded "shared modules" (modules instances that are shared by multiple regions) or if a region is set then will display the list of local modules loaded in that region.
Can now use "show users" when a region is set, to have a list of users in just that region displayed.
2007-09-04 17:09:47 +00:00
MW d7b7ff3d49 Using change-region without a region name will now display the currently active region's name. 2007-09-04 16:48:06 +00:00
MW 16cbc35f0c Fixed it so change-region works with region names that have spaces in them.
Fixed it so that change-region gives some feedback to show if its worked (found the region) or not.
2007-09-04 16:39:44 +00:00
MW bfd36e2e83 Some work on Module loading/management.
Some more modules templates classes (hoping that someone will pick some of these and work on implementing them).
Early version of the "Dynamic Texture Module", although currently there are no render modules included (so not really functional without them). 
Added osSetDynamicTextureURL script function, for attaching a dynamic texture to a prim. 
Some work on the console command handling. Added "change-region <regionname>" and "exit-region" so that after the use of change-region, the commands entered will apply to that region only. Then use exit-region to return to the top level (so commands then function as they did before and either apply to all regions or to the first region) (Note: this hasn't been tested very much)
2007-09-04 13:43:56 +00:00
Tedd Hansen d03000062a Config option for loading ScriptEngine (wjordan)
Removed project file for ExcensionsScriptModule
2007-08-30 18:51:22 +00:00
MW e1505be97f Added some place holder classes for various modules.
Some work on the asset cache, can people please test this. including on one of the public systems so we can see if it causes problems with multiple users.
2007-08-30 13:47:04 +00:00
MW 7915adc6c5 Corrected the namespace in OpenSim.Region.Physics.Manager, so now namespace should equal project and directory. 2007-08-28 18:40:40 +00:00
MW 31b895681a As part of our "we aim to please" commitment, have added the ability to create a user in one command line: "create user firstname secondname passwrd regionX regionY". This allows the use of the "command-script" feature. So to add a bunch of new accounts, just create a text file, and add a line as above for each account. Then in the opensim console, type: "command-script filename". 2007-08-28 18:09:36 +00:00
MW 8e3b2392d1 Start of trying to make Region/Scene more modular.
Added preliminary IRegionModule interface.
Also have a work in progress way of Modules registering optional API methods (kind of like Apache optional functions). But there must be a cleaner/nicer way in c# of doing these than the current way.
Added three work in progress modules: ChatModule (simple handles in world chat, but by moving this to a module, we could support other types of chat modules, ie like a irc - opensim bridge module. ) , AvatarProfilesModule and XferModule. 
Moved most of the code from  Scene.ModifyTerrain() into the BasicTerrain library, as the start of trying to make that more modular. 
Stopped Child agents showing up as part of the "show users" command.
2007-08-28 14:21:17 +00:00
MW a45c4626fe Fixed the bug that sent a region port as the CAPS url, instead of sending the httpListener port. 2007-08-27 16:21:16 +00:00
MW 653a4ff22d Deleted a few old files that are no longer used.
Deleted the GridInterfaces projects, and for now moved the old local asset server into Framework.Communications, as we prepare to rewrite the asset cache and asset server.
Deleted Framework.manager as I am sure this is no longer in use.
2007-08-27 15:34:21 +00:00
MW 9bb22e3f06 Applied dalien's "show users" patch 2007-08-25 20:44:06 +00:00
MW 8b4955f6c1 Hopefully fixed the issue of inventory not working for the master account. (Note you will need to delete userprofile.yap for this to take effect.) 2007-08-24 16:30:27 +00:00
MW 4276a352bc Small bit of refactoring to the startup command script code (moved it into a separate method), so that I could add a new CLI command of "command-script <fileName>", so that as well as the startup command script still being processed on startup. A user can create other command scripts and use the single command ("command-script <filename>") to run them at any time. Could be useful for trying out various configurations etc. 2007-08-24 16:17:57 +00:00
Tedd Hansen 5a86fd2c31 (Untested) Scripts are individually loaded into objects (on rez), and event fired likewise. Bugfixes coming in next commit. 2007-08-22 18:09:38 +00:00
MW b7134c834c Shift and Drag copying should now work correctly. [This was one of those stupid little one line bugs that was so much fun to track down that I decided to spend a few hours on it)
Linking groups should now work better than it did, but still a bit of work to do on getting the rotations of all the parts after linking right. 
Added part of dalien's #301 patch (xml loading/saving related parts with some small changes)
2007-08-21 16:25:57 +00:00
MW 252b48fb3e Can now turn on/off server side permission checking (on prim editing etc) from the opensim.ini file. Just add a line to the Startup section like : serverside_object_permissions = true
Changes /editing that are made to clothing/ body parts in your inventory should now be saved between logins/ restarts.
2007-08-21 13:21:03 +00:00
MW c89db49f3c Sqlite datastore should now save the textures and extraparams data (used by sculpties) correctly. [Really need to add a ExtraParams field to the sqlite database though, but for now I have combined their data so that we don't lose backward compatibility, know a couple of people have been using the datastore already].
Now have a rough day/night cycle (the movement of the sun needs to be made smoother but for now it is better than we had I think).
Added dalien's patch (issue 294) for saving and loading prims to a xml file (think he will be modifying these to be import/export functions and maybe writing a xml datastore for backups).
Some preliminary work on task inventory (ie object's/prim's inventory).
Added place holder data for AvatarProperties (ie a avatar's profile). Should we store this sort of data on the user server or have another server for it (a normal webserver should work). 
Added a few more method to IClientAPI.  
Sure there is something I'm forgeting.
2007-08-19 13:35:20 +00:00
Adam Frisby d2e48c8014 * Added new terrain-sim <simname> <terrain commands...> function to run terrain commands on a specific sim.
* Made arguments for terrain save grdmap optional. Uses defaultstripe if no argument specified.
2007-08-17 22:44:34 +00:00
Tedd Hansen fcf7db7272 Pimped up Default.lsl. Now featuring a touch counter.
Changed "ObjectID" in ScriptEngine to IScriptHost reference. Events will now be queued based on IScriptHost reference instead of string ID of object. Removed "root" object reference in script.
2007-08-17 21:24:38 +00:00
mingchen d3660ed269 *Moved network_servers_info.xml into OpenSim.ini under [Network] 2007-08-17 15:45:49 +00:00
MW 67873b8614 Deleted old inventoryCache.cs 2007-08-16 16:57:30 +00:00
MW b6c48c53b2 Can now set the plugins for standalone mode's Inventory database (default sqlite) and for its user database (default DB4o). Currently changing the user plugin to MySql should work (if you have MySql setup (should be same as for grid mode). There is also a MySql provider for the inventory but not 100% certain if that is finished and functional (will need to check with Adam on that). 2007-08-16 11:24:40 +00:00
mingchen ae20503dae *Added the ability to run commands after all regions have started up
*By default, it is set to startup_commands.txt. Simply add a list of commands separated by a new line to be run or change the file by changing the path of a startup commands file in OpenSim.ini
2007-08-15 19:08:27 +00:00
Adam Frisby 5699bb2e64 * Permissions! - You can now only perform certain functions (such as editing other peoples objects) if you have permission to do so.
* Moved OnPermissionError to EventManager - now triggers a standard blue alert.
* Terraforming now requires permission via the permissions manager. [Defaults to admin-only]
* Permissions manager is now substantiated in Scene
* Buttload of new permissions added.
* Estate manager operations now require various levels of permission to operate
* OGS1 now produces 'summary reports' for a commsManager of each scene it maintains connections for. Reduces grid network traffic for ping checks.
* Added new "permissions true" / "permissions false" console command to enable or disable permissions.
2007-08-15 14:10:26 +00:00
Tedd Hansen 09e1f5f22e Correct caps of Default.lsl for Linux. Thanks again krinkec. :) 2007-08-14 16:42:00 +00:00
Tedd Hansen afaa12a9e2 ScriptEngine: Some error handling, logs to logger 2007-08-14 15:59:36 +00:00
MW a228b5984e Start of Inventory service, currently only (partially) functional in standalone mode and using sqlite).
In standalone mode, if you have account authenticate turned on (setting in opensim.ini) then when you create a new account, a set of inventory is created for that account and stored in database (currently only a set of empty folders). Then during login the database is search for that set and sent to the client in the login response.
More functions will be added soon, like creating new folders (and a bit later items) from the client inventory window.
2007-08-14 13:54:46 +00:00
Tedd Hansen 7b2663a41e Disabled ScriptEngine until I add error handling tomorrow 2007-08-13 21:25:16 +00:00
Tedd Hansen 79dc1a4f7d Common script for all objects (Default.lsl). ScriptEngine touch_start event now works, but llSay only outputs to server console. 2007-08-13 20:55:07 +00:00
Tedd Hansen 876f71cf93 (DotNet) ScriptEngine is now loaded and added to Scene during startup. 2007-08-13 19:39:51 +00:00
Tedd Hansen c2c21ea170 Setting culture for startup thread to invariant. Config now read correctly on alternate regional settings. 2007-08-13 18:33:03 +00:00
MW 7fbc3266df The Welcome message /message of the day shown in the client during login, can now be set from the .INI file for standalone mode (change the standalone_welcome = "Welcome to OpenSim" line). 2007-08-13 13:41:54 +00:00
MW 822881eac5 Added a new column (SceneGroupID) to sqlite3 table (sqlite3-prims.sql) so that we can tell what prims belong to the same SceneObjectGroup. If sdague has a different method in mind when he gets back then he can change it then. 2007-08-11 20:20:33 +00:00
MW 114807b9d1 Made account Authentication optional in "sandbox/standalone" mode. Just change "standalone_authenticate = false" to be true in OpenSim.ini. Then as per grid mode, you can use the "create user" command to create new accounts. 2007-08-11 11:59:51 +00:00
MW afa445660e I'm sorry but it has now became a case of either it goes or I go, so I'm removing the creating a different named log file every time opensim is ran (I can't take doing a bit of developing then finding 500 log files in the bin folder), and as opensim allows multiple regions in a instance there should no longer be the need to run multiple instances of opensim from a single folder (which was I believe the reason that code was added ).
If someone else can't live without the multiple log files then I guess...
2007-08-10 17:40:57 +00:00
MW 79f0ac82e3 Some cleaning up and removed a few old files no longer in use.
Temporary have had to rename the OpenSim.DataStore.MonoSqlite project to OpenSim.DataStore.MonoSqlite1, as I'm not sure what was done to stop the old project name being included in the VS2005 solution.
Also some config changes:
OpenSim now has a INI (OpenSim.ini) file that it will read some config settings from (if the ini file exists).
Added Mono.Data.SqliteClient.dll so that we can use the same code for sqlite on Windows and mono/linux. (from what I can tell Mono class libraries have a MIT license so there should be no problems with us including this dll).
So now to get the basic prim storage working , you need to first create the sqlite database file from the sqlite3-prims.sql in share directory. Then in the OpenSim.ini file, change the storage_plugin so it points to OpenSim.DataStore.MonoSqlite1.dll (storage_plugin = OpenSim.DataStore.MonoSqlite1.dll). Then in your region.xml files change the DataStore value so it is the name of your database file (at the moment you need a different sqlite3 database file for each region).
2007-08-10 17:22:54 +00:00
MW a56a17fab2 Making sure my local working copy is in sync with svn before I start the job of enabling the new SceneObject classes. 2007-08-09 12:59:42 +00:00
MW 4c9cc74ac2 Re-added Grid mode. (which had got removed/disabled in revision 1515) 2007-08-06 16:33:54 +00:00
lbsa71 fdbb891659 * commands are done foreach instead of by [i]
* fixed 'show users' format bug.
2007-08-06 14:14:43 +00:00
lbsa71 07b011af3a * renamed some scene to world
* passing on NotImplemented from Update()
2007-08-06 13:40:45 +00:00
lbsa71 9924f35613 * encapsulated firstname/lastname on ScenePresence
* fixed 'users' console command
* minor refactorings
2007-08-06 13:21:30 +00:00
lbsa71 9bdeb8af6f * SimpleApp works again:
* NetworkServersInfo settable without config file
  * DefaultHomeLoc throws if getted before setted
  * Removed nonsensical sandbox distinction
  * Refactored default config file creation

* Some more small refactorings on shapes
2007-08-06 10:48:40 +00:00
MW f1e10e555d clean up of startup config settings (command line args etc),
Now using the Nini configuration library (suggest we look into using this for the rest of our config handling, as it provides a standard interface for command line args, INI files, Xml files, .NET config files, and windows registry). 
One IMPORTANT change is that to TO START GRIDMODE , you need to now use -gridmode=true .
Also need someone to test it under mono. (there is a dll that has been compiled under mono available, just hoping that we don't have to deal with separate dlls for windows and linux.
2007-08-04 18:15:48 +00:00
Brian McBee c1e88d0b8c ATTENTION!!! Change to default to "sandbox" (did we come up with a better name yet?) mode. Added -gridmode switch to run that way. 2007-08-03 18:12:55 +00:00
Brian McBee 599a6d32ee Changes to prepare for future possible configuration of separate logdir, configdir, datadir. 2007-08-03 18:01:55 +00:00
Adam Frisby bdb2ad2d43 * Switched back to NullStorage until crazy DB4o error is fixed. 2007-07-29 09:59:44 +00:00
Adam Frisby 038774de30 Commit 1/2
* DB4o no longer crashes the sim on Startup
* DB4o now crashes the sim on shutdown.
* Variety of console verbosity fixes.
2007-07-29 09:37:29 +00:00