We got some good grid testing in tonight and I'm pretty confident that there is some validity to the theory that user controlled cars cause lag on the p2p system which creates the potential for eff'd up grids.
The Quit-To-Pits method (i think StigsHero brought it up) does seem to work flawlessly. And comes with several added bonuses. We run a qualifying period, when the time elapses the host sends out a message telling people that the checker is out and that they may finish their current lap then they must pause and quit back to the pit box (not all the way to the lounge).
The host can back out into the lounge and go to 'watch race', load up the live timing screen and look at the 'best laps'. Call out the names in order from fastest to slowest best lap time, that way everyone knows where they belong. Then the host can jump back into the race and start it.
We did this 4 or 5 times and when I was the only one backing out to the lounge it remembered my time and put me back where I belonged 100% of the time. I speculate that this is because there was no timing information on the network, so the game didn't have an opportunity to mess things up while I was in the lounge.
The nice bonuses of this is that the host can jot down everyone's best lap, which is kinda fun bonus data to know. Also everyone knows where they're supposed to be for certain, since lap-times were verified by a human. I know I don't trust the timing tree at all anymore. I've seen it put my on pole when I ran a slower lap than the 'best lap' I've seen it put me in P6 on the tree (when we all only ran one lap) and start me P7... I just don't trust it. The timing screen is the only place a human can verify the star order.
Another nice bonus is that it's the only way that allows for a race restart without re-running quali or trusting the timing tree. In the even that something does go wrong, everyone knows where they're supposed to be so the track can be reset and we line up on the warm-up lap and hit start like last season with the live knockout quali.
Another added bonus is that it's pretty well known that with a full room there is a pretty good chance for a black-screen-of-death or turn1 lag issues... It's pretty well accepted that everyone quitting to pit before hitting start ensures the least amount of lag and least probability of a bsod.
We didn't get to test with a 'big grid'. The most was 7 people. But we got a lot of nice variables tested. I tried a tire-change and it didn't mess up. We tried many laps, one lap, both worked fine. Also got some instances of people quitting, joining, and spectating, none of which messed up the grid when we did quit-to-pits.
We tested some other methods as well, pulling into the pits and pausing isn't good enough. My hypothesis is that this is because the cars are still user controlled, so the lap timer is still running, and timing data is still being sent around the p2p cloud, so there is still the potential for lag to mess things up.
So my recommendation is that this should be the procedure:
1. After warm-up reset the track
2. Run 15 min of quli
3. After the total time has hit min 15 the host sends out a message saying "Checkered flag is out, finish your lap and quit to the pits".
4. Host then backs out to the lobby and goes to 'watch race' and then the timing screen
5. Here the host can verify that everyone is off-track. Then send messages telling the order of the cars. "p1 outlaw"; "p2 turbo"; "p3 brosif" etc... (feel free to write down times and order if you're awesome)
6. Host then backs out of the 'watch race' and re-enters the track.
7. Hit start race.
If your order is wrong, SAY SOMETHING!
The host can then reset the track and we grid up in the established order for a restart.
This seems to me like only adding another 2-5min of work and delay to 100% ensure that the start of the race cannot be messed up by bugs, the internet, or d/c issues.
Thoughts?
p.s. if you say TL;DR I will keeeel you.