Right, I see the problem. What you suggest is now implemented in Airio 2.3.6c, using 33rd field in STA.CR file. Default zero is replaced by value corresponding to 1.1.2010 and updated on every record update (e.g. on every lap finish). The statistic files are stored regularly every 5 minutes, when updates held in memory are persisted to disk.
Yes, indeed. It is not 100% reliable due to small lags which result in cars seen by server for a short while on some other place than they really are, but using a bit of tweaking path checks work quite well.
First, you need to copy the files into PTH directory under Airio, use version 1.2 availabe on download page.
Then activate path check using CheckRacePath=true in the appropriate SRV file.
That is basically all, only you can adjust RacePathDelay value setting for how long (in 1/10 seconds) it is ignored being outside proper path. Default value seems to work good though.
There is no need (I think) to change OffPath value for any track in TCD file, if updated path definitions are used.
To check the system works activate for yourself path check info. Do !opt and enable Path Check button (combined with Distance). Then you'll see in chat when you're leaving proper path and getting back. Time of laps with failed path check are ignored, driver is notified about the fact if that would be his PB.
Faster is not possible because it has to loop through the complete STA.CR file.
Only further improvement is possible when you are able to write the STA.CR based on that timestamp, newest first. So it aborts looping when it detects older timestamps than already processed. But the server load has decreased dramatically now and that is the most important thing. Looping costs time but isn't 'heavy'.
Ha! Good! One thing you should change in your setup: Move calling the stats update script from SRV file to CFG file, where it belongs. There's and item for this and also it is logically correct to use CFG, common file, because stats are also common. Furtermore, there'll be no "DB updated succesfully" public message, the text will be only in the LOG file.
Hm, I guess that is around node 522 (see the pictures a few posts above)? Concerning pit exit check, on KY2 it is, unfortunately, almost unusable, because of the way the track turns and the fact that small lags result in virtual straight movement of the car going from pits, right to the racing path. An option could be to use longer delay, say 10 equal to 1 second.
In need of a little help. It's probaly something that I'm missing or leaving out all together, but I can't seen to get the ranks/classes working on the server. We are a small group of players that like to get together and have fun and would prefer to use a ranking system. We bought the full airio version after using it for a while and were really impressed with it, Thanks EQ, your doing a great job. But my problem is that the !rk, !lc, and !rt all show to be working when called, but the car selection does not work. I saw in another post to set the lfs cfg to all for car selection did that and still no luck. When you joined it would show the proper class but in the garage there would be FXO and XRT set for selection. So for time being I just did a !/cars XFG+XRG+RB4+FXO+XRT and am just running those cars till I can figure it out. Like I said it's got to be something I'm not doing right, so any help on this would really be appreciated!
Below is a 2 class version of what I'm trying to do.
and for your rating, it wont be 75, it will be whatever integer the 75% is.
for example: if in .tcd file your ratings are: LicenseRatesText=35%,55%,75%,95% your LicenseRatesLevels=35,55,75,95
and they would be considered 1,2,3,4. so for rating level in .srv you could put RB4|3 for 75% rating requirement
There's several problems in these definitions. First, to use licence/rank/rate requirements in SRV you must first define in TCD file what levels will exist. You have no licence times defined, so you cannot use LicenceSpecific. Also rate levels are set in percents * 100. Then, as z-ro says, you use just number of licence/rank/rating, not its name. Also licence cannot be based on two cars the way you have it. Overall, the setup may work with the following changes:
From: Airio.tcd.txt file
LicenceTimesText=Licence1, Licence2, Licence3
LicenceTimesRel=500, 400, 300 # these are % * 100 over current WR
LicenceRanksText=Rank1, Rank2, Rank3
LicenceRanksPoints=0, 175, 500 # these are simply points (total, !ptt)
LicenceSpecific=RB4+FXO|2,XRG RB4+FXO|2,XFG # 2nd licence (WR+4%) in XRG or XFG required for RB4 and FXO
RankSpecific=FXO+RB4|2 # 2nd rank also required (175 pts)
RatingSpecific=FXO+RB4|2 # Also 2nd rating level required (75%)
There's no need to say what is required for XFG+XRG, these cars are simply always available. Also note that under default config limads and admins are allowed to join regardless of licence/rank/tating requirements. To make everyone equal use AllowJoining=6 in CFG file.
To my suprise Airio does not log real race point totals as championship competition. It includes all points gathered during a race, also improvement, climber and I think support points.
I think that is wrong. All other points than race points are individual and should not be counted in a championship league table.
Another thing, I would like to see that Limads could influence safety ratings directly with a command. Sometimes racers in faster cars suddenly become dangerous and it would be great if Limads can reset that safety rating (I prefer even under default). Now most of the time people who crash someone else don't get a bad rating because the one who gets crashed causes a yellow flag but the one who actually crashed the other one will get away with nothing.
It will be also a great tool to give light punishments (for example; -5% or -10%) and is far better to create clean racing than just kicking or banning. In my opinion.
Uhm, a point is a point, it always goes to total as well as champ data (and optionally also to playing/driving), regardless of its origin. Note that "champ" in this sense means simply everyday racing, just limited to one week or one month, with winner maybe announced in welcome messages or on a Web page. If you want to run a real championship, say with special races once a week, you may turn on champ points gathering only for the event and also disable all special points (climber, improvement, good laps) for this special occassion.
Yes, good requirement, I'll write it somewhere near top of my TODO list. I'd also like to add configurable rating decrease on each forced spectating and kick/ban.
The problem is LFS may be reporting pretty weird lap times e.g. in practice and to have reasonable data it is best to simply ignore 1st lap. In race this works well and my tests show it works (after latest updates) even in qualification and practice, so I'm a bit surprised it is still reported as a bug on the LFS Spain servers. Maybe just some updates confusion... I'll do some more tests