Yes, it is possible. Airio can check all split/sector/lap times and compare them to current WR. You may specify how much better than WR can a driver be in all split/sector times. In case better than allowed time is seen, the driver is "kicked for security", bacause he's seen as using speed hack.
Time checking filter is by default turned off. So first step is to turn it back on on the server where you need to check times, that means in the appropriate SRV file (or the global one if it should run on all servers). As Bunder suggests, you do this by:
Then you should define in the same SRV file how much a split/sector time can be better than current WR. By default these values are used:
# Maximum (percentage * 100) allowed time comparing to WR - integer # 10000 = security kick on every sector/split time better than WR. # These settings may prevent using speed hacks, if they appear. AllowedSectrTime=9800 AllowedSplitTime=9900
The values mean that any sector time (between splits) may not be better than 98 percent of WR. Also any split and lap time may not be better than 99 percent of WR. To set custom values you need to calculate required percentages.
Well, I hope this makes sense to you. Note that all the values may be updated "live" just by saving new configs and typing !rld admin command. But to ensure the new condition is applied to all cars you need to force them to join the race (leave pits) again. The !sa command may come handy for this, it spectates all drivers.
Well, I hope after reading the above you don't need to change WR time table by hand...
Hm, no, currently neither of these options is available. I can imagine adding new config item into SRV file doing this both (or maybe better yet a link to some external text file containing the required data). Just like there are prohibited names there could be allowed names (optionally with car types) and a switch to turn on/off this filter.
In any case that would require new options and checks (neither of them complicated, to be sure), but also some work on the admin part, updating configs with usernames optionaly with car types
You should put SO6|5|UFB > BL2R|5|UF1 > KY2R|5|UFR without spaces
like this SO6|5|UFB>BL2R|5|UF1>KY2R|5|UFR and it should work...
and for restricted cars u must define ProhibitedCars ... On our server SHDTeam UF-BR we have defined UFB|UFR 45,0 and track rotation is not changed with ufr but since we give only UFR in server setup prohibited car is UFR and allowed is UFB. so other cars are not allowed
The rotation part works fine, track/laps/car type change on race end as expected.
The problem is the combos that use UFB...they change to allow only the UFR in the garage (this is correct), but joining in an unrestricted UFR is allowed.
I cannot prohibit the UFR as it is also used as one of the cars in the rotation of combos.
The only workaround that I can see at the moment is to set global restrictions to the UFR for only the tracks used by the UFB and not to use them for the UFR at all. Of course this interferes with our other servers connected to Airio, so I would need to turn off the checking for restrictions on all other servers, which again is not ideal.
I really like the features of AIRIO, and I'm wondering if it would work for a server we're working on.
We are looking to set up seasonal autocross competitions and have some specific needs.
1) Mostly locked setups for stock classes - only a few values can be modified
2) Limited passes on an autocross layout - "3 runs and done" - competitors cannot change name/car and race again after their 3 timed runs, but can spectate.
3) Auto points tracking based on class - Class could be in the driver name ... ASP-M.Williams maybe
4) Time based auto spectate drivers after each run - Maybe 5 seconds after they cross finish
5) Race join timer based on previous car's time on course - next car can join race 25 seconds after previous car starts. The standard autocross start timer can stay at 3-5 seconds.
6) Start queue with configurable timer - This would be spectacular!
If you could, let me know if this would be possible with AIRIO. I'm not familiar with the coding behind these apps, but we are working with someone who is. Thanks!
You are right, custom cars in rotation don't work as you'd like/expect to. As I note somewhere in changelog, custom cars are simply changed to standard cars for the LFS /cars command. Sooo, as it stands now you'd have no problem rotating tracks for a custom or standard car, but you'd experience exactly the troubles you describe when trying to rotate tracks and switch between custom/standard cars.
When I was addig custom cars support I wanted full custom cars support in rotation, achieved by changing prohibited cars string. But I'd run into certain difficulties so for the time being I decided to go the quick and dirty way. But seeing you (and sure others) need to switch the car types, I'll look at this feature once more.
Yes, it was temporarily out of service, but it is really a provider responsibility which I can do little about.
Well, well, this is complicated. I try to develop Airio as a flexible racing system with features that may be required by many. What you need is high customization and some very specific features. I'll try to comment shortly on some of those:
1) Very hard or impossible to achieve. InSim does not report much about car setup, the only usable parameter there being symmetric wheels (and maybe TC/ABS). You can't read detailed settings, much less compare them to some default.
2) Could be done, joining or changing car/name would mean a kick.
3) You could create classes using custom cars. Such have their separate complete stats incl. scored points (on each track/layout).
4) Surely possible (but I don't see the reason?).
5) Something could be done, but it will make exact timing basically impossible to achieve. The only exact times are reported by your LFS instance to server and then from server to Airio. It is not possible to stop the time for someone and while certain solutions are usable (e.g. artifically reduce the reported split/lap times by start delay value), they may prove to be rather complicated and inexact.
6) I'm not sure what this is. I have a request already for (maybe) something similar, specifically delayed start (with countdown) allowing for some shuffling on start grid. But then point 5 applies.
Problem with some of the above needs is they are highly specific. I have barely enough time to add (and also correct) features that are required/used by many. Now I'm not sure now how to close my response in some positive fashion. I'd certainly like to support your needs, but they should be universal and flexible enough.
Thanks for the reply ... yes, I know that these needs are rather specific.
As far as the start queue ... I meant a way for multiple drivers to basically "get in line" to race. So, say 5 drivers want to start, they would be queued and they would pop on to the start once the previous driver is that 25-30 seconds in to their run. This feature would help with confusion at the start line and should also get rid of the "car-in-car" bug.
And, as far as the auto-spectate, that's because we only have 3 or 4 cars on course at a time. We don't want any trouble from people finishing and deciding to loop around to run again in the middle of someone else's run. Since their race is technically finished, doing this would not result in a wrong way kick.
Again, thanks for the responses and answers to my questions. This info will really help us with developing a server for our needs.
I think I solved the troubles you mentioned (rotation with custom cars). Now the track/car changes not only convert custom cars into standard ones for the /cars command, but also manipulate automatically with prohibited cars string. So, if you use UFB in rotation string /cars=UFR would be sent but at the same time UFR will be a prohibited car and only UFB will be available. To have both, you need to specify UFR+UFB as new track cars. On the other hand if you specify just UFR, all custom cars derived from this one will be prohibited.
I believe this would be the expected behavior with custom cars acting as if they were real ones. All the above explained is also valid for the !/cars limad/admin command. I'm not particularly happy about manipulating with prohibited cars string, because it may lead to some confusion about current server state, but of course !rld may always be used to get back to default state according to config files.
It would be nice of you to download the latest 2.2.1 compile, just overwrite EXE and PDB files and test if everything acts as it is supposed to. Also in this compile I solved a thing about rotation that troubled me a bit, basically the hidden impossibility to use the same track twice in rotation. With current version this is no more the case, you may have the same track in rotation as many times as you wish.
No InSim application can make cars to appear on grid (join race), that always requires (I think) driver's action. InSim may only e.g. spectate a driver that has joined the race out of order (which would have to be communicated by messages).
I'm afraid thats's not possible. Penalties for false start are given by LFS server (or game) itself. I believe it is drive-through for small jump, spectate for large one. It would be possible to change the small jump penalty to something else (from clearing it to spectating the driver), but the spectating for large jump is hard-coded and I don't think we can do anything about it.
Aaaah, sorry, I missed this question. Well, surely it could be done, but I do not see what advantage it would bring. I feel line-separated stat files are just as good as tab-separated. Am I wrong?
Right, hi, I see what you mean. The main problem is coming up with a reliable detection of who caused the crash. InSim offers only limited set of data and currently I do not see an easy way to get good crasher detection.
Also obvious crashers are easy to discover. If someone crashes on purpose he will not stay long on any server with admins around (or, to a certain extent, on server with voting allowed).
But many, many crashes are caused by accidents - risky driving, game lags. Small touch between two cars may lead to awful results, cars flying, hitting other cars, everyone spinning, toppling.
Anyway, I've been asked earlier for some use of yellow flags caused and I'll try to implement some simple measurement using this indication soon. It will simply count yellow flags caused per finished lap and while it will never be perfect indicator (because you cause yellow flag also when you are crashed, not by your fault), once the value gets accumulated it could be reasonably usable.
Such a "safety rating" could be displayed when a new driver connects or something, it could also be used later to limit race joins or anything else. But my experience tells me that too many limits quickly lead to an empty server. On the other hand full server (demo or licensed) will always lead to crashes, even when there's no crasher around and all people have good lap times.
As for speed rank, you may at any time see best lap times of all connected people by typing !tm. In case youre interested in server-only times, use !tms. On the other hand !tmw will display only LFSW times. The best lap time may be optionally shown on each new connection (using LFSW option) and the FULL version also allows to assign licences to lap times so that you always know what driver level is joining. Get overview by typing !lice or just !lc.