| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
finding out which region a new avatar was logging in to; the same problem
occurred when the client/avatar logged out. the reason was mani-fold:
- Scene.AddNewClient(...) would call SubscribeToClientEvents(client)
which would subscribe to all client events and then call
TriggerOnNewClient(...) BEFORE the ScenePresence object had even been
created and added. i've moved the TriggerOnNewClient() call to the
end of Scene.AddNewClient()
- Scene.AddNewClient(...) is called with child == true; a later call
to ScenePresence.MakeRootAgent() will turn child to false. When
OnNewClient is triggered, child is still true, causing IRCBridgeModule's
FindClientRegion to ignore the ScenePresence of the new avatar.
i've changed IRCBridgeModule to still use OnNewClient and also OnLogout
and OnConnectionClosed but only to signal that the avatar has logged on
(logged off respectively). to track whether an avatar has actually entered
a region i've added EventManager.OnMakeRootAgent (complementing
OnMakeChildAgent).
also, i've cleaned up the internal IRCModule code a bit. currently it
still uses IClientAPI.SendChatMessage() which replicates the code in
ChatModule, that needs to be changed to use TriggerOnChatFromWorld().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ChatModule is now only doing in-world chat. IRCBridgeModule is only doing, well,
bridging chat to/from IRC. Both modules are now using a new OnChatFromWorld event
handler (which Scene.PacketHandler is feeding for chat from in-world instead of
going via the Interface method). This refactoring will allow us to easily add
other bridge modules (e.g., an XMPP bridge module).
there is still a bug in IRCBridgeModule (inherited from the old ChatModule)
where FindClientRegion does not really find the client region...
|
|
|
|
|
|
|
| |
Nothing huge, but the new button code for producing
a new script does well, but the script will not allow
for name change once created. It reverts back to new script.
|
|
|
|
|
|
|
|
|
| |
Previously, upload charging was possible only for UPD uploads.
This is because UDP uploads are charged by the viewer, while in CAPS,
this was changed to be server side, so hackers couldn't avoid
paying the upload charge. This patch adds a method to allow
implementation of this serverside charge.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
lookup any time we get it from the server. This should
preventent unwearable appearance.
|
|
|
|
|
|
|
| |
packets in rapid fire as quickly as possible. The terrain data sending is now done in a threadpool worker thread over ~10 seconds with a thread.sleep between each packet sending. this hasn't been tested thoroughly, so it might not actually help with the atom bomb terrain (missing patches) but its a simple thing to revert if it makes things worse for anyone.
10 seconds is roughly the time between the region handshake completing and you being in world where you can see your avatar. So normally the terrain still should have loaded by time you get in the region, although it is possible that sometimes you might see the very end of the terrain load just after you arrive.
|
| |
|
|
|
|
|
|
| |
still not convinced this will help, but it was wrong.
|
|
|
|
|
|
| |
help with the timeouts.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Insert the very rough beginning stubs for a save/load OpenSim archive facility that will load/save prim assets (textures & inventory) as well as the prim details themselves
(our existing xml facilities).
* This won't be ready for even rough testing for quite some time.
* I'm doing this directly in the region server for now since this will be quicker to get something working (hence giving me the Serotonin boost that I need). However, there are
very good arguments for later also including it (or moving it entirely) to the separate export executable which Sean stubbed out some time ago.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(from awebb)
i've added the OSHttpStatusCodes enumeration of HTTP status codes, have adapted
BaseHttpServer to use those.
then RestPlugin now has proper Failure handling returning proper HTTP status
codes. Regions/POSTHandler is work-in-progress.
|
| |
|
| |
|
|
|
|
| |
fails.
|
|
|
|
| |
fully in the region console
|
| |
|
|
|
|
|
|
|
|
| |
information from Scene to OpenSimMain
* This also means the operating system info will show up in the region console (and hence the logs)
|
|
|
|
|
|
|
|
| |
parameter to Scene rather than referencing VersionInfo directly
* Butt ugly solution
|
|
|
|
|
|
|
|
|
| |
"About Second Life" box
* This is the same string as printed out on the opensim region console at startup, so it should now include the svn revision number (if available)
* This dialog box takes an awful long time to come up on my local system - no idea why that is. However, that also seems to have been the case before this revision.
|
|
|
|
|
|
| |
* Please file a mantis if you are not able to use load-xml2/save-xml2 but can successfully use load-xml/save-xml
|
|
|
|
|
|
|
|
|
|
|
|
| |
* If a caller attempts to set PrimitiveBaseShape.ProfileCurve with a HollowShape or ProfileShape component which is not a valid enum, a warning is spat out and a default shape
subtituted
* This does not solve any underlying problem if we're missing some enum values (though it's not obvious what these are), but it should allow save-xml2/load-xml2 to be used
without causing invalid enum value related exceptions. The checks will also guard against badly behaved clients.
* This change alters the order of shape values in the xml, since it appears properties are serialized after fields (at least this is the case in mono). .net native
deserialization can cope with this it appears, though people manipulating xml manually may need to adapt (if there are any).
* This may be a good argument against relying on .net [de]serialization for our xml format.
|
| |
|
|
|
|
| |
processes running.
|
|
|
|
|
|
|
|
| |
* Concurrency issues are resolved because each object makes a memory-only copy of itself and backs up the copy.
* Because of the way this is done, the latest at the time of the backup gets backed up (no functionality change)
* You can move *thousands of objects at a time* and the sim doesn't freeze and wait for the backup to complete.
* This can be enhanced more by dedicating the thread as opposed to starting it when the backup process starts.
|
|
|
|
|
|
| |
isn't db backed, but will hang around between reboots.
|
|
|
|
|
|
|
|
|
|
| |
Fix RequestUpdateInventoryItem so that asset changes
generate a new asset, which is needed for editing
appearance to do the right thing. Persistant appearance
seems to work after this, except you need to rebake textures
some times.
|
|
|
|
|
|
|
| |
get saved to the database. There are still issues on wearing things
after a cleared cache that I'm looking at now.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
a collision mesh for it.
* Sculpties load on startup reliably now and successfully generate a collision mesh as soon as the sculpt texture is available.
|
| |
|
|
|
|
|
|
| |
the name of the contained class.
|
|
|
|
|
|
|
|
|
|
|
| |
provide OSHttpRequest and OSHttpResponse to our REST handler.
also, this adds proper RestPlugin.IsGod() checking against the X-OpenSim-Godkey
HTTP request header.
last, i added XML doc comments to RestPlugin.cs
|
|
|
|
|
|
|
|
|
|
| |
House cleaning ...
Rather than using the variable name EntityList, the variable name
EntitieList was being used. Here's a patch to fix it.
|
|
|
|
|
| |
Fix spelling typo (Thanks ChrisDown for pointing this out)
|
|
|
|
|
|
|
|
|
| |
placed the return in
the "if (request.UserAgent != null)" branch in the wrong place: as a result BaseHttpServer would not do
anything if the user agent header field was present....ARGH! BAAAAAAD.
|
| |
|
|
|
|
|
|
| |
don't do anything now.
|