The online racing simulator
Airio 2.1.7 is available. See the change log for complete list of changes/updates. Note that a setting is now available allowing to require symmetric wheels in all cars. This may help to create a racing environment less dependent on car setups and more on driving skills...
Hello EQ,

first of, it's very nice of you to share such a program for us.

Easy to setup and run, but I do couple questions that I could not find the answers.
I use the latest FREE 2.1.7.
Airio runs without any problem except these 2 at below;

1) The Error Message I'm getting in Airio Screen. No idea why I'm having it?!
"#1 - String cannot be of zero lenght."

2) Selected RB4 and started a race in SO4, then getting these messages;
Point for winning in car category : XFG XRG -> 1
Best split 1 - aRIf : 0:50.35 (XFG)

I'm having same problem when I drive XFG on BL1 I'm getting all the data for FBM.

Thanks in advance.
Hhhmmmmm, very strange things. Concerning problem #1 I may see/solve the cause if you give me additional error info from Airio.log file (look for "AIR ERROR" there). Problem #2 it yet stranger. Only one cause comes to mind: You are connecting Airio directly to the LFS game, I mean to the application with GUI, driving, everything. Airio is designed to be connected to a dedicated server, the console running without GUI, just managing connections and such. With the game you then connect to the dedicated server and everything works as it should.
Thanks for the fast respond.

1) Here is the log. FYI: I got this error when I enter the garage
09.03.28 00:26:41 #1 C12P13 arifa4 - Joining race : RB4
09.03.28 00:26:41 #1 AIR ERROR: String cannot be of zero length.
Parameter name: oldValue
at System.String.Replace(String oldValue, String newValue)
at LiveForSpeed.InSim.Airio.Airio.AdjustText(String txt) in c:\Development Files\LFS_Airio2\General.cs:line 87
at LiveForSpeed.InSim.Airio.Airio.CheckText(String txt) in c:\Development Files\LFS_Airio2\Checks.cs:line 51
at LiveForSpeed.InSim.Airio.Airio.NewPlayer_Handler(Connection sender, NewPlayer p) in c:\Development Files\LFS_Airio2\Inits.cs:line 508

2)It's a dedi. I have my lfs dedi on a windows 2003 dedi. It's online right now if you wanna connect and take a look at?

name: RaceSimTurkiye Test
pass: pencere
Ah, right, I can see that. Look inside Airio.cfg.txt file. Did you add there any new Replac items? If so, make sure you do not have there Replac=~, because there must be at least one character before the ~. I'll add this check into the code, so that such defined and invalid items are ignored. The 2nd error (not recognizing your car type) will be a result of this one, because the race join procedure is never finished in the right fashion.
I did not add/remove any Replac, infact only thing I did in Airio.cfg.txt is adding ServerID (3 letters) and IdentKey.
It has been brought to my attention that the line 'Replac= ~' may be causing the troubles. Hmmm, now I thought it is a wrong string trimming resulting from the file merging, but looking at the code and doing several experiments I still do not see the cause. This replacement definition (replacing spaces for nothing, in fact removing them from text) certainly works for me without errors.

Anyway, I updated 2.1.7 a bit checking for empty definitions, which should stop the error. Please just overwrite the EXE and PDB files. I'd be happy if you could do some more testing, like seeing if spaces are really removed from the text being checked. Just put some bad word on a numberplace with leters separated by spaces. You should be spectated.
I updated the .exe and .pdb files as u said, and it fixed the problem, I'm not getting error mesage anymore and car groups are the correct ones. I also updated my windows server and reboot it this morning before I tried these things but it works now

Thanks a lot EQ for all your help.
First of all i will say i noob at this....

but when i try to set it up, the second step says "Also find IdentKey item and copy there your LFSW generated key."

What is the LFSW generated key ?
and where to get it ?

Thanks a lot if someone take my question right,,,

btw cant i get 0-100 times whirt whis tracker ?
Quote from Sok2807 :... the second step says "Also find IdentKey item and copy there your LFSW generated key." What is the LFSW generated key ?
and where to get it ?

Filling in the IdentKey in Airio.cfg.txt file is optional. If you do that, Airio will be downloading complete PB table from LFS World for each connecting player. Such data can then be shown using various commands (such as !time or !pr) and used as a split/sector time comparison base.

Go to www.lfsworld.net, open My LFSW Settings, switch to Pubstat Access tab. Click on Generate Ident-Key and copy the random generated long string of chars and digits into Airio IdentKey item. Save the file, reload all settings/configurations using !rld if Airio is already running and you're done. Default Airio installation contains some info about LFSW stats for players. You can read those by Shift+i > Server Notes.

Quote from Sok2807 :btw cant i get 0-100 times whirt whis tracker ?

You got me lost there. What do you mean?
I think he means the time it takes to accelerate from 0 to 100 kph.
Ah, I think you're right, thanks for help.

Yes, you may see acceleration messages showing time and distance required. But this in the default Airio install turned off at the server level. There are three items concerning acceleration messages found in Airio.srv.txt file:

AccelerationShow=false
AccelerationSpeedKmph=100
AccelerationSpeedMiph=60

The first one turns on acceleration calculations on the server. Note that even when the calculations are running, every user is free to turn off the accel messages for himself in case he considers them useless/spam.

The other two items specify target speed in kilometres per hour and miles per hour. The value is chosen according to driver's personal speed measurement units settings. In case you're running a server with strong cars, you may raise the target speeds e.g. to 200 kmph and 125 mph.
Does anyone can help me? In Airio statistics files Airio.sta.un.txt and Airio.sta.cr.txt contain line:


[B]date/time[/B] of the PB (serialized value divided by 600000000 to round it to minutes)

Is anyone able to explain to me what to do with this number, the result could be the date with time? I use this in website with PHP.

Thanks,
Okram
Hm, I use this to deserialize the value in C# and .NET:

DateTime datePlay = DateTime.FromBinary(long.Parse(sr.ReadLine()) * 600000000);

But I really don't know if there's some similar function in PHP...
Ok, i don't know if i'm doing something wrong... i want to restric the use of TC in the server, so i set in the Airio.srv file this...

Quote :# -------------------------- Car Filters -------------------------- #

# Check for prohibited tyres, passengers, handicaps - booleans
CheckTyres=true
CheckPassengers=true
CheckHandicaps=true

# AIs should never be allowed, spectate them from race - boolean
CheckAI=true

# Filter to check car setup and compare it to allowed - boolean
# Gears = automatic gears, Brake = brake help, Tc = traction control,
# Abs = anti-blocking system, SymW = symmetric wheels.
CheckSetup=true

# If setup filter is active you may allow/disallow a setup - boolean
SetupGearsAllow=true
SetupBrakeAllow=true
SetupTcAllow=false
SetupAbsAllow=true

# If setup filter is active you may require/enforce a setup - boolean
SetupGearsForce=false
SetupBrakeForce=false
SetupTcForce=false
SetupAbsForce=false
SetupSymWForce=false

Should'nt this spectate o restric people to use the TC?
or did i miss something in the cfg file

Thx in advance... sorry for bad english
Your settings look correct to me. Is there currently any car supporting TC available so that the feature may be tested? I know Scirocco will have TC...

Ah, of course BF1, I'll test the setting to make sure it works...

OK, tested, with TC active I see:

Disallowed car setup : TC
[AA] EQ Worry : SPECTATED FOR BAD CAR SETUP

Without TC active I can join. So I think your settings are correct and will work.
Well i don't know what's happening.
I tryed in my server and nothing. not BF1, not FZ5, nothing...

Server: LFS Venezuela S2-A
After some discussion online I believe we found the cause of the trouble. The TC is reported by InSim only by patch Z7 or newer/higher, and naturally the mentioned settings may be used only on such compatible server.
Quote from EQ Worry :After some discussion online I believe we found the cause of the trouble. The TC is reported by InSim only by patch Z7 or newer/higher, and naturally the mentioned settings may be used only on such compatible server.

Exactly
Thank you very much for you time my friend.
trying to figure out all these config files...

in the docs, it mentions Airio.cfg.tc.txt, but when i unpacked the zip file, it wasn't there. i found the info i was looking for in Airio.cfg.txt, so no biggie there...

(edit: i see they merged the stuff into the main .cfg.txt file.)

i'm trying to figure out where i can set the default car on a per-server basis. i tried in Airio.srv.1.txt but nothing there... then i tried Airio.cfg.1.txt, but it didn't want to do it there either... is it even possible with airio?

(edit: now that it's in cfg.txt, i'm not even sure if i can do this. i even tried:
Track=
Car=UFR
IntakeRestriction=45
DefaultCar=UFR+XFR
Car=XFR
IntakeRestriction=45
DefaultCar=UFR+XFR

which doesn't work either... not that it would do anything to spectators.)

thanks

edit: can it also rotate layouts? i saw it has support for autocross stats...
Right, what you are struggling with is a bit outdated docs. Not by much, but still. This is from the changelog:

1) MAJOR: Substantial changes to the configuration files – merging of SRV and FIL files into Airio.srv.txt, merging CFG, CFG.NC, CFG.TC, and CFG.LC files into Airio.cfg.txt. Old arrangement would still function (at least for some time, until IncludeFile directive is supported), but this new one substantially reduces the number of external files, making it easier to find the related items.

2) Also the text lines from TXT.FQ, TXT.RL, and TXT.NT were moved into a new section of Airio.cfg.txt, with new items TextFAQs, TextNotes, and TextRules available. The old arrangement in NOT supported, the three formerly used TXT files are ignored. Any changes in FAQ/Notes/Rules buttons need to be updated by !rld, just like all other items.


Simply put, all the CFG files were merged into one which contains items valid for the running instance and not changeable on individual servers. The SRV file on the other hand contains items that can be redefined on individual servers - you just copy them from the main SRV file and put them into Airio.srv.1.txt. You can do that with DefaultCar and any other key in the main SRV file.

Rotating layouts, hmm, currently not supported, but I guess possible with a small update. Then you may be able to use tracks as BL3_Layout1 > AU4_MyFun etc... I will test this and see if that's possible in some easy fashion... And yes, it will store stats based on track/layout name, which you can display using !sb, !pb and other commands.
ouch, update whilst editing.

ok, well scrap that post...

Quote :Simply put, all the CFG files were merged into one which contains items valid for the running instance and not changeable on individual servers. The SRV file on the other hand contains items that can be redefined on individual servers - you just copy them from the main SRV file and put them into Airio.srv.1.txt. You can do that with DefaultCar and any other key in the main SRV file.

I even tried that too without success. The ones in .cfg.txt and .srv.txt are unset, and the ones in .srv.#.txt are set... but it doesn't honor them it seems.

thanks for looking into the autocross stuff... i'll wait for that new version before i consider converting my rb4-bnj to airio.
Hi! I'm not sure what do you mean by "does not honor them". If you put DefaultCar=RB4 into Airio.srv.1.txt (and save the file and reload settings by !rld), certainly your server 1 will have RB4 as the default car.

Note that default car is simply assigned to every new connection temporarily and may change when that driver joins the race with a real car type. DefaultCar is not a server setting specifying what car type is available.
Quote from EQ Worry :Hi! I'm not sure what do you mean by "does not honor them". If you put DefaultCar=RB4 into Airio.srv.1.txt (and save the file and reload settings by !rld), certainly your server 1 will have RB4 as the default car.

Note that default car is simply assigned to every new connection temporarily and may change when that driver joins the race with a real car type. DefaultCar is not a server setting specifying what car type is available.

well... for example...

Airio.cfg.txt
DefaultCar=

Airio.srv.txt
DefaultCar=

Airio.srv.1.txt
DefaultCar=UFR+XFR
RotateTracks=BL1|6|UFR+XFR > SO5R|6|UFR+XFR > FE2R|6|UFR+XFR > KY2|4|UFR+XFR > WE1R|4|UFR+XFR > AS1|6|UFR+XFR

if i type !top for example, i get "BL1+((nothing))"... shouldn't it be "BL1+UFR+XFR"?

edit: another thing i was looking at...

Airio.srv.txt
SetupGearsAllow=false
SetupBrakeAllow=false

any possibility of adding options to block/allow KB/mouse/shifter users?
So which car is default if a combo has both the UFR and XFR? It should be just one car, or am I mistaken?

AIRIO - Advanced LFS Tracker
(2387 posts, started )
FGED GREDG RDFGDR GSFDG