Baker Linden got us some new information this week in the Server-Scripting UG on the fix for Large Group Editing Problems.
For the last two months he has been trying to solve the problem of getting large data sets to transfer reliably via the current API (application programming interface) running over UDP (an Internet protocol – think of it as a spoken language), which is the protocol all viewers use now to get group member lists. It is when that UDP transfer fails that people have problems with group member lists failing to load. Those failures also create some simulator side issues that degrade performance.
Large Groups – Image by: KittyKat3756 – Flickr
The practical limit for use with UDP is a member list of about 10,000 members. Any group larger will not reliably download. On some connections even the smaller 10k list will have problems. Sometimes larger lists will download. Sometimes they won’t. Baker has optimized the SQL query that pulls the list and eliminated as many timing problems as possible. I get the impression that several SQL tricks were tried, like breaking up queries and batching group of members for transfer were tried. But, in the end it simply is not going to work. So, the new API is going to use HTTP for the transfer. Eventually the UDP service tube for group member lists will be eliminated.
Just after I got my article out on Bandwidth and SVC-8124I heard that there will be no promotions from the release channels to the main channel. This means the fix for SVC-8124 will NOT roll to the main channel next week.
There is a problem with permissions. See: SVC-8177 – There is different behavior between the RC channels and the main channel involving permissions, objects loose modify permissions. This is going to prevent any roll to the main channel.
The Bandwidth problem will continue for another week. I’ll have to see how they handle the fixes to the release channels next week to know how this is going to work. But… the Lindens tried several fixes, I think for 8177, and they failed. I think the result is they are rolling back the release channels to unwind the 8177 fixes and get a main channel version with a 8124 fix running on the main trunk code. With any luck they can get the 8124 code in and they will make it through the RC QA.
Darrius Gothly has a new article out about Second Life™ and its coming addition into the Steam Library of games titled: More Steam, Cap’n! I think it is worth a read. Darrius’ biases and frustration with the Lab is in there, but the points made are thoughtful.
I agree and disagree with Darrius on various things… in general not just in the article. But, he always seems to have some interesting insights. I’m going to cover a number of the points he covers in the article giving my spin on the issue. That doesn’t mean he is wrong, I just see it differently. I could be wrong… nah… not me. You’ll make your own decisions on that.
Category
Steam has game categories. SL fans have opinions on which category the Lab will list SL. We have no clue what the Lab will do. Is SL an adventure game? Is SL a Creativity Tool?
With the release of the Havok 2012.1 update and Pathfinding came an increase in bandwidth used. In the articles #SL News Week 33 and #SL News Update Week 33 I mention the problem. See JIRA: SVC-8124 – Excessive “ParcelOverlay reliable” messages sent by regions since last rolling restart (2012-08-08). Votes=124 – Watches=90 – 8/24. Resident interest in the JIRA shows it obviously not a big issue, unless you have a bandwidth capped/metered Internet service.
Networx Bandwidth Monitor
The fix for SVC-8124 was added to all 3 release channels to increase the probability that it can roll to the main grid next Tuesday.
I asked Oskar Linden if the Lab has seen an increase in bandwidth used since the PF release and 8124. He says not that he has heard. I suppose that means either it is a small enough problem, for the Lab, that they aren’t talking about it in house or Oskar has had his head down working and not noticed it.
Working with Pathfinding I’ve needed to do some things I don’t normally do. Basically I avoid doing rotations as much as possible because I just have not gotten my brain around idea of Euler-Quaternion and why gimbal lock is a problem.
The new task I needed to accomplish is how to get my Pathfinding AI Character to look at someone in the area. We have lots of new functions that can be used to assist with that.
My Pathfinding Character
I looked at llLookAt(). This function points the positive Z-axis toward an agent or object. That creates an immediate problem because the llCreateCharacter() points the Z-axis up. I think one can rotate the Character to make the Z-axis horizontal, but that doesn’t work for my character that needs to be taller than it is wide.