How does LFS manage InSim checkpoints with same x,y,h but different z? When you drive above them is there a max height you can be above them for the detection to work?
This would be a welcome improvement although I try to think of situations where it could be useful to "overwrite" IS_PLC with /cars. Would /cars be ignored by IS_PLC so that you can actually select a car which is not enabled by /cars as that sounds like a bad idea. IS_PLC should remain less powerful than /cars but this will still be the case or did I miss the point?
Other observations:
• Is it intentional that a race car spawned by IS_JRR has pit speed limiter turned on by default?
• I always found it annoying that you can't force a player to click GO when you did /end and changed to a new /track. Is there no way to force the track to show so that you don't have to wait for the players who clicked "join race" to click "GO"? (It would be useful for automatic track rotations)
EDIT:
One more suggestion. When /canreset=no you get "Car reset is not allowed on this host" and no IS_CRS reply is sent. If instead you still send it, with IS_JRR it would be easy to decide if the player who wanted to reset is allowed to reset or not but you would have to remove the "Car reset is not allowed on this host" message.
Can I get some clarification on how the IS_OCO packet is supposed to work, as I can't get it to change the AutoX start lights. The main start lights work OK.
I set the Data to the bulb bits I want to show, I set the Index to AXO_START_LIGHTS (149), I set the Identifier to whatever its set to in the editor, and I set the Action to OCO_LIGHTS_SET (5). However I cannot get the AutoX lights to change. If I set the Index to OCO_INDEX_MAIN then the main start lights change fine.
Can else someone else check that they can get the AutoX lights to work?
Yes, I meant those little portable start light things.
Anyway, I figured out the problem, you need to add the AXO_START_LIGHTS objects to a layout, save the layout and then reload it for them to start working. Maybe this was common knowledge, I don't know much about AutoX or the layout editor.
I'm about to upload another programmer one here before I do the export and upload of the big patch. First I'll answer a few questions.
No, you just have to be above them, it doesn't matter how far above. So in a multi layered track you can put high checkpoints that you must be high up to cross (e.g. on concrete). However if you have some on the ground level and don't want a high car to trigger those checkpoints, you should make sure the high track doesn't cross those checkpoints. It was the safest way to implement it, even with this limitation.
Well it would be equally powerful, but limited to one player. It would not enable cars that were not allowed on the host anyway. You would be allowed the subset of host allow cars and PLC allowed cars. The only change would be that if PLC disallowed a car, you would spectate and couldn't rejoin with it.
Good find, now fixed.
I've also added a new IS_SLC packet containing the 3 letter car name of the selected car, when a connection first joins and if he ever changes car after that point. So you know if he has a car selected or not. This is helpful for when you try to make a remote player join, and want to know what car he would have, or he can't be made to join because he doesn't have a selected car.
It is not useful for players who are already in the race, and should only be considered for spectating players.
This has a side benefit that Flame requested. Now the host knows what car a connection has selected, so when you use the Admin "add connection to grid" PLUS button it gives you a message if the connection has no car selected.
That would be a big discussion. People do like the ready system. For now if a player has gone AWOL it's probably better just to spectate him, so he doesn't end up on the grid while he's away.
Pleased you've got that going.
I've made the middle light amber in the version I'm about to upload.
In which case, would it be possible for insim to give some kind of notification of who is/isn't ready so this can be automated? (Or is it already possible and I've missed something?)
While we're still in incompatible mode, any news/thoughts on per-player forced handicaps? Would it be too complicated to do in this patch cycle? Perhaps IS_HCP.Zero could be re-purposed to be UCID/PLID?
Anyone else notice any issues with the DCon.exe in these test patches?
I had issues with K21 and older versions running with wine on Debian. When I left the DCon overnight the server would die overnight due to a stack overflow.
I'm not sure what the issue is because the server was completely empty when it happens.
I am testing K26 overnight now, will report what happens.
This error message is is only shown if the connection has no join request waiting for a reply.
Maybe you are sending two JRR packets, or another InSim program is connected that already sent a JRR. Or your program took 3 seconds to reply and the player joined already.
I see in your example, you already left the pits before the JRR. So it looks as if your JRR is arriving after a successful pit exit. But that should not be the case.
So, is it like with the first JRR response that LFS gets from any insim connection, car gets on track?
If so, I think that it should be explicitly stated somewhere in docs/InSim.txt, because one might expect that LFS will wait for 3 seconds to give every program chance to forbid a player to join.
About JRR. I noticed some servers that don't use insim, have a small delay after you click OK to exit pits. Is this needed(when there's no insim connected i repeat)?
A packet goes to the host, the host sends a player info packet to all guests including yours, your guest then sends a car info to the host, the host sends that to all guests.
So... yes, a delay is inevitable. Shouldn't be long though, and it's no longer than it ever was before.
If you have a 3 second delay then someone must have switched on join requests but is ignoring them.
But you can not connect to S3_host having only S2_license. And you can not change s1/s2/s3 host_mode while host is running (that would be actually pretty cool, but maybe too much effort).
Otherwise, license info might be useful to see how many people that come to your server have S3 already, so you can restart server in s3 mode