Too many disconnects and unsits from vehicles on sim boarders
planned
TgBianca Resident
We did 11 races in January with all together 96 racers and have about 7-12 racers per race. A race takes normally max 40min. But there was not a single race in January all sailors finished without disconnects or thrown off the sail boat on crossing sim boarders
The region "Depace" is the worst sim in the last weeks. We crash there most of the times either on the crossing into Depace or out of Depace. It happens as well when someone sails alone there. There is not much underwater stuff that needs to be rezzed long. So there is no actual reason for these crashes there.
Check the sim Depace first and seriously and don't just look at some general parameters or values. Do a serious check including server address changes and all those things. The other sims start getting the same issues more and more. So the whole area is worth to be seriously checked.
and i talk about all these sims: Stodierski, Mautte, Paltiete, Mon Bayete, Degrand, Sarante, Petaccio, Rexach, Betacourt, Feraco, Repaci, Castrum, Palmerston, Rafeiraga, Valdivian, Couse, Gerache, Collhaytah, Port Pawtee, Maris, Conwy, Port Gonnornertnert, Quimadra, Depace, Lavaca, Val Encia, Benach, Coull, Oprince, Getachew, Wyrldmaker, Corpening, Geffers, Costagliola, Cottier
Log In
Tech Robonaught
I made a 196 Kb vehicle - slapped a 1248 Kb avatar on it and about 1 in 4 crossings it gets an permissions error - I was told, your vehicle isnt using enough scripts - your vehicle is completing entry before your avatar thus the error ... Does this ring true or?
Atomic Infinity
Tech Robonaught Sadly that comes as no surprise to me. Your vehicle is being replicated in the new region and resuming its scripts before the avatar has arrived and been re-sat on it. It is tragic but true that with the current system the more efficient you make the vehicle, the more likely are the error pop-ups.
Monty Brandenberg
I'm sorry that I'm replying to this Canny report so late but it flew across my bow just a few days ago. This isn't going to give an answer to the problems. Instead, it's mainly to describe what is going on, particularly as it relates to Atomic Infinity's probings, to inform both script writers and those who would diagnose the problems they're experiencing.
What follows are some points on the Teleport and Region Crossing implementation, in no particular order. Some of this material needs to be on the wiki but most of it isn't of an API/contractual nature. It's how things work at the moment and is subject to change without notice. Don't become a victim of Hyrum's Law.
* All avatars on vehicles are unsit from the vehicle when preparing to RC or TP. This isn't reported to either vehicle or attachment scripts but it can be probed (unreliably).
* Vehicle and attachment scripts are paused in preparation for serialization and transport to the destination region. Once paused, a script should not resume operation in the same region.
* Vehicle and attachment payloads are transported quickly, in general, but it is not done at sub-single-frametime speeds. When the payloads are all received successfully by the destination region, that region becomes the owner of all that state and it declares to the source region that the TP/RC is complete. At this point, the low-end aspects of the transfer are complete and the operation cannot be reversed. The vehicle and avatars are in the destination region but there is more to do.
* Source region will then declare TP complete to the viewer. This is done by sending a TeleportFinish message to viewers of transferred avatars. Processing of this message is usually logged by viewers (as process_teleport_finish, I think). This HTTP message is subject to loss as explained in links elsewhere in this Canny. Such a loss is a fatal condition and the viewer will declare itself disconnected from the grid and go to the Black&White screen. (This is one of what I call our "check engine light" messages. There are many ways to get here and it doesn't tell you how you got here this time.)
Monty Brandenberg
[ Part 2 ]
* Vehicle and attachment payloads are decompressed and reconstructed into executable scripts in a definite but not documented order. The time necessary to reconstruct everything is not bound. AVs entering and leaving simultaneously as well as other activities will spread this work out over time. It can be minutes in particularly bad cases.
* When a vehicle is reconstructed and its scripts are again in a runnable state, its scripts can be enabled to run.
* A particularly interesting and rarely mentioned aspect of this is that an event handler invocation that begins in the source region will resume execution in the destination region. That is, code at the top of a 'changed()' handler may run on Region A but by the time it nears completion, it's running on Region B or even Region C. How often might you be exposed to this switch in the middle of a single invocation of code that naturally assumes no such thing is possible?
* This may be especially relevant for SLua where various event handling and coroutine schemes may combine for longer-lived event handler invocations. Pay attention to the details.
* Vehicle reconstruction continues with the vehicle attempting to re-sit the avatars that were sent over with it. Avatars are not seatable until they are fully reconstructed. (This condition may be the source of the 'avatar not found' failures.) For reasons unknown to me, there are various timeouts in effect on this re-sit effort. One of two seconds, another of three-seconds - these between certain points in the processing (these are very magic numbers). If the re-sit doesn't happen in that time, it won't happen by automatic means. Avatar has left the vehicle leaving it up to scripting to re-join them.
* Once an avatar has been fully reconstructed, it joins the set of tasks in the destination region and it can be located by agent reference and its attachments' scripts can run.
* The viewer has been getting updates during this process and at some point, it will send a UDP CompleteAgentMovement message to sync up with the destination simulator. Simulator will return a UDP AgentMovementComplete message to acknowledge synchronization (logged in the viewer as process_agent_movement_complete, I think). Dropping either of these messages is fatal to the session and the viewer will declare itself disconnected and go the the Black&White screen. These messages do go missing... a lot. And other message pairs are equally critical.
Atomic Infinity
Monty Brandenberg Thank you for the response and under-the-hood insight - it is clearly a complex process and very hard to work on.
As region crossing code is clearly a very difficult thing to change, I guess those scripting long distance physical vehicles are also looking if there is anything we can do to improve our scripts for better crossing reliability. We already poured over the permissions code to make sure we got that right, but still get the error pop-ups regardless, and pop-ups often progress to become unsits.
It seems a lot of residents have already given up trying to make multi-region journeys, as for many these days crossing fails are just too frustrating for a journey to be fun.
From reading your notes I guess my train locomotive changes are working by easing the burden of avatar deconstruction and reconstruction : it removes any active pairing of animation, camera and controls between avatar and object before the RC is begun. It holds the permission to do so, but just is not actually doing any until the avatar is confirmed re-sat. Perhaps it reduces the chance of those reconstruction timeouts - it is doing something that helps, whatever that might be. It seems to work remarkably well - I recently went twice around the Heterocera rail line (150+ crossings) with zero error pop-ups and zero unsits. I just can't figure a viable/reliable way to implement that crossing precognition into a physical vehicle. Hyrum's Law aside, it would be nice if I could make it work today, even if I have to change it again another day.
Monty Brandenberg
Atomic Infinity: You can change the probabilities quite a bit but getting to 100% is very difficult for a vehicle. (Disclaimer: I don't spend that much time with the script system internals so don't trust everything I say - I discover new and surprising things all the time and try to understand and communicate them when I can.) No-script avatars will shift the probabilities a good bit but will still probably not be good enough for 100% success rate.
animats Resident's comments really are a critical element, however. That detection of the reseating is essential to approach perfection. The vehicle scripts simply aren't in control until that happens.
The LSL API and behaviors really do not lend themselves to hitting that 100% goal. Error handling, environment sensing, APIs, and other things could be changed to make it possible. And using worst-case vehicle tours as the design center (vehicles with 40 riders with 1000 full-data scripts each while doing donuts around four-corners locations) would make everything else in SL just work.
Atomic Infinity
Monty Brandenberg can I ask that you clarify :
That detection of the reseating is essential to approach perfection. The vehicle scripts simply aren't in control until that happens.
Detection of the reseating by the server? or detection by a script?
It is quite clear that scripts are running regardless of reseating, and will error pop-up if the avatar is not there. A script that is checking for reseated agents can pop a perms error while it waits. Also detection of re-sit does nothing about 'trying to stop animation' errors that occur in the source region between the unsit of the agent and the deletion of the old vehicle.
Or is it that we should be aiming to engineer that the script holding perms is essentially tied up mid-event as the crossing starts and keeps the script within that event until the avatar is confirmed reseated? basically, keep it busy so it can't react that the target of its permissions activity is 'not found'.
There is no call to llStopAnimation in my script on leaving a region, and no fresh call to llStartAnimation in a new region. Those calls are being made entirely 'back-of-house', not by the script. My own scripts have the animation start/stop triggers inside the scope of a CHANGED_LINK, and during crossing the server unsits/resits the avatar in a way that does not trigger a CHANGED_LINK to happen, which is fine and expected behavior. At this time though, the only reliable way to avoid animation perm error pop-ups, is to not animate.
Monty Brandenberg
Atomic Infinity: detection by a script. Server is the entity performing sit/unsit - it knows the state of things.
I'm convinced some of these problems are race conditions in the scripting. LSL is driven by events passing through queues. State changes in the system can happen long before an event informing a script of a change is delivered as a running handler. Additionally, other events between those two points may have handlers coded to rely on the local (and now incorrect) state. That's what event-based programming looks like. Review of the code by other eyes can help greatly.
There may be genuine bugs in here, as well. Teasing those out from other causes and taking action on them requires proper identification. There are a lot of suspect areas. But the vehicle disassembly prior to transport isn't one of them. I don't trust it 100% but I trust it a lot more than other things.
(I'm ignoring most of the disconnects here... Those are mostly caused by other things and happen to correlate because more systems are involved during RC/TP.)
Atomic Infinity
Monty Brandenberg I'll do some debug in one of my physical vehicles, but I'm pretty sure that if I trundle over a border in cruise, the only event in the queue is a recurring timer() that propels it along. There is literally nothing else going on, not even a control event unless I am also steering (which everyone knows is a bad idea to steer at crossing, if you want any control over your direction after the border). If there is a race condition, I have no idea what is racing or where it can be hiding.
My thought is that the only race is the one in the server - the race between avatar and object changing regions. If the server knows the state of things, it shouldn't try to stop anims if it has already sent me off region, and it shouldn't try to start anims again until it has re-sat me. It is not my script making those function calls, it is the server, and any in-world script detecting re-sits is not going to change that.
Monty Brandenberg
Yep, I'd consider that a bug and we'd want to look at that one in depth.
Atomic Infinity
Events debug test results : In all instances the recurring timer() is the only event in the queue. There are no animation or camera function calls in the timer() event.
- from Burnott into Ginsberg
- [12:42] Camera control currently only supported for attachments and objects on which you are sitting.
-
- from Ginsberg into Vestal
- [12:46] Camera control currently only supported for attachments and objects on which you are sitting.
-
- from Carmine into Riddings
- [12:49] llStopAnimation: Script trying to stop animations but agent not found
- [12:49] llStartAnimation: Script trying to trigger animations but agent not found
-
Soon after this, a bit of rubberband camera on a crossing led me into a zero-seconds ‘security orb’ parcel and I got yeeted into the unknown, reminding me of the other reason I gave up building vehicles and long distance travel.
Just to be clear, this is not about my vehicles, this is about all permission holding sat-on objects that cross borders. This canny was opened by the sailing community, not me. We just share in the same problem. This issue affects hundreds of objects, and thousands of residents. Sure there will be some 'resident scripter' issues that cause some errors, but the vast majority of these border problems are entirely server caused/generated, and utterly out of our control. Border crossing server code needs a total overhaul. I have stated all I can about my observations in these canny postings, some have been read, others glossed over. I can't make LL believe it or even pay attention to it, and I imagine for the most part they are sick of reading my name. I'll stop prodding it now, there is nothing more I can do. Either the LL decision makers will take this years-old problem seriously, or they won't. My hopes are not high.
Monty Brandenberg
Atomic Infinity: First thing, I would _really_ like the viewer log from that session. Some more precise timestamps would help me align the notifications with events in the backend.
The comments and debug work are very much appreciated, at least in engineering. And the voting backs that up.
As for the test run, the three problematic crossings all experienced the two-second timeout situation I mentioned. The crossings into Burnott and Carmine were as expected. Whether this is cause or effect I don't yet know. Understanding those llRequestPermissions, etc. calls should help.
Atomic Infinity
Monty Brandenberg I will IM inworld later when I get chance to get you yesterdays log stuff.
For better timestamps - my logs seem to be in GMT not SLT, so 12:42 SLT is 19:42 by the log :
The script floater opens at 19:42:52 and 19:46:36 with 'control not found', and then seems to be at 19:49:25 for the anim errors, though it doesn't have a note like the control one does, so I'm just assuming that 8 lines of 'script floater opening' notes at Carmine/Riddings is that double error popping up.
animats Resident
Worth noting: for non-physical vehicles moving across sim boundaries, there is a bug that can sometimes result in the vehicle ending up in the wrong region, hundreds of meters away. Worse, too much of that can crash a sim server. I filed a SEC bug on this years ago in the old JIRA, but I can't access it any more because the archiving of the JIRA made it inaccessibly to the reporter. Whirly Fizzle was able to replicate this bug with a very simple script, which rapidly caused sim crashes.
Physical vehicles, which most are, seem immune to this bug. This seems to be related to non-physical object moves across region boundaries using KFM.
Atomic Infinity
animats Resident I'm not using KFM because it has too many caveats - I find it far more reliable to just do the math and place the object with llSLPPF. Doing that means I can literally pin down the exact frame that the border handover will begin, which is how I came to my conclusions listed. So far I never ended up in the wrong region even when doing 4-way region corners at speed, so I guess I'm not doing whatever that bug is (or I'm lucky).
Atomic Infinity
Notes on region border crossing... Signal Linden Philip Linden
I have now completed a re-write of my LSL that runs my non-physical trains across region borders, with the aim to reduce the unsits and permissions script errors that the server throws up, despite perms being correctly held in the script. While I do occasionally still get errors popping up, they are now much less frequent. I will share what I have found just in case it helps your region border crossing review.
There are several places on the old mainland tracks that do pass through a 4-way region corner, and for the most part my code now also passes through these with far less incidents. Unsits can now be considered more rare, which is nice 🙂
My understanding of a border crossing summary :
The object moves beyond -1.0 or +257.0 metres coords, to trigger a handover. The server then gets very busy with a lot of stuff, during which -
- The scripts are suspended in the vehicle
- The avatar is separated from the vehicle
- The vehicle and avatar are passed over to the receiving region
- The avatar and vehicle are reunited as a single object
- The scripts are resumed, and it continues on its way
The errors that happen are all perms related : start/stop anim, control camera, and take controls, often with 'avatar not found'. The nature of the specific errors suggested to me that the scripts are being stopped after the avatar has already been separated from the vehicle, or has already left the old region, and then are being restarted before the avatar has arrived on the new region, or before they are re-seated.
Moving a non-physical object (train) is just maths, so I know exactly when in my script that my coords will trigger a region change. So in my script I now suspend all perms-related function
before moving the object out of region
, and it then waits for a CHANGED_REGION event.This event occurring is hopefully evidence enough that the vehicle has arrived in the new region (though a question remains : is this event triggered by leaving a region, or by arriving in a new one?)
When the change event occurs, a timer then polls for the local existence of the avatar. Once the avatar is detected to be in the new region AND confirmed sat once again on the object, it resumes normal functionality.
(see 1st reply for continuation.... because canny word limit sucks ;p)
Atomic Infinity
continued...
I believe the key part that makes this succeed is that :
The script continues to hold the permissions to act on the avatar, but is not actually animating, nor controlling cam, nor taking controls at the moment of crossing the border. If it is not
trying
to do these things, it can not generate an erroneous and unjustified script error when it can't find the avatar.So my LSL re-write is effectively a workaround for the synchronization problem of the suspend/resume of scripts not matching when the avatar and/or vehicle actually do change region and re-unite.
The script does not lose its permissions status at any point - what it 'loses' is the avatar it is supposed to be acting upon. The scripts are running when they are not supposed to be.
- Stopped scripts needs to be a pre-requisite before unseating the avatar, and being re-seated needs to be pre-requisite to starting them up again.
My code does not fix unsits, it avoids unjustified script errors. Avoiding these script errors is what fixes most unsits.
I do still get some script errors occasionally, so somewhere my workaround is not 100% reliable at suspending / resuming function in the brief moment of border crossing, or detecting the avatar fast enough.
The users viewer also seems to be an influencing factor. When I do get script errors now on crossing a region border, it is most often when my viewer framerate is compromised, for example when approaching a built up area with a lot of content to load and render. Maybe the delay in my lower framerate still allows some stray updates to be sent while the script is trying to release cam & controls before the border, but this is just guesswork.
I was thinking I might try to do a similar process in some of my physical vehicle projects, but seeing what it took to improve in a non-physical, I’m not sure that is going to be possible. The non-physical movement is like precognition of when the crossing will happen, whereas physical movement is not so predictable. I guess I'll try it and see how that goes.
Anyway, hopefully this info is useful in the search to help fix border crossings for everyone.
Atomic Infinity
Addendum - These are the errors, and why they occur :
llStopAnimation: Script trying to stop animations but agent not found
The object is still in the OLD region, the script is running. The avatar is not sitting on it, and has already left the old region.
llStartAnimation: Script trying to trigger animations but agent not found
The object is in the NEW region, the script is running. The avatar is not sitting on it, and has not arrived in the new region.
llStopAnimation: Script trying to stop animations but permission not set
The object is still in the OLD region, the script is running. The avatar is NOT sitting on it, but is also still in the old region. (Anim perm is auto granted when sitting, therefore avatar is not sitting)
llStartAnimation: Script trying to trigger animations but permission not set
The object is in the NEW region, the script is running. The avatar has arrived in the new region, but is NOT yet sitting on it. (if the avatar was sitting, anim perms are auto granted)
Camera control currently only supported for attachments and objects on which you are sitting.
To me this one is the most obvious example of the problem. I was sitting on it in the old region, and I’ll be sitting on it in the new region. The only time I am not sitting, is while the server hands me over.
The common denominator in all these, is that the scripts are still running when the avatar is unseated, and have started up again before the avatar is re-seated.
And then there’s that random pop up box that happens sometimes :
Cannot create requested inventory.
[OK]umm.... whut? yeah ok, but I have no idea what that means :D
animats Resident
Atomic Infinity Scripts for vehicles have to recognize that being in transit across a region boundary takes time. There is an in-transit period during which some things won't work. Upon arrival in the new region, you have to detect that all avatars are properly seated (vehicle is parent of avatar, avatar is child of vehicle). Then re-acquire permissions. Then re-establish controls, animations, etc. See my code at https://github.com/John-Nagle/lslutils/tree/master/motorcycle
A few years ago, one of the server Lindens suggested stopping vehicle script execution during region crossings. That way, scripts never see what's going on during a region crossing. But if the server stops scripts, you can't steer or throttle during a crossing, and slow crossings result in runaway vehicles. That would make things worse.
Atomic Infinity
animats Resident I can see it is complicated yes, but it needs to happen in a controlled order. If they can't be in a controlled order then they should disable the script error pop-ups that have no basis in fact. Its highly likely that the server is basically causing unsits by tripping over itself sending wrong script errors out that are entirely out of the scripters control.
Plus it is massively disheartening to have a vehicle you
know
holds correct permissions constantly telling you on border crossings that it doesn't, and suggesting your work is substandard....edit : maybe I am not expressing it that well, but I am talking about suspending scripts at the moment of actual handover only at server level, not some time before you get to the border. Control inputs 'during crossing' are moot anyway if the avatar is not seated, unless you asked for and secured perms manually from the avatar before they sat down.
Atomic Infinity
So I figured do some lsl investigating, to see if scripts really do lose permission and need it re-acquired after a crossing, and how long it takes for the process to happen, how long is the avatar removed for, etc. I added this script to a physical vehicle, then drove it over a lot of borders. 3 seconds after each border crossing it reports how many timer events happen with each of the 3 conditions tested, then resets the values.
key avatar;
key vehicle;
integer no_perm_count;
integer not_same_region;
integer not_sat_on_me;
integer report;
default
{
changed(integer change)
{
if(change & CHANGED_LINK)
{
avatar = llAvatarOnSitTarget();
vehicle = llGetKey();
if (avatar != NULL_KEY)
{
llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION);
llSetTimerEvent(0.02);
//yes I know the timer is too fast
//just want to check as many frames as possible here
}
else llSetTimerEvent(0.0);
}
if(change & CHANGED_REGION)
{
llResetTime();
report = TRUE;
}
}
run_time_permissions(integer perms)
{
if(perms & PERMISSION_TRIGGER_ANIMATION)
{
llOwnerSay("Granted permission to animate.");
}
}
timer()
{
if(!(llGetPermissions() & PERMISSION_TRIGGER_ANIMATION))
{
//the script does not have permissions held
no_perm_count += 1;
}
if(llGetAgentSize(avatar) == ZERO_VECTOR)
{
//the avatar is not in the same region as script
not_same_region += 1;
}
key check_root = llList2Key(llGetObjectDetails(avatar,[OBJECT_ROOT]),0);
if(check_root != vehicle)
{
//avatar is not sitting on vehicle
not_sat_on_me += 1;
}
if((llGetTime() > 3.0)&&report)
{
//3 sec after a border cross
llOwnerSay("\nEvents with no permission : "+(string)no_perm_count+
"\nEvents with no avatar : "+(string)not_same_region+
"\nEvents not sat on vehicle : "+(string)not_sat_on_me);
no_perm_count = 0;
not_same_region = 0;
not_sat_on_me = 0;
report = FALSE;
}
}
}
Atomic Infinity
Typical Results -
- Events with no permission : always zero
- Events with no avatar : typically 3 to 7 events
- Events not sat on vehicle : typically 8 to 13 events
In typical results there was always 5 more ‘not sat on’ events than there are ‘no avatar’ events. If I recall, a timer event is likely to throttle at 0.044 seconds per event. If that is correct, then per crossing on average the avatar is not seated for 11 x 0.044 = 0.484 seconds, and the object and avatar are in different regions for 6 x 0.044 = 0.264 seconds.
Extreme results with an unsit -
- Events with no permission : 0
- Events with no avatar : 12 to 75
- Events not sat on vehicle : 63 to 78
In other unsits that became viewer disconnects, the results were lost in the crash. A delayed arrival of the avatar in the new region perhaps makes an unsit more likely.
So it seems re-acquiring permission is not needed, but the script has time available to produce errors because the avatar whom it needs contact with is not present & seated.
I originally thought scripts were stopped in a crossing, but I guess that assumption is wrong. It would certainly be worth testing crossings that
do
stop scripts in 'sat on' objects before separating the avatar - 4 homesteads in a square on the beta grid so you can drive round in circles and through a 4-way corner, to see what happens.Atomic Infinity
Since investigating all that ^ I have since read this page https://wiki.secondlife.com/wiki/Region_crossing from which I learned something :
Sat-on objects do not cross region borders, ever.
The object does not move across, instead it is replicated in the new region, and the old copy in the previous region is deleted. Accordingly, there is no such thing as steering or throttle during a crossing, so there is nothing to break by stopping the scripts. Any active physical velocity in the old copy will exist in its new copy upon creation, but it won't be taking any new control inputs anyway while the avatar is not seated.
The more I look at this issue, the more convinced I become that if the scripts in the object are suspended before removing the avatar, and then re-started after re-seating them, that it would solve a huge number of bad crossings.
But all the theory is for nothing without an experimental set of regions on Beta grid ....
Skyler Pancake
Has been noted within the pony community as well, though we're all pretty used to it. It's treated a bit as a joke to see how many crashes you managed to survive to do the route.
Beyond the crashes, I've been having issues with regions just simply not loading? Just big empty hole in the world. Relog will solve the issue, but annoying to have to relog every 10-15 regions. Is this something anyone else has been experiencing?
primerib1 Resident
Skyler Pancake Well, that does happen to me sometime, but thankfully Kokua Viewer has "Refresh Scene" menu item that forces a refresh of the visible region. Anyways, I think there's another Canny feedback about this ...
Lisa Hyandi
If you want to investigate in a specific sim please take a look to Quimadra
It is the 3rd time that without any specific reason i got unseated / disconnected or boat becomes unresponsive in that region. And it happens also to many others who race with us crossing that region.
Also tonight our race decided by a crash of the leader there.
We all race for fun ok. not a big drama but frustration is real
.. Please check if that sim is just unlucky or what can be the specific issue that makes it many times worse than any other sim in that area.
Please note another very interesting detail.. We crash when we anter in Quimadra leaving Ooprince. but this happen when this specific cross follows teh same cross in the other direciton
Let me try to explain better:
We enter Oprince From Quimadra and this kind of cross never gives an issue
We turn around Oprince gate and we enter in Quimadra leaving Oprince in less than 30 seconds after the first cros.. And this time we crash very very often (20% of the times?)
This is quite strange.. and let me suspect that there is something different if we cros teh same border twice in a limited time
AWalphaomega Resident
As a creator and scripter of most types of vehicles in SL, I have to say I am extremely interested in this topic. I too have found a consistent degradation of performance in sim crossing over the last several months. This is most evident on roads, but it happens on water and air passages as well. I have done extensive study of this issue and have a few ideas (but no concrete theories as of yet). One of the more compelling bits of evidence points to the massive inrush of http data from all of the high resolution textures as you get in range of them. This does not account for things like strange script errors or bizarre unsits on slow crossings into sims that otherwise are functioning normally. I would like to propose a vehicle roundtable. This is something I would gladly make time for if possible, and would very much like to participate in.
UPDATE - now, based on the current state of the grid on 4/1/2025, I find it is the worst I have ever experienced. This must be dealt with soon!
Huns Valen
AWalphaomega Resident Soon?
It has been like this since they introduced the vehicle system in 2004.
I would LOVE it if they would do something about this, but they have an extremely long and reliable record (2+ decades) of not fixing it.
Lisa Hyandi
Great
Thank you for listening to us and for the live tracking dome
Looking forwardi to the solution
Signal Linden
planned
Atomic Infinity
Signal Linden I don't imagine anyone had chance to read my investigations of region borders that I posted above ^^ , but whats the chances of some experimental regions on Beta grid?
TL;DR summary : If it is feasible, it would be good to try border crossings where the server halts scripts in sat-on objects before separating the avatar, and then only resume them after the avatar is re-seated on the object in the new region. If nothing else, it would fix the erroneous script perm pop-ups (and tests show that fixing those also prevents many unsits).
Maestro Linden Philip Linden
Philip Linden
We are going to solve this, and agree that these are critical and frustrating problems.
Huns Valen
Philip Linden I hope you'll tell the teams that, and keep checking in until they do it. It has been like this for 21 years, since the days of hoverboards and Busy Ben's. I'm not saying they can't fix it, but I am saying there appears to be a monumental inertia behind NOT fixing it.
If they don't keep hearing that it's a priority, from you personally, what could plausibly turn that around that hasn't already proven ineffective?
What your people will learn from this, not just technically but from an organizational behavior standpoint, will be invaluable. Fixing this will be like pulling Excalibur out of the stone.
Zeth Starlight
Philip Linden I really hope you do. Driving on mainland, which was a huge thing for my partner and I, has become almost impossible as of late. The constant crashes and being thrown on sim crossing has really taken the fun and enjoyment out of driving.
Load More
→