You've got "Thread.Sleep(1000);" on line 54, which is the one second pause between yellow and green - I don't know about the lang/framework you're using (edit: or best practices for it as Bose says), but that 1000 just needs to be a random integer between 1000 and say 5000 for a random 1 - 5 second delay.
Does this necessarily mean a qualified lawyer? Could it be something easier liked a named volunteer acting as part of 'party in question'? You'd probably need a lawyer to know for sure, but worth a thought maybe.
I've always wanted to see praise from someone with a reputation of being able to jump into any car and go fast, like one of the top gear ex-Stigs. Something along the lines of "I've tried them all, LFS feels closest". Too busy throwing darts at pictures of Clarkson I guess, but you can't blame them for that
I realise the messages themselves don't do it, but if that message accompanies the unwanted restart... find one, find the other, no? I think I'd probably have to give up coding altogether if I didn't have wingrep to get me where I want to be
Do a text search of the entire lapper directory/subdirectories for a short part of the message you're getting, like "friendly"... that should get you to the right place in the code.
It's in the flag packet already, there's a 'CarBehind' byte which id for the other car. (I don't know if Lapper does anything with it)
Even then though, there's a times when I've gotten the blue flag over and over again for a car that is behind me physically, ahead in the race, but can't catch up. Same car each time, but I'm not doing anything wrong by not parking up and waiting for it to pass
I gave up on penalties because I couldn't discount those situations without more checks than I was willing to invest time into.
edit: not sure if the lfs://join= link thing works with those funky circles in the server name... but I can't see it doing a server list to join manually either.
Yeah, I make it 4 too, give-or-take the odd threshold/race condition. There's got to be some skipping going on somewhere, but I just can't think of anything other than lag that would cause it.
Can I just double-check? The DCON is on your local machine, the insim is on your local machine and connected to the DCON locally, and you drove the car yourself with a local client?
That would be nice, and there's a spare byte in CompCar. It could be an interval count with a low cap to squish just enough information into a few bits. (0 is no lag, a 16-dot tangent from the above settings would be 4, something like that)
You're right, DCON doesn't do physics, it just coordinates sharing the end results between all the clients.
How're you getting 40ms updates? That's 25/sec, MCI is 4/sec default and 6/sec max, IIRC. One of your tangents is around 16 dots long from where it deviates to where it corrects, that's 2/3 second at 40ms, you should have at least 2 MCI packets in that time even at default rate. I'm totally lost now, sorry :/
I made a tracer a while back and haven't run across this problem myself, but it doesn't run at anywhere near as high a resolution as yours, so it might be present but hidden within tolerance (2nd image on https://piranmoto.co.uk/tracks/203). There's a couple of places where it looks like it could have happened, but they were in fact crashes
--
Edit: Ahhhh, maybe your insim is set to 40ms in the ISI, but your DCON is set to something else? (/pps = x in the .cfg)
That would mean the DCON, lacking physics, would have nothing to go on but previous heading and velocity for 6ish of your insim reads, before the next time it had up-to-date info (4 writes per 25 reads). The tangents are longer than 6 dots though, so I'm still not dismissing some hidden lag somewhere
That looks like a laggy car - LFS will keep it going with the same control input if it doesn't get an update, then correct when it does. Usually you don't notice the very small corrections, but a lot of lag around a corner would look about like that.
Weird that it seemed OK to you in game, that would seem to rule lag out. Is the insim on the same computer as you? If so, maybe the insim got laggy data while you didn't?
Edit: I've just thought - there's a flag for lagging in the CompCar in the MCI you could use to check. You could plot the point in green if the flag's not set and red if it is. If it is lag, your tangents should go red and the bits where it is behaving as you expect should be mostly green.
I don't know that framework, but it looks like you're sending everyone to pitlane whenever anyone hits node 56 - you find the right player but then loop through all the connections.
...castor angle too. You can dial in/out much force feedback through castor angle. Dunno if it's enough to account for what you're experiencing, but it is a lot.
There are many setups for specific car/track combos here: https://www.lfs.net/files/setups, and if you ask for a set on the server, you'll often get one sent to you.
To keep us all occupied and at least half-sane during these crazy times, the recently deceased LFS Bangers league has been resurrected for an until-further-notice series of Fun Nights to be held on LFS Bangers and PiranMOTODestructionDerby!
Many races in many cars on many small ovals, all with much contact allowed:
You may bump, push, rub, knock and pit-manoeuvre anywhere on the track.
You can follow-in (push a car through through the braking zone and into the wall) and even oppo (wrong-way driving/crashing) at corners, but, you should not cause another car to be destroyed completely or leave the track on purpose. You may not drive the wrong way on the straights.
Please note: The point is to take people out for long enough to get past, not for the whole race It's a lot more fun - and requiring of a lot more skill - to push past a car without taking them out completely, and then defending against them returning the favour. Grudges are perfectly fine, just keep them within the rules - another reason to only use the force you need to pass
Many races in many cars on many stunt-type tracks, all with all contact allowed. "Just win"
On this server if you end up upside-down you can be flipped back onto your wheels by using the command '!flip'. You must be still, and damage will not be repaired.
PLEASE NOTE: These are all at 20:00 UK Time - UK clocks go forward one hour on 29th March! This Sunday's event will be 23 hours after this Saturday's.