Commit Graph

155 Commits

Author SHA1 Message Date
Sean Dague
f4bec00057 From: Alan Webb <awebb@linux.vnet.ibm.com>
The change makes two principal implementation changes:

[1] It removes the hard coded set of possible asset server client
implementations, allowing any arbitrary implementation that has been
identified to the PluginLoader as an appropriate extension. The
extension point for asset server client extension
is /OpenSim/AssetServerClient. All of the old configuration rules have
been preserved, and any of the legacy configuration values will still
work as they did before, except the implementation is now loaded as a
plug-in, rather than as a hard-coded instantiation of a specific class.
The re-hashing of IAssetServer as an extension of IPlugin made upgrading
of the implementation classes a necessity.

Caveat: I have not been able to meaningfully test the crypto-grid
clients. I believe they should work correctly, but the refactoring
necessary to handle plug-in based initialization (vs constructor-based
initialisation) admits the possibility of a problem.

[2] The asset cache implementation, previously introduce as a hard-code
class instantiation is now implemented as an IPlugin. Once again the
previous (configurationless) behavior has been preserved. But now it is
possible for those interested in experimenting with cache technologies
to do so simply by introducing a new extension for the asset cache
extension point (/OpenSim/AssetCache).

I've tested all of the configuration settings, after applying the patch
to a newly extracted tree, and they seem to work OK.
2009-02-16 12:20:31 +00:00
Melanie Thielker
a8f3d625cb Guard the values used to set the cursor position in the real time console 2009-02-13 20:49:23 +00:00
lbsa71
801da4346a * optimized usings. 2009-02-12 09:53:12 +00:00
Justin Clarke Casey
162a59ba17 * Refactor inventory archive code to allow direct invocation in order to support future unit tests
* Add a file I missed out from the last commit (the build was probably fine without it)
2009-02-11 18:46:51 +00:00
Justin Clarke Casey
04d6a810b6 * More inventory archive invocation to a proper region module
* Not ready for use yet
2009-02-11 17:34:12 +00:00
Melanie Thielker
9bfbfa381a Add proper handling for shared vs. unshared modules to the command
interface. Shared modules will now only get added once, so the command
handler is called once per module, not once per scene. Removal of scenes
has no adverse effects. Nonshared modules will be called for each scene.
2009-02-10 23:15:48 +00:00
Dr Scofield
180be7de07 this is step 2 of 2 of the OpenSim.Region.Environment refactor.
NOTHING has been deleted or moved off to forge at this point.  what
has happened is that OpenSim.Region.Environment.Modules has been split
in two:

- OpenSim.Region.CoreModules: all those modules that are either
  directly or indirectly referenced from  other  OpenSim packages, or
  that provide functionality that the OpenSim developer community
  considers core functionality:

      CoreModules/Agent/AssetTransaction
      CoreModules/Agent/Capabilities
      CoreModules/Agent/TextureDownload
      CoreModules/Agent/TextureSender
      CoreModules/Agent/TextureSender/Tests
      CoreModules/Agent/Xfer
      CoreModules/Avatar/AvatarFactory
      CoreModules/Avatar/Chat/ChatModule
      CoreModules/Avatar/Combat
      CoreModules/Avatar/Currency/SampleMoney
      CoreModules/Avatar/Dialog
      CoreModules/Avatar/Friends
      CoreModules/Avatar/Gestures
      CoreModules/Avatar/Groups
      CoreModules/Avatar/InstantMessage
      CoreModules/Avatar/Inventory
      CoreModules/Avatar/Inventory/Archiver
      CoreModules/Avatar/Inventory/Transfer
      CoreModules/Avatar/Lure
      CoreModules/Avatar/ObjectCaps
      CoreModules/Avatar/Profiles
      CoreModules/Communications/Local
      CoreModules/Communications/REST
      CoreModules/Framework/EventQueue
      CoreModules/Framework/InterfaceCommander
      CoreModules/Hypergrid
      CoreModules/InterGrid
      CoreModules/Scripting/DynamicTexture
      CoreModules/Scripting/EMailModules
      CoreModules/Scripting/HttpRequest
      CoreModules/Scripting/LoadImageURL
      CoreModules/Scripting/VectorRender
      CoreModules/Scripting/WorldComm
      CoreModules/Scripting/XMLRPC
      CoreModules/World/Archiver
      CoreModules/World/Archiver/Tests
      CoreModules/World/Estate
      CoreModules/World/Land
      CoreModules/World/Permissions
      CoreModules/World/Serialiser
      CoreModules/World/Sound
      CoreModules/World/Sun
      CoreModules/World/Terrain
      CoreModules/World/Terrain/DefaultEffects
      CoreModules/World/Terrain/DefaultEffects/bin
      CoreModules/World/Terrain/DefaultEffects/bin/Debug
      CoreModules/World/Terrain/Effects
      CoreModules/World/Terrain/FileLoaders
      CoreModules/World/Terrain/FloodBrushes
      CoreModules/World/Terrain/PaintBrushes
      CoreModules/World/Terrain/Tests
      CoreModules/World/Vegetation
      CoreModules/World/Wind
      CoreModules/World/WorldMap

- OpenSim.Region.OptionalModules: all those modules that are not core
  modules:

      OptionalModules/Avatar/Chat/IRC-stuff
      OptionalModules/Avatar/Concierge
      OptionalModules/Avatar/Voice/AsterixVoice
      OptionalModules/Avatar/Voice/SIPVoice
      OptionalModules/ContentManagementSystem
      OptionalModules/Grid/Interregion
      OptionalModules/Python
      OptionalModules/SvnSerialiser
      OptionalModules/World/NPC
      OptionalModules/World/TreePopulator
2009-02-10 13:10:57 +00:00
Sean Dague
8088802c21 From Alan Webb <awebb@linux.vnet.ibm.com>
These changes replace all direct references to the AssetCache with
IAssetCache. There is no change to functionality. Everything works as
before.

This is laying the groundwork for making it possible to register
alternative asset caching mechanisms without disrupting other parts of
OpenSim or their dependencies upon AssetCache functionality.
2009-02-09 21:47:55 +00:00
Justin Clarke Casey
a034b640da * Add the ability to type help <command> for more detailed help about a specific command if any is available 2009-02-09 20:52:04 +00:00
Melanie Thielker
54c6a920ba Replace the console for all OpenSim apps with a new console featuring command
line editing, context sensitive help (press ? at any time), command line
history, a new plugin command system and new appender features thet let you
type while the console is scrolling. Seamlessly integrates the ICommander
interfaces.
2009-02-07 12:25:39 +00:00
Dr Scofield
9b66108081 This changeset is the step 1 of 2 in refactoring
OpenSim.Region.Environment into a "framework" part and a modules only
part. This first changeset refactors OpenSim.Region.Environment.Scenes,
OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces
into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region
modules in OpenSim.Region.Environment.

The next step will be to move region modules up from
OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and
then sort out which modules are really core modules and which should
move out to forge.

I've been very careful to NOT BREAK anything. i hope i've
succeeded. as this is the work of a whole week i hope i managed to
keep track with the applied patches of the last week --- could any of
you that did check in stuff have a look at whether it survived? thx!
2009-02-06 16:55:34 +00:00
Justin Clarke Casey
732cd838b1 * Make existing module commanders register as help topics
* Typing help will now give a list of these topics at the top (as well as the rest of the current help stuff)
* Typing help <topic> will give information about commands specific to that topic
2009-02-05 21:35:59 +00:00
Justin Clarke Casey
65448cd02d * refactor: Split out module Command class into a separate file 2009-02-05 19:34:23 +00:00
Justin Clarke Casey
18100eee50 * Remove unused region info list from OpenSimBase.
* The same information is available via SceneManager
2009-02-05 18:47:39 +00:00
Justin Clarke Casey
d04025ff3d * refactor: Move module handling code up into SceneBase from Scene, reducing the large number of different things that Scene does 2009-02-05 18:36:53 +00:00
Justin Clarke Casey
a1da605706 * Introduce a new "default" option for asset_database in the [STORAGE] section
* This option makes OpenSim use the usual db based asset service in standalone, and the grid based one in grid mode
* The other options can (local, grid, etc) can still be used explicitly as before
* Also change OpenSim.ini.example and the surrounding explanative text
2009-02-04 18:56:12 +00:00
Justin Clarke Casey
b6ee2f15ba * refactor: Remove the need to separately pass in the http listener to the scene - this is always available via CommsManager 2009-01-06 15:09:52 +00:00
Justin Clarke Casey
266d0fbaae * Apply http://opensimulator.org/mantis/view.php?id=2927 with some changes
* This allows configuration of the assetset and library control file paths to be other than ./inventory/Libraries.xml and ./assets/AssetSets.xml
* This is controlled via the LibrariesXMLFile and AssetSetsXMLFile configuration settings in [StandAlone] in OpenSim.ini (in standalone)
and via the user and asset config xml files for grid mode
* Thanks to SirKimba for the patch
2008-12-29 16:56:48 +00:00
Justin Clarke Casey
3b0db66b92 * Apply http://opensimulator.org/mantis/view.php?id=2775 with small tweaks
* This pushes an identifier for the OpenSim scene to the physics scene.  This allows log messages from the physics scene to identify which OpenSim scene they relate to.
* Thanks Gerhard
2008-12-15 18:39:54 +00:00
MW
11169c0e71 Made BaseOpenSimServer.ShutdownSpecific() public. As the OpenSimBase.Shutdown() includes a Environment.Exit(0); which is not always wanted when shutting down, like from a windows service. 2008-12-02 11:40:22 +00:00
Teravus Ovares
414bf2aaf1 * The equals override of 'Location' is not working as expected. This caused sim restarts to fail because the test that searches for and shutsdown the UDP server listener for that region never found and shutdown the udp server. hence the error message, "only one listener on port".
* This is a high profile candidate for a unit test. (big)
2008-11-28 19:44:44 +00:00
Justin Clarke Casey
7b49c711e9 * minor: Eliminate unused paramter in LocalUserServices constructors 2008-11-28 15:40:44 +00:00
Justin Clarke Casey
0862627b34 * refactor: move CreateUser into UserServiceAdmin 2008-11-28 15:34:30 +00:00
Dahlia Trimble
d8bb20fc1c Thanks SachaMagne for a patch which adds the following console commands:
login-enable : Allow login at sim level (opensim.exe)
login-disable: Stop any login BUT keep the logged avt 
login-status : Return the actual status
2008-11-24 09:53:49 +00:00
Charles Krinke
02fd7751d9 Mantis#2660. Thank you kindly, Ruud Lathrop for a patch that:
This patch adds the option of adding the email when you create 
a new user. This works in Gridmode as none Gridmode. This 
option is also added to RemoteAdminPlugin. With a new handler 
you can create a user with a email.
2008-11-23 03:38:40 +00:00
MW
d01cd9c84f another small bit of startup refactoring 2008-11-10 15:17:50 +00:00
Tedd Hansen
9511a8c763 Work in progress on SECS stuff. Have been holding it off until after 0.6 release. Still messy as hell and doesn't really work yet. Will undergo dramatic changes. AND MOST IMPORTANTLY: Will be conformed to work in coop with todays DNE and XEngine, hopefully one day providing a common interface for all components. 2008-11-08 17:35:48 +00:00
MW
c932aae4c3 a little bit more refactoring of startup 2008-11-06 20:17:20 +00:00
Charles Krinke
c8db23d456 Thank you kindly, Diva for a patch that:
Makies OpenSimBase even more friendly to subclassing
2008-11-06 19:21:50 +00:00
MW
571b94f537 moved the initial loading/setting of the config settings to its own class, ConfigurationLoader. To make it easier to customise the loading of those settings and possible in the future move it to a plugin. 2008-11-05 20:14:52 +00:00
MW
204ef95843 Moved a couple of more configuration fields to ConfigSettings 2008-11-05 18:00:45 +00:00
MW
079469b3f5 more startup/initialisation refactoring 2008-11-05 17:45:56 +00:00
MW
2a249373d3 Moved most of the configuration fields from Opensimbase to their own Class... Framework/ConfigSettings. 2008-11-05 17:18:16 +00:00
Justin Clarke Casey
a88e850ccf * minor: eliminate unused config field 2008-11-03 18:36:04 +00:00
Justin Clarke Casey
8c71954e08 * Use nini to pass config information to the client stack, rather than the ClientStackUserSettings class
* This conforms better to other module usage
2008-11-03 18:33:35 +00:00
Homer Horwitz
38e8853e57 Megapatch that fixes/adds: friend offer/deny/accept, friendship termination,
on-/offline updates, calling cards for friends.
This adds methods in the DB layer and changes the MessagingServer, so a full
update (incl. UGAIM) is necessary to get it working. Older regions shouldn't
break, nor should older UGAIM break newer regions, but friends/presence will
only work with all concerned parts (UGAIM, source region and destination
region) at this revision (or later).
I added the DB code for MSSQL, too, but couldn't test that.
BEWARE: May contain bugs.
2008-11-01 22:09:48 +00:00
Justin Clarke Casey
269303d97d * test: Add basic scene test which merely instantiates the scene right now
* set debug scene name on scene registration, rather than within the Scene constructor
2008-10-31 18:39:51 +00:00
Justin Clarke Casey
3b381523eb * refactor: move loadInv and saveInv command line param functions up to the interactive OpenSim class
* direct module import is temporary
2008-10-19 18:26:44 +00:00
Justin Clarke Casey
f7205da1d9 * move command line parsing code from inventory archive modules to opensim server
* use default inventory archive name if none is given
* other minor cleanups
* this facility is not useable yet
2008-10-19 17:51:42 +00:00
Adam Frisby
54d7be8a49 * Adding CrytoGridAssetClient support - allows encrypting assets that are stored on a potentially hostile grid. This is not DRM, not should be relied on until after it's been security audited. I'll write a blog post on this explaining how/why/when you should use this, and what it does. 2008-10-14 08:54:46 +00:00
Melanie Thielker
8bc724a418 Fix a path issue i caused in a prior commit 2008-10-11 20:23:54 +00:00
Melanie Thielker
143419ebb2 Add a "inimaster" switch to OpenSim.ini. It will load a master ini file
and then the OpenSim.ini only needs to contain instance specific data
2008-10-11 17:51:16 +00:00
Justin Clarke Casey
c26f177cd4 * Fix http://opensimulator.org/mantis/view.php?id=2368
* This returns to writing the OpenSim.ini using default values if it (or OpenSim.xml) isn't found
2008-10-09 18:33:42 +00:00
Melanie Thielker
c101dd2bad Provide a sane value for DefaultScriptEngine (ScriptEngine.DotNetEngine)
rather then the previous invalid string "DotNetEngine". Remove the
script_engine options, as it is not used anymore.
2008-10-09 18:12:15 +00:00
Justin Clarke Casey
31362a67df * Tidy up configuration stuff, eliminated default setting duplication along the way
* This revision also makes the exception catcher of last resort print to the log instead of just the console
* This means logs should now capture sim crashing exceptions, though not those which are caused by a crash of the virtual machine itself
2008-10-04 20:27:55 +00:00
Justin Clarke Casey
344e33b8fc * minor: both OpenSimBase and the Voice and RemoteAdmin modules were checking whether any config was set
* Resolve redundancy by removing the OpenSimBase check - if modules are recieve nini config directly they should probably be the ones to do the checking
2008-10-04 19:17:39 +00:00
Justin Clarke Casey
0f77a334bd * minor: slightly simplify code in setting up the default configuration
* we appear to both setup a default configuration and provude identical defaults when we later try to read the values - this is probably not really necessary
2008-10-03 19:52:29 +00:00
Justin Clarke Casey
4920e52f11 * oops, fix build break.
* refactoring
2008-10-03 19:42:35 +00:00
Justin Clarke Casey
170cb935cd * refactor: make shutdown a template method in the same manner as startup, for consistency's sake 2008-10-03 16:06:00 +00:00
Justin Clarke Casey
70124a3213 * refactor: make startup a template method 2008-10-03 15:11:29 +00:00