* Removed StorageManager
* CONFIG CHANGE: There are no more database settings in OpenSim.ini. Check the config-include configuration files for region store and estate store database settings
These levels correspond to packets that one isn't usually interested in when debugging (e.g. regular outgoing SimStats packets)
This is equivalent to what we had a year ago before it was removed. It's extremely crude since it doesn't allow one to pick individual clients or packets. However, it can still be useful when debugging packet race conditions.
This allows you to load an oar without loading its assets. This is useful if you know that the required assets are already in the asset service, since loading without assets is quicker.
This option will become more useful when the ability to save oars without assets is added, which should happen fairly soon. At this point there will also be better documentation.
Unfortunately, this meant publicly exposing the underlying service for the connector.
The other solution would be to create alternative initializers for services and connectors where objects could be given directly rather than loaded indirectly through config.
Unfortunately, this would require a lot of work in this case but might be the better way forward.
This will now choose the first network interface IP address, or the loopback
interface if no external interfaces are found. It will log the IP address
used as [NETWORK]: Using x.x.x.x for SYSTEMIP.
These patch should allow people using systems that do not have their locale set to En_US or similar to use OpenSim without suffering effects such as being a million miles up in the air on login.
The problem was caused by parsing strings without forcing that parse to be En_US (hence different decimal and digit group symbols were causing problems).
Thanks very much to VikingErik for doing the legwork on this fix and phacelia for spotting it in the first place.
This merge was very conflicted. I think I got them all, but I can't be sure.
I had to merge to master or risk divergence to the point of unmergeability.
* Avoid allocating an Action<IClientAPI> object every round of the OutgoingPacketHandler
* Removed unnecessary semi-colon endings from OpenSim.ini.example [InterestManagement] section
* Only initialize Util's SmartThreadPool if it is actually being used
* No longer initializing Util's SmartThreadPool with a custom max stack size. From MSDN: "Avoid using this constructor overload. The default stack size used by the Thread(ThreadStart) constructor overload is the recommended stack size for threads."
* Changed Util.FireAndForget() to use any of five different methods set with async_call_method in the [Startup] section of OpenSim.ini. Look at the example config for possible values
* First pass at applying the using(){} pattern to IDisposable objects. Always use the using pattern on IDisposable objects whenever possible, do not manually call .Close() or .Dispose() unless there is no other way to write the code. This pass mostly covers OpenSim.Data.MySQL, and should have no functional change (tests still pass)
* Shrinks the largest in-memory object, the LLRAW.HeightmapLookupValue struct (only used for exporting to LLRAW terrain files), to the minimum possible size. This seems to have the odd side effect of cutting the size of the two double[256,256] terrain objects in half. Possibly an alignment optimization?
The admin_close_region method removes a region from the simulator without deleting it.
The region can then be recreated by calling admin_create_region with the same UUID.
There is also a change to admin_create_region to facilitate this.The reason I want
to have this functionality is to make it possible to detach regions when they are
idle and recreate them on demand through a web interface. It's probably doable
using the existing methods by saving and loading oars, but it also doesn't seem
like that should be necessary.
* If an oar save fails to get responses to all asset requests to the asset service then timeout after 60 seconds
* Timeout executes abort, since missing assets in an OAR seems bad
* This means that oar saves won't permanently hang and instead can be retried if something goes wrong with the asset service
* This is not a solution to mantis 3714. Hopefully a fix will be along shortly since I can now consistently reproduce that problem
This appears to be due to the fact that no asset cache has been
configured, possibly as a result of the configuration changes that
have been made recently. I've attached a patch to display a message
to that effect rather than throwing an error.
treated as another ini source to load.
For example:
Include-Asset = AssetSetup.ini
will load AssetSetup.ini after all other ini files are done.
This works recursively, too
This may break a lot of things, but it needs to go in. It was tested in standalone and the UCI grid, but it needs a lot more testing.
Known problems:
* HG asset transfers are borked for now
* missing texture is missing
* 3 unit tests commented out for now
Adding a jsonp wrapper to the user supplied status report
uri if the key "callback" exists. It will work with many
javascript toolkits to provide an ajax callback to allow
the browser to update stats reports without the
intervention of an intermediate server.
console capable of processing commands. Create LocalConsole as a console
that uses cursor control and context help. Precursor to a distributed
console system for the new grid services. No functional change intended :)
Move json stats to non-published resource name
Remove well-known resource name for json stats,
creating dynamic uris with private keys and add
a user configurable resource name for region owner usage.
derived classes
- make OpenSimBackground inherit from OpenSim instead of OpenSimBase
so that it will have a MainConsole instance and we can use console
commands, setting m_gui to false
- Change several classes to use the new plugin for handling of region-modules
(NOTE: No regionmodule is using this yet)
- Add necessary prebuild parts (don't forget to runprebuild)
Attention: Work in progress. This shouldn't break anything, but you never know...
log4net config file other then bin/OpenSim.exe.config
- moving ArgvConfigSource initialization up to allow for configuration
of XmlConfigurator.Configure()
* In most cases, the setting in OpenSim.ini.example is taken as the canonical one since this is the file virtually everyone ends up using
* OpenSim will start up with a blank OpenSim.ini, in which case sqlite is the default database (as before)
Added a flag (bool m_autoCreateLindenStack = true) which says if the ClientStack will be autocreated and initialised when creating regions. This helps with moving ClientStacks to Region modules.
Currently this flag is hardcoded to true, as it is only for testing at the moment, so you need to change the value in the code if you want to turn off auto creating.
The ini files in this folder are loaded after the masterini file (if that is set) and before opensim.ini.
The default folder it looks for and searches is "bin\config", but that can be set by using the command arg "-inidirectory=<path>" (path is local to bin\) when starting up opensim.exe.
Also in that plugin it registers the IUserService with all the Scenes (as they are created). So now we can start changing over all uses of IUserService, that currently access it from the CommunicationsManager to accessing it from the Scene.RequestModuleInterface call.
Once that is done we can move the UserService creation out to its own plugin and remove all references to it from the CommunicationsManager. Then we can take the next CommunicationsManager interface and repeat.
Added a ApplicationRegistry to OpenSimBase.
Changed LoadRegionsPlugin so it registers itself to that application registry.
Added a event to LoadRegionsPlugin, that is triggered when it creates a new scene ,although maybe this event should actually be in opensimBase incase other plugins are creating regions (like the RemoteAdminPlugin).
- handle GetUser request for nonexistent user gracefully
- include throttle levels in ClientInfo
- code to save/restore throttles in client stack
- only update/send updates to active clients
- make animation classes serializable
Added OpenSim.Grid.UserServer.Modules project/dll which now contains the components of the userserver. With the OpenSim.Grid.UserServer being the setup and initiate exe.
If -background=true is specified on the command line, a null pointer exception crashes the server in OpenSim/Region/Application/OpenSimBase.cs in method StartupSpecific. Its trying to dereference m_console which is null, presumably because we're in background mode.
* Added log4net dependency to physxplugin in prebuild.xml.
* Added missing m_log fields to classes.
* Replaced Console.WriteLine with appropriate m_log.Xxxx
* Tested that nant test target runs succesfully.
* Tested that local opensim sandbox starts up without errors.
I've changed the extension point name, and the internal references that
used the same string. I also fixed up the messaging around the asset
loader so that it is more explicit.
Known issue: after TP, the self client doesn't see the animations going, but others can see them. So there's a bug there (TPs only, crossings seem to be all fine).
Untested: did not test animation overriders; only tested playing animations from the viewer.
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.