The online racing simulator
Quote from Gai-Luron :Hello,

Hello Master. First let me tell you that your Lapper was a great source of inspiration for me. It is almost one year when I started to add new code to Lapper to support things we on the AirAttack considered as necessary - bad language, bad tyres (in rally), sector timing info, etc. For a time we ran "LFS Lapper by Gai-Luron modified for AirAttack by EQ Worry".

But then new ideas were coming in and it was not possible anymore just to add some makeshift code into your application. So I started experimenting with LFSLib by Arne Claasen, trying to make it work and slowly a completely new application was emerging. I was processing more and more InSim events, creating more and more variables for different purposes, you know how it goes.

The application got its name in time, Airio, and I was working on it very hard - add new code, test it, put it online, see what bugs there are, and run the whole circle again with something new. I started to use external configuration files, came with "live" update idea, then user messages localization possibility, large graphical interface to make it user-friendly, and such. Latest substantial change was moving the whole application into my own InSim library (Christmas time well [?] spent) called Aegio (contained inside Airio), so that now I have complete code under my control.

Currently Airio cotains over 500 thousands characters of source code, you may also add to this number 150 thousands characters of the Aegio InSim library. It is huge. Sorry for this introduction, I hope it helps me to answer your two questions:

Quote from Gai-Luron :1) Why do you have two version with one limited?

As I said several times already, I've spent large amount of time developing the application. I was neglecting my real work in an unbelievable fashion for almost the whole of 2008. Naturally I've directly lost lots of money I could earn doing something else.

Still, I'm offering most of my work to the LFS community in the FREE version. Its limitations comparing to FULL version are not substantial (connecting "only" four servers at once), there is just a few advanced user features missing (soft splits, race progress), and some admin stuff (remore FTP, IRC).

With all this I hope to get some money. I realize this may be a touchy subject, but I need to feed myself and my family, that's clear. I'm pretty sure I'll never get back all I invested. Still I hope there'll be enough people in the LFS community (both admins and racers) that would like Airio and that may donate a few dollars, euros, or pounds to support further Airio development. It takes lots of time to add new things. FREE compile is for anyone to use, I'm just asking people to seriously consider some donation if they like the application and intend to keep it or require some updates.

The FULL version is currently running only on AirAttack servers. It exists as a small incentive to see what else can be done. It is not available for free, but as I say in the docs anyone can get it for "sufficient donation".

Natural question: "What is a sufficient donation?" Airio is a server tool. One copy is used by many people, and also by several servers at the same time, everyone should realize that. Would you consider getting the FULL version for 5 or 10 euros? Good. Convince 19 other people from your team to donate the same amount and you'll have it on all your servers immediatelly.

All in all, 90 percent of Airio is free for anyone (with optional donation). If you want something better or special, then it may not be for free, simply because there's too much effort in the development.

Quote from Gai-Luron :2) Why don't you release source? (Easy to retreive in C#)

I do not plan to release the source code. One reason is contained in my answer to question 1 - I do not offer some portions of the code for free, so I may not make it available.

The other reason is that I'd like to have it under control. I'm not sure how many people would actually burry themself in the source code, coming with new ideas and implementing them for their servers, creating custom versions. For now I prefer this: Give me your ideas, I'll try to implement them as options, then make them available. This reason is close to why LFS developers do not create track/car editors.

The last reason is that I consider myself a lousy programmer. Experienced eye may probably see in the code many areas that could be improved, generalized, refactored, optimized. I'm not going to give people reason to laugh at me.

Quote from Gai-Luron :Continue your good job.

Thanks, I'll try. Anyone should realize though that he himself may help to make the application better and keep the development going on. FYI: Donations for continued Airio development received up to date - total of 55 dolars... Note that I'm not money-hungry, but you should not make me die of starvation.

Take care and see you around!
Hello,

Thank's for your answer, i know now yours reasons.

Good Dev.

Gai-Luron

PS: I'am not a master , if you take a look at Lapper source, you can see that is so dirty code. it's my first object and c# application ( i work on a new version of Lapper with, in part, code a little cleaned ). your code seem more clean and most oriented object, good! continue in this way
Quote from Gai-Luron :PS: I'am not a master , if you take a look at Lapper source, you can see that is so dirty code.

Maybe LFSlapper code is not the cleanest, still it is very inspirational. And besides you created other cool apps such as LFSstats. I like that one a lot.

Airio 2.0.8 adds new personal settings options, such as turning on/off acceleration data and drifting points. Anyone can also display drifting board with data about current/last drift: Angle, speed, time, points. Drifting score calculation has again changed, the previous was giving way too many points for long drifts. Note that for the acceleration/drifting buttons to be available these two features must be turned on in server settings by an admin. In default state these measurements are turned off, not available to racers.
This is a great script and wasnt that hard to configure
+ side is that i saved alot of memory on my server by running it AND it looks good.

- side i cant the restriction part to work on my 3:e server.
trying to set intake res to 40% on MRT results in nothing.

will upgrade to 2.0.8 asap.

any help configuring this would be great.

feel free to contact me.

/Mike
SCCS Teamserver
SCCS GT Challange
SCCS Rental-kart
Quote from Easy_Mike :This is a great script and wasnt that hard to configure

Hi and thanks for trying out the tool! It is programmed in C#, and it has EXE file, so I don't think it is a script. I'd prefer to call it an application or program, but of course it really does not matter.

Quote from Easy_Mike :+ side is that i saved alot of memory on my server by running it AND it looks good.

Saved memory comparing to what, if I may ask?

Quote from Easy_Mike :- side i cant the restriction part to work on my 3:e server. trying to set intake res to 40% on MRT results in nothing.

Hm, strange, it works OK for me here. To define such restriction you add into Airio.cfg.tc.txt (track/car dada) the following:

Track=
Car=MRT
IntakeRestriction=40

The empty track name is important, because then the restriction applies to all tracks. But you may also define specific track. Two other conditions must be met for the handicaps filter to actually run. You need to have in Airio.fil.txt (filters definitions) the following:

CheckHandicaps=true

That is a default state. Also generally Airio checks must be active. You may turn them on by this command:

!ch on

But again, that is a default state. When I have these settings and try to join with MRT, I'm spectated with these info messages:

MRT - Required intake restriction : 40
[AA] EQ Worry : SPECTATED FOR BAD CAR SETUP

OK, tell me if this explanation helped.
Quote from EQ Worry :Hi and thanks for trying out the tool! It is programmed in C#, and it has EXE file, so I don't think it is a script. I'd prefer to call it an application or program, but of course it really does not matter.



Saved memory comparing to what, if I may ask?



Hm, strange, it works OK for me here. To define such restriction you add into Airio.cfg.tc.txt (track/car dada) the following:

Track=
Car=MRT
IntakeRestriction=40

The empty track name is important, because then the restriction applies to all tracks. But you may also define specific track. Two other conditions must be met for the handicaps filter to actually run. You need to have in Airio.fil.txt (filters definitions) the following:

CheckHandicaps=true

That is a default state. Also generally Airio checks must be active. You may turn them on by this command:

!ch on

But again, that is a default state. When I have these settings and try to join with MRT, I'm spectated with these info messages:

MRT - Required intake restriction : 40
[AA] EQ Worry : SPECTATED FOR BAD CAR SETUP

OK, tell me if this explanation helped.

worked great.
and i even got the trackrotation to work..hehe.
now im thinking of the full version since the pitboard funktion made me
and i was comparing to LFSLapper btw..about the memory.

And script or application, potatoe poatoes..its still an addon.
and i must say this is te best ive seen sofar.

will contact u over pm when i got time to translate my mind to swedish then to english.
until then. keep up the work.
Quote from Easy_Mike :worked great.
and i even got the trackrotation to work..hehe.

Good... I'm always glad to hear something really works. :nurse:

Quote from Easy_Mike :and i was comparing to LFSLapper btw..about the memory.

I would think one instance of Airio would actually require a bit more memory than one instance of Lapper. But of course you may use that one instance for controlling up to 4 servers in FREE version, with memory demands raising only slightly with each connected server.

Quote from Easy_Mike :will contact u over pm when i got time to translate my mind to swedish then to english. until then. keep up the work.

Sure, I'm always checking my private messages.
Quote from EQ Worry :
I would think one instance of Airio would actually require a bit more memory than one instance of Lapper. But of course you may use that one instance for controlling up to 4 servers in FREE version, with memory demands raising only slightly with each connected server.

Exactly, i was running 3 instance of lfslapper and now i only need 1 for 3 servers.
saved me approx. 50mb in memory.

and about the FREE version. even if its a limited version it still kicks the **** out of LFSlapper. No offence Gai-Luron.
im totaly incompetent of programing.

now i cleared my head and will make the PM..hopefully we can continue the discussion over MSN or IRC.

/ Mike
Quote from Easy_Mike :and about the FREE version. even if its a limited version it still kicks the **** out of LFSlapper. No offence Gai-Luron.

As I wrote already, LFSlapper was a great inspiration for me, both in ideas and some coding principles. But then more and more new principles and new ideas were implemented and Airio got bigger an bigger. Some people may like scripting support of Lapper though.

Also note that calling the FREE version a "limited" thing is a bit of an overstatement. Yes, there are some advanced things unavailable, but all the core functionality is there. I'd say at least 90 percent of the code is for free. You won't find there only user things such as soft splits and private/server messages, admins may like FTP and IRC communication in the FULL version.

Quote from Easy_Mike :hopefully we can continue the discussion over MSN or IRC.

Sure thing. You may try to catch me on #Airio channel at Dalnet IRC servers. I'm also available on ICQ and MSN...
Quote from EQ Worry :As I wrote already, LFSlapper was a great inspiration for me, both in ideas and some coding principles. But then more and more new principles and new ideas were implemented and Airio got bigger an bigger. Some people may like scripting support of Lapper though.

Also note that calling the FREE version a "limited" thing is a bit of an overstatement. Yes, there are some advanced things unavailable, but all the core functionality is there. I'd say at least 90 percent of the code is for free. You won't find there only user things such as soft splits and private/server messages, admins may like FTP and IRC communication in the FULL version.

yes, i dont want to talk dirt about LFSlapper. it suits some people, and as stated was the foundation of this amasing Program. i hope its stated more clearly that i didn`t dislike lapper, i just choose this tracker for my servers since its "better" for me.

PM is sent, and u can reply when u stop spinning after reading it.

peace out/Mike
#86 - arco
Hi,

It looks like the RestartBtn config option applies to both a restart race, and a qualify session. I would like it to only apply for race restarts, any maybe add another option for qualify if possible - QualifyBtn.

I'm also wondering if it's possible to save the log files in their own sub directory?
Quote from arco :It looks like the RestartBtn config option applies to both a restart race, and a qualify session. I would like it to only apply for race restarts, any maybe add another option for qualify if possible - QualifyBtn.

Good point, it is now implemented and will be available in 2.0.9 when it is released.

At present I do not plan to create any subfolders in Airio folder. I may change my view though, because the number of files there can go up once you manage several servers and have several language versions available. There could be folders like CFG, SRV, MGS, STA and LOG... I'll think about it.
#88 - arco
Quote from EQ Worry :Good point, it is now implemented and will be available in 2.0.9 when it is released.

Thank you.

Quote :At present I do not plan to create any subfolders in Airio folder. I may change my view though, because the number of files there can go up once you manage several servers and have several language versions available. There could be folders like CFG, SRV, MGS, STA and LOG... I'll think about it.

Yes, please do. Especially the log files build up rather fast, and should be in their own sub dirs. I'm thinking something like logs\2009\01\Airio.log.2009.01.30.txt - where 01 stands for january. Would make it a whole lot easier.

Another thing, I think I might have found a bug. The welcome message Airio sends when a player connects seems to be limited in text length, so that if the server name is too long it cuts off text at the end. When I join our server it says:

XFusion|arco, welcome to XFusion|Racing Privat

It cuts off the last e in Private
Quote from arco :I'm thinking something like logs\2009\01\Airio.log.2009.01.30.txt - where 01 stands for january.

In fact I consider that too specific, it may not suite many admins. Much easier is to have separate flat folder for logs, where admins may create their own directories or zip the files into groups or whatever...

Quote from arco :Another thing, I think I might have found a bug. The welcome message Airio sends when a player connects seems to be limited in text length, so that if the server name is too long it cuts off text at the end. When I join our server it says:

XFusion|arco, welcome to XFusion|Racing Privat

It cuts off the last e in Private

Well, in fact that is not a bug, it is a LFS limitation. Messages sent to connections or players, such as this one, ale limited to 64 bytes. I was trying hard to make all the messages as short as reasonably possible (and the translators struggle all the time with this), but when you have long name and the server has long name, such character cutting may happen.

I guess we have to live with that for now. If sometime in the future LFS devs will allow to send to connections longer messages (say 128 bytes), I'll update the internal library...
Well thought Id say this is awesome.
Me and a few friend have formed an 'informal' team of sorts and enjoy racing one our small server. THis software lets us track each others PB's, points, etc and is fairly detailed while being easy to setup/use.
After a small hiccup (which the dev found/fixed really quick) we got it up and running nicely!

Thanks again and I'll keep looking for updates!
Airio great work, but I have a little suggestion. Airio don't kick into spec racers who enter in pit with high speed and they on that way make PB.

For example: BL1+FBM, when they drive normal they making 13, but when use this bug they make 12 with no problem.
Quote from srdjanmilasinovic :Airio great work, but I have a little suggestion. Airio don't kick into spec racers who enter in pit with high speed and they on that way make PB. For example: BL1+FBM, when they drive normal they making 13, but when use this bug they make 12 with no problem.

Players are spectated (by default) for high speed in pits during race, not after race to allow for some stunt actions and fooling around the pits generally. There is a setting available defining whether to spectate for speeding in pits during the race.

Hmmm, I never thought it would be possible to make better lap time by ignoring speed limits in pits. But OK, I'll look for a solution. Maybe the easiest is to add a new setting allowing admins to always spectate for speeding in pits, during race and after as well...
Airio 2.0.9 add some of the requested features:

1) Custom limited zones definitions (even in demo configuration) that do not spectate players (as restricted zones do), but invalidate (ignore) the lap time. They are good if you want your PB lists without cutting times, yet want to allow players to cut some corners occasionally.

2) Separate big messages for race and qualification start.

3) Possibility to always spectate people for fast driving in pits, not only in race (turned on by default).

More info in changelog file. Check it out.
#94 - arco
Hmm, last version, 2.0.9, seems to crash a lot for me. Anyone else having problems?
Quote from arco :Hmm, last version, 2.0.9, seems to crash a lot for me. Anyone else having problems?

Wow, does it? To say the truth I've never seen Airio crash, at least not in the last 6 months or so. All errors should be captured, handled, recorded so that I may look for causes and correct it. Would you care to send me the LOG file? Use eqworry(at)airio.eu. Thanks! Hm, there were really not as many changes, certainly no major ones...
#96 - arco
Ye, I'll do that. It seems to have trouble with our demo server. Soon after I start Airio, it just disconnects from it. Or some time goes by and the whole application hangs.
Quote from arco :Ye, I'll do that. It seems to have trouble with our demo server. Soon after I start Airio, it just disconnects from it. Or some time goes by and the whole application hangs.

Thanks. For now I'd suggest restarting the LFS server, e.g. by typing /reinit (if I'm not mistaken). Sometimes the server itself gets into some strage state...
Hi!

We're getting this error:

09.02.11 19:34:17 AIR ERROR: Requested value 'NONE' was not found.
at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
at LiveForSpeed.InSim.Airio.Airio.ReadTrackCarConfig() in c:\Development Files\LFS_Airio2\TrackCar.cs:line 268
at LiveForSpeed.InSim.Airio.Airio.Main() in c:\Development Files\LFS_Airio2\Main.cs:line 131

I don't know what setting I set incorrectly, if you can tell me something I'd appreciate it

Thanks!
Quote from RocksGt :09.02.11 19:34:17 AIR ERROR: Requested value 'NONE' was not found.
at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
at LiveForSpeed.InSim.Airio.Airio.ReadTrackCarConfig() in c:\Development Files\LFS_Airio2\TrackCar.cs:line 268

Hi and thanks for this nice bug report! Please for now change in Airio.cfg.tc.txt file all settings ProhibitedTyres=None to ProhibitedTyres=No_Change, then it should work as expected, no tyres would be prohibited. I'll add the NONE value definition in the next update.
Quote from EQ Worry :Hi and thanks for this nice bug report! Please for now change in Airio.cfg.tc.txt file all settings ProhibitedTyres=None to ProhibitedTyres=No_Change, then it should work as expected, no tyres would be prohibited. I'll add the NONE value definition in the next update.

Thanks.. that works!

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