| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
[Startup] section.
These are long unused but confusingly will be seen in the [Startup] section on a "config save".
|
|
|
|
| |
specify number of concurrent requests on a service.
|
|
|
|
|
|
| |
belong there.....)
* Add an IsBlocked(string Key) method so it can be used more generically. (think.. if we want to rate limit login failures, we could have a call in the Login Service to IsBlocked(uuid.ToString()) and ignore the connection if it returns true, if IsBlocked returns false, we could run the login information and if the login fails we could run the Process method to count the login failures.
|
|
|
|
| |
* Break out common BasicDOSProtector code into separate class.
|
|
|
|
|
|
|
|
|
| |
HTTP Server handlers. XMLRPC Handler, GenericHttpHandler and <Various>StreamHandler
* Applied the XmlRpcBasicDOSProtector.cs to the login service as both an example, and good practice.
* Applied the BaseStreamHandlerBasicDOSProtector.cs to the friends service as an example of the DOS Protector on StreamHandlers
* Added CircularBuffer, used for CPU and Memory friendly rate monitoring.
* DosProtector has 2 states, 1. Just Check for blocked users and check general velocity, 2. Track velocity per user, It only jumps to 2 if it's getting a lot of requests, and state 1 is about as resource friendly as if it wasn't even there.
|
|
|
|
| |
it easier to write WebSocket service code that is resistant to Denial of Service attacks.
|
| |
|
|
|
|
| |
the code that this is symmetric with CloseAgent()
|
|
|
|
|
|
| |
it clear that all non-clientstack callers should be using this rather than RemoveClient() in order to step through the ScenePresence state machine properly.
Adds IScene.CloseAgent() to replace RemoveClient()
|
|
|
|
| |
(cherry picked from commit 93abcde69043b175071e0bb752538d9730433f1d)
|
|
|
|
|
|
|
|
|
|
| |
Patch taken from
http://opensimulator.org/mantis/view.php?id=4905
originally by Greg C.
Fixed to apply to r/23314 commit
ba9daf849e7c8db48e7c03e7cdedb77776b2052f
(cherry picked from commit 4ff9fbca441110cc2b93edc7286e0e9339e61cbe)
|
|
|
|
|
| |
This makes scripted object sounds and a few other things play by default instead of having to switch the viewer to adult
This reduces the support burden
|
| |
|
|
|
|
|
|
|
|
| |
online from a standalone/robust instance.
This is not guaranteed to be accurate since users may be left "online" in certain situations.
For example, if a simulator crashes and they never login/logout again.
To counter this somewhat, only users continuously online for less than 5 days are shown.
|
|
|
|
|
|
|
|
|
|
| |
allow different default regions for HG and direct grid logins.
This requires a new GridService.GetDefaultHypergridRegions() so ROBUST services require updating but not simulators.
This method still returns regions flagged with just DefaultRegion after any DefaultHGRegions, so if no DefaultHGRegions are specified
then existing configured defaults will still work.
Immediate use is for conference where we need to be able to specify different defaults
However, this is also generally useful to send experienced HG users to one default location and local users whose specified region fails (e.g. no "home" or "last") to another.
|
| |
|
|
|
|
|
|
|
| |
console command "disconnect [<n>]"
Bots disconnected are ascending from last in numeric order.
Temporarily no way to reconnect bots.
|
| |
|
| |
|
|
|
|
|
| |
all the various numbers that have been added to the console output.
Break out EventHistogram from CounterStat.
|
|
|
|
|
| |
Add 'callback' query parameter to managed stats return to return function
form of JSON data.
|
|
|
|
|
|
|
|
|
|
| |
Disabled by default. Enable by setting
[Startup]ManagedStatsRemoteFetchURI="Something"
and thereafter "http://ServerHTTPPort/Something/" will return all the managed
stats (equivilent to "show stats all" console command).
Accepts queries "cat=", "cont=" and "stat=" to specify statistic category,
container and statistic names. The special name "all" is the default and returns
all values in that group.
|
|
|
|
| |
that were accidentally left in
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
add minor details to some log messages, rename a misleading local variable name.
No functional changes.
|
| |
|
|
|
|
|
|
|
|
| |
all") to file OpenSimStats.log every 5 seconds.
This can currently only be activated with the console command "debug stats record start".
Off by default.
Records to file OpenSimStats.log for simulator and RobustStats.log for ROBUST
|
|
|
|
| |
worker/iocp threadpool numbers
|
| |
|
|
|
|
|
|
| |
not, either via config (SerializeOSDRequests in [Network]) or via the "debug comms set" console command.
For debug purposes to assess what impact this has on network response in a heavy test environment.
|
|
|
|
| |
category - these are not things one needs to do in normal operation
|
|
|
|
| |
with the console command "debug threadpool set"
|
|
|
|
|
|
| |
not hold.
Not yet in use.
|
|
|
|
| |
lock -- we should be "ok" (or, more "ok") now that we have increased the connection limit on the http library. But this is a sensitive part of the code, so it may need reverting.
|
|
|
|
| |
regionhandle and saves it to to X,Y vars in the OpenSim.Framework.Location object was inverting the X and Y resulting in X and Y confusion. The test also used 256x256 in the uint,uint constructor so it was unable to determine if the X and Y components swapped. I don't expect much upheaval from this commit, not a lot of features were using the ulong Location object constructor. The database never stores the ulong regionhandle... the prims are loaded by region Guid. LLUDPServer used it to determine regions that it handled in a service definition where there was simply a X == X test which has the same logical result un-switched as it did switched. Again, thanks LibOMV for the regionhandle code.
|
|
|
|
|
|
|
| |
add this to the StatsManager
This reflects the actual use of this stat - it hasn't recorded general exceptions for some time.
Make the sim extra stats collector draw the data from the stats manager rather than maintaing this data itself.
|
|
|
|
|
|
| |
join/drop appropriately, invitechatboxes.
The major departure from flotsam is to send only one message per destination region, as opposed to one message per group member. This reduces messaging considerably in large groups that have clusters of members in certain regions.
|
|
|
|
| |
1sec). Group chat is going over the EQ... Hopefully this won't increase CPU when there's nothing going on, but we need to watch for that.
|
|
|
|
| |
week's SIMULATOR/0.1 protocol for now.
|
|
|
|
|
|
|
|
| |
the destination is being checked)
In this new protocol, and as committed before, the viewer is not sent EnableSimulator/EstablishChildCommunication for the destination. Instead, it is sent TeleportFinish directly. TeleportFinish, in turn, makes the viewer send a UserCircuitCode packet followed by CompleteMovementIntoRegion packet. These 2 packets tend to occur one after the other almost immediately to the point that when CMIR arrives the client is not even connected yet and that packet is ignored (there might have been some race conditions here before); then the viewer sends CMIR again within 5-8 secs. But the delay between them may be higher in busier regions, which may lead to race conditions.
This commit improves the process so there are are no race conditions at the destination. CompleteMovement (triggered by the viewer) waits until Update has been sent from the origin. Update, in turn, waits until there is a *root* scene presence -- so making sure CompleteMovement has run MakeRoot. In other words, there are two threadlets at the destination, one from the viewer and one from the origin region, waiting for each other to do the right thing. That makes it safe to close the agent at the origin upon return of the Update call without having to wait for callback, because we are absolutely sure that the viewer knows it is in th new region.
Note also that in the V1 protocol, the destination was getting UseCircuitCode from the viewer twice -- once on EstablishAgentCommunication and then again on TeleportFinish. The second UCC was being ignored, but it shows how we were not following the expected steps...
|
|
|
|
| |
than it should have been (though internal use was correct)
|
| |
|
|
|
|
|
|
| |
well as the average.
This is somewhat cryptic at the moment, need to improve documentation.
|
|
|
|
| |
lkalif for telling me how to route the information. The viewer effect is under the distance filter, so only avatars with cameras < 10m away see the beams.
|
|
|
|
|
|
| |
- The existing event to scene has been split into 2: OnAgentUpdate and OnAgentCameraUpdate, to better reflect the two types of updates that the viewer sends. We can run one without the other, which is what happens when the avie is still but the user is camming around
- Added thresholds (as opposed to equality) to determine whether the update is significant or not. I thin these thresholds are ok, but we can play with them later
- Ignore updates of HeadRotation, which were problematic and aren't being used up stream
|
| |
|
|
|
|
| |
need to dequeue and enqueue items every 1sec.
|
|
|
|
| |
these requests actively on the processing queue if it seems they're not ready.
|