Airio LFS Tracker
User's Manual (v. 2.0)

Airio Home Overview Downloads Changelog
User Manual Admin Manual Full Manual Airio FAQ
Airio Servers Live for Speed LFS Forum Donations


User Features
Other Features
Basic Principles
Server Configuration
Best Times
Basic Commands
Server Statistics
Race Statistics
Stored Statistics
Advanced Commands
More Info
Customizing Commands
Distances and Locations
Player Checks
Text Filters
Joining Filters
Racing Filters
Other Filters
Closing Notes


Developed originally for AirAttack LFS servers the Airio (or Air I/O) tracker tries to implement the best and most useful features of other LFS server tools like VCOM and LFSLapper, extend the possibilities even further, and also offer new ideas and principles.

This User Manual was created to give people the most complete description of the tracker possibilities and options from customization and racing perspective. The system is designed to be as much understandable by itself as possible. Still, some numbers may be a bit confusing, at least for newcomers, just as some of the options. It is therefore worth the time to read this manual – it will give you a clear advantage and it will point you at things and features you may otherwise misunderstand or miss completely.

User Features

Airio is an InSim application designed to connect to a LFS server, track the events and enrich user's experience while playing the great LFS online racing simulator. From user's perspective it does particularly the following:

  • Records user split, sector, and lap times and shows various statistics and comparisons.
  • Protects user from others by applying various filters – bad language, bad driving, etc.
  • Offers complete customization, allowing individual users to turn on/off any info.
  • Provides the basic selections using a graphical interface with clickable buttons.
  • Depending on supplied files it may communicate with everyone in his own language.

We will look at all these features in detail in the following sections.

Other Features

Airio is very complex application and it is still growing in this respect almost every day. It gives many possibilities to players as well as to server administrators. Here we have some more things it is doing for users. Note though, that the following list is not complete, it is just to give you some idea what may be happening:

  • Supports import/export of LFS Lapper PB data.
  • Tracks all messages including the system ones, which are processed.
  • Watches closely every car, constantly checking speed, position, travelled distance etc.
  • Records just about every gaming aspect and action of every player.
  • May manage race restart and race end voting, allowing restart e.g. only in lap 1, not later.
  • May automatically restart the races with countdown.
  • May automatically rotate tracks according to specified scheme.
  • Processes autocross info and stores statistics by layout names.
  • Shows pit work to be done and total pit stop time.
  • Displays acceleration data (time and distance to reach certain speed).
  • May provide more info on blue flags to players.
  • Shows welcome messages/info as buttons according to admin requirements.
  • May periodically or after connecting output other messages into chat area.
  • May provide custom start ordering.

Basic Principles

Some basic "user" principles of Airio follow:

  • Don't force on people messages and data they don't want to see.
  • Let people choose how the selected information should be displayed.
  • Allow free renaming, keep all stats based on LFS registered username.
  • Keep all people's settings, so that they do not have to select them repeatedly.
  • Use the same stats on multiple servers, allow updates on any one.

This in effect means that every user is free to choose what data interest him and if he wants to see (some of) them as text lines in chat or as buttons. The selected settings are part of his profile that is saved (together with other various statistics) and applied again when that user reconnects. Airio remembers personal settings (including the selected language) of all people. Also, everyone can make the system completely silent from his perspective, or be virtually flooded with data and info in various forms.

As a user you should realize that everyone may use different settings. If you make a nice split time and see it reported among chat lines, it does not mean everyone else connected sees it as well. So you may smile to show your happiness, but people that have good times reporting turned off will not understand the cause of your smile.

One running instance of Airio may be connected to multiple LFS servers at the same time (on AirAttack it currently controls 6 servers at once, 2 of them remote). All the servers use common statistics, meaning any change in player's data on one server (renaming, improving) is immediately seen on all the remaining servers. From players perspective it does not matter to which specific server of the group they connect, because the personal settings and other data are the same on all.

Server Configuration

Every Airio server feature is configurable and these settings are applied indirectly on users. At a minimum a feature may be turned on and off, but most of them offer other settings as well. What you'll find mentioned here are the default values that were proved as good during a long testing on the AirAttack LFS servers.

You need to be aware though that on different sites substantially different settings may be used – some would create stricter environment e.g. by using very tight lagging filter or highly limited race rejoins, some will have most filters turned off. Basically, you'll need to learn by trial and error what you may and may not do on certain servers. Server admins have several options how to communicate some special arrangements to users – they may use e.g. Server Notes, Server FAQ or Server Rules, which are items constantly accessible to every user, or various text lines displayed in chat or graphically after connecting or periodically. That means you should read welcome messages and other available info as well.

Enough about basic principles from user's perspective, let's look at customization and available commands now, because these two items are the closest to every racer.


After connecting every user is welcome to the server and instructed to type !help or just ! to see basic Airio commands. The simple help system shortly describes usable commands that are in detail presented in the following sections. The user may also be presented with graphical screen allowing customization. This screen may be called at any time by pressing Shift+i (maybe twice, if other buttons are already displayed), which is standard LFS shortcut for displaying and hiding server buttons.

I will not present here look of the mentioned screen, so that this document remains text-only. Most of the items are clickable and then they do some action – change a setting or display new info. Try for example clicking on the group labels, there is a simple help text associated with them. Also note that the selections are permanently saved only if you close the screen by clicking on OK. Pressing Shift+i makes the settings only temporary and if you then leave the server, they will not be stored. Lets look now at the meaning of the available settings.


By default Airio is supplied only with original language file containing English version of all user messages including the screen items (button text). It is easy to create new language versions, if there are people willing to give their time and knowledge and translate the almost 300 shorter and longer user messages. (On AirAttack servers there are currently 13 complete language versions available.)

If there are more language files available, they appear in the first line of the customization screen. Select a language of your choice by simple clicking on its abbreviation and immediately the button interface and all other messages will change for you. Airio will from now on talk to you in your mother tongue, and it will remember your selection for the future.


Below the language line (or lines, if more than 12 languages are available) there is a group of buttons turning on (yellow text) or off (grey text) types of messages you want to receive or ignore.

  • Kick and Spectate reasons are short messages explaining why someone was kicked or spectated by Airio. If you don't care about other people's troubles, turn these messages off. Note that you will know someone was actually kicked, because that action is accompanied by a LFS generated message that Airio cannot control.
  • If you turn off Typed commands, you will not see Airio commands used by other people (see below). Airio hides all its commands, but it may replicate for you what other people do on the server, how they use Airio features. Note that your commands will still be visible to anyone who has this setting turned on (default).
  • Race best values will show to you best split/sector/lap values achieved by anyone during one race. These data are zeroed on every race start. Good/great times show remarkable split/sector/lap times achieved any time during a race or practice/qualification. Times considered as good/great/top are set by administrators and by default they are within 2/1/0.5 percent of the respective split/sector time of the current World Record (WR).
  • Travelled distances, when turned on, will show you on each split (if using buttons for info) or on each lap end (if info goes to chat) exact total travelled distances in kilometres or miles, depending on another setting. Airio is constantly calculating these data from car positions, it is not using approximate lap length or similar weak measurement. There are three values shown, representing distance in current lap (or its part), distance in current race and distance travelled in current session (that is one connection to server). You may use the distance data e.g. in search for the shortest path.
  • Splits/sectors provide you with basic timing info. On each split (including lap finish) Airio can display to you your current split time (equal to the big number shown by LFS itself), compare it to some previous best time, sector time, again with comparison to previous best, plus some additional data like speed at split or total race time. While the data are very important and interesting, they may be overwhelming at first. You'll find more detailed explanation in section describing times and comparison base below.
  • General info buttons shows or hides additional information like pit stop length or date the connecting people last raced on this server (or group of servers). LFSW data controls display of LFSW personal best (PB) time messages, if this Airio feature is used. When someone connects, his table of best times is downloaded from LFS World site and time achieved on the current track is displayed. You'll see the LFSW time valid for the car you are currently using, if the connecting player ever used it. LFSW personal data are also updated when someone improves his time while racing on the server.
  • Race/series points will give to you info about points gained by the winner on race start and when people finish then you'll see their points (and yours) for current race and running series (groups of races, by default 5). Points may be also given for other achievements like improving LFSW time.
  • Button interface, if turned on, will show all lists comprising of several lines approximately in the middle of the screen as buttons. The data will stay displayed until you click on them or press Shift+i. Also timing info (splits and sectors) and travelled distances are shown in buttons in this case. If button interface is turned off, all commands output and timing info goes into chat window, where it would eventually scroll out of view.
  • By using Own data you may see only your own good/great split/sector times and points while having these messages turned off when concerning other people. This setting also turns on/off your acceleration and drifting scores data. Race speed allows any player to turn off best race speed message, which some people find of little value.


Split/sector times (see below for detailed explanation) can be compared to personal best (PB – best splits and sectors recorded on this server), Session Best (SB – best split/sector times during this one connection), LFSW Best (LB – best split/sector times achieved previously on any server), or World Record (WB). You choose the comparison base in the configuration screen simply by clicking on appropriate buttons; the change is applied immediately and stored into your profile.

If you change comparison base, your split and sector times will be compared to different values. Comparing times to WR would mean for most people seeing huge negative values in time differences. But for other people and on some tracks this option may really be useful. Comparing to personal LFSW record may give meaningless timing data if you are doing first laps in that particular track/car combo or if your LFSW stats are not available for some other reason (hidden, the feature not enabled).


Each user may choose to see distance (and speed) in kilometres or miles (per hour). Again, just click on appropriate option and you'll see the units you are used to. This setting is applied everywhere speed or distance appears – in race highest speed message, in speed overview etc. The only exception is output of !loca command (see below), giving car location in meters only (LFS map units) and not yards.


Split/sector times are one of the very basic yet least understood features of Airio. That's why there is this section devoted to detailed explanation of the displayed numbers' meaning.


As already mentioned, on every track split and lap finish players get personal time data describing their current performance and comparing it to past values. Format of the relevant message printed into chat is a bit cryptic because it tries to present all the useful values in a very limited space. If button interface is turned on, then the buttons at the top of the screen show the same data (with a few distinctions mentioned below). The printed values have this meaning:

S split compare: currentSplit (+/–bestSplitDiff) | currentSector (+/–bestSectorDiff) > possibleLap


S1P: 0:35.46 (-0.02) | 0:35.46 (+0.16) > 1:08.94

This means that the values are valid for split/sector 1 and that the times are compared to best recorded lap (PB – for more see above). Measured current split time is 35.46 which is 0.02 seconds faster than split time on player's best recorded lap. Current sector time is also 35.46 (because split 1 always equals sector 1, but on subsequent splits/sectors it will show different value) and this time is 0.16 seconds slower than player's best ever recorded time in this sector. The total lap time will be 1:08.94 if the player goes through the remaining sectors exactly with the best times he ever did there in this particular track/car combination. It is a possible lap time.

Lap time message has similar format:

S split compare: currentSplit (+/–bestSplitDiff) | currentSector (+/–bestSectorDiff) | totalTime


S2L: 1:09.27 (+0.34) | 0:33.81 (+0.33) | 2:26.66

Finish represents here split/sector 2 (this example comes from the short BL2 track). Times are now compared to LFSW best (LB). Split 2 (which is lap in this case) time is 1:09.27, 0.34 slower that player's best lap stored on LFS World. Sector 2 time (between split 1 and finish) is 0:33.81 which is 0.33 slower than player's sector 2 time achieved while making his official personal record. Total race time at the end of this lap is 2:26.66.

Colour codes used allow you to see in one glance how you are doing. As in other places in Airio, times in green mean you are doing better, improving your times, generally gaining. Red colour in differences means you are slower than you were, basically losing.

If buttons are used (which is default), the data and colour codes are the same, only first button shows also current lap number (as e.g. L3) and there is one more button on the right saying speed at the split in kmph or mph, as you choose. The speed at a split point is very interesting, because it hints on how good you can be in the upcoming sector.


Times are probably the most important of all statistical data stored for individual players. To be really aware of what your personal best and theoretical best times mean, you should read on.

Let's start by first simple fact: To be included in server stats in some track/car combination you have to achieve some reasonable time. The required value is configurable and by default represents 110 percent of the current WR. Once you make a better lap time Airio will no more inform you what time is needed, but will show your current place. Note that your preferences are being stored right from your first visit to the server (or group of servers managed by one Airio instance), it is just that you'll be added as a new item to stats of your current track/car combination and will start to appear in the listings there.

And here we have second simple fact: All lap timing data are stored only on successful lap finish. Only full laps are added to your stats and only full lap data are further processed. If you make a fabulous sector time, but then crash heavily and pit or spectate, that data will not appear in your stats, your TB will not improve.

Best Times

There's one more important principle you should be aware of, if you really want to make a sense of the splitting time data: Airio stores your best split and sector times, but the splits pertain to your best lap ever recorded on the server and make a group, while sector times are separate and individual. What does it mean?

The splits Airio shows in your stats (!pb command, also !sb output) are the times you did on your best lap ever. These are your real personal best data. If you later improve in split 1 and split 2, but 3rd sector is poor and lap time is not improved, split times remain unchanged. If you make a new PB, it may actually contain a bit worse 1st or 2nd split than your previous PB in case you gained all the missing time in 3rd sector. Splits thus always show your real times on your real best lap.

On the other hand sectors are updated individually. If you improve in a sector and then somehow finish that lap, the new sector time will be stored in your stats, whatever the lap time. Sectors always show how you best did them as separate units. Summing stored best sector times gives you theoretical best (TB) also shown in your stats (and !tb command output). It just says how fast you'd be if you could do all your best sectors in one lap.

Well, after this explanation I hope you'll understand why there may be different time differences shown on split 1 despite the fact that split 1 time = sector 1 time. Just to be sure: Split time is compared to your split 1 time in your best lap, while sector time is compared to your best sector 1 ever, and these times may (and often will) be different.

Basic Commands

Users require data from Airio by using special commands. These are typed into the message box (displayed by pressing T) as normal messages to other players, but always starting with ! (exclamation mark) and conforming to preset and required formats. All messages starting with ! are hidden from other players and replicated for them in chat only if they have this feature turned on (default). Everyone may decide he does not want to be spammed in this way and hide other people's commands. Also all limad/admin commands are always hidden as well as commands typed from connection 0, which is the dedicated server.

Worth noting is one more basic Airio assumption concerning commands: If you do not specify some of the optional parameters, your own values will be used. If there's a car like an optional parameter and you skip it in the command, your current car type will be used. You should also know that after connecting to server, before you really join a race at least once, Airio assigns you a default car, as defined for the current track or server by admins. That default car will be used until you join a race, then it will be switched to the real car you are in. If there's a player's name as optional parameter and you skip it, your own name will be used. This all makes entering commands easier, as you'll see below.

The user commands are separated into 2 categories, mainly for display purposes. These are called Basic and Advanced commands below, but you may consider as basic some commands from 2nd group and vice versa. There is a short help available on every user command. You may use it to refresh your memory in case you forget exact format of calling for some info. Typing !help1 (or !h1 or just !) shows you the first group of commands. Typing !help2 (or !h2 or just !!) then reveals the second group of commands.

Also many commands offer alternative or shorter forms. If this is the case the different forms do exactly the same thing. List of basic commands with descriptions follows. But first one simple command:


Info command without parameters showing currently running Airio tracker version, but not only that. Other lines output into chat area or shown as buttons (according to player's preferences) display local and global Airio stats. You'll find there short name of the running instance (or total running instances), how many servers are managed locally or globally, and how many of these servers are active (with people connected). Output also shows number of connections to local Airio instance and globally, and number of players (joined in a race). The data are updated once a minute and for the global stats feature to work admins must not expressedly disable reporting usage data.

Alternative versions: !info.

Server Statistics

First group of commands shows server statistics in different forms.

!sb [car] [from]

Shows ordered list (max 10 items at a time in chat lines or 20 items with button interface active) of server best recorded laps for current track. If car code (like xfg or fbm) is not specified, user's current car type is used. If from is not specified, list starts from the top (i.e. place 1, best recorded lap on server). If both car and place are entered, they must be in correct order. The simplest command !sb shows server best laps recorded for the car you are currently in. If you change your car, the list will show different names/values. Some more examples of using the command:

  • !sb – shows SB (server best) list for your current car, starting from place 1.
  • !sb xrg – shows SB list for specified car regardless of the car you currently use (or that was assigned to you).
  • !sb 21 – shows SB list valid for your current car, starting at place 21.
  • !sb fbm 490 – shows FBM SB list from position 490 or 10 last places it server records less player's lap times.
  • !sb 100 xrg – ERROR, car code must be first, then place.

In the output you'll find track, car, and total number of entries of the specified combination of 1st line. Then follows position, best lap time, nickname (freely changeable by users), username (registered, cannot be changed) and split times on individual lines. Just try it, it should make sense.

Alternative versions: !top.

!tb [car] [from]

This command displays theoretical best laps the server recorded for current track. Theoretical best laps are calculated as a sum of best sector times ever made by a player (see above for the complete explanation of times and stats storing). Parameters have the same meaning as with !sb command and basically only different sorting algorithm is used. Also output is very similar, but instead of split times sector times are shown for each player.

Alternative versions: !tsb, !ttop.

!pb [car] [name]

This command displays player's personal statistics for current track. If car code is not specified, player's current car type is used. If name is not specified, player's name is substituted. The name entered can also be partial and in that case the first match is shown. You may use nickname or username here. If both car and name (partial or full) are entered, they must be in correct order. In its simplest !pb form the command gives your statistics for your current car.

  • !pb – displays your stats concerning your current car.
  • !pb fbm – shows your FBM statistics on current track.
  • !pb unnamed driver – shows current car statistics of "unnamed driver".
  • !pb xrg unnamed driver – shows XRG statistics of "unnamed driver".
  • !pb unnamed driver fbm – ERROR, car code must be first, then name.

First line of output shows player's current nickname and his username in parenthesis. The username is very important, because all stats are based on usernames. Players may rename freely and as much as they want. While their LFS registered username stays the same, all the stats go with them. Second line says what track and car the statistics are for, and how many laps the user did on this server.

Third line entitled PB shows the player's best lap time and date/time it was recorded. Fourth line also beginning with PB displays statistics regarding the best lap, specifically sector times (3 on BL1 track with 2 splits) and in parenthesis the appropriate split times. On BL2 with one split this parenthesis are empty because no new value can be shown there. On BL1 with 2 splits you'll find 2nd split time there. 1st split is the same as sector 1, split 3 is the same as lap time. A track with 3 splits will show four sector times and two split times (2nd and 3rd) in parenthesis. Last info on this line is current position in server stats and total number of entries.

Fifth line starting with TB shows theoretical best lap time. It is the sum of best sector times ever reached as they are presented on the next line. Here you can also see the last time (UCT) the player finished a lap and is an indication of when the player was last seen racing. Sixth line shows best sector times ever and theoretical split time(s) in parenthesis. This line again ends with position in TB list.

Next line shows gained total and championship points on the current track and current standings, if the player has these data available. Points are stored on track level, meaning they are the same for all cars on one track. Championship points are erased in specified intervals, by default once a week. (For more info on points see below.)

Then follow data about best lap time achieved during two definable intervals (called total and championship). Very interesting may be info about best race time, again total and during championship. All these show also player's current position in that particular area of gathered data. Note there may also be other personal stats displayed in FULL version, like gained podiums  (in races and in series) or current rank (with points remaining to gain higher rank).

Alternative versions: !stats, !spb, !tpb.

!near [car]

This command may take one parameter, the car name that you are interested in. If car is not specified your current car is used. The command simply shows people around you in server best list of your current (or specified) car. Five people (or ten if buttons are used) with a bit better best lap and four (or nine) with a bit worse best lap time are shown in a list of !sb command format.

  • !near – displays your position in server best laps list of your current car.
  • !near fbm – shows your position in FBM statistics on current track.

Alternative versions: !nr.

!pi [name]

This is personal information command, sort of complete Airio data on one person. If name is not specified, the command is naturally used on you. It shows current nickname and username, last race (finished lap) date and time (UTC), total laps done and total points scored in all track/car combinations. Then follow all track/car combos with PB data stored on server and points gained. This list may be quite lengthy in case of players that have S2 licence and are using different cars on many tracks.

Race Statistics

Here are the commands displaying current race statistics. These stats are recorded for every racing player and displayed for every connected user – if someone disconnects, his racing data are erased/lost. Race restart means gathering/displaying new data, deleting the old ones. All time values are in seconds and the value shown in parenthesis is difference comparing to best time.

!split [number]

Shows sorted list of best race times in specified split. If no split number is entered, then last split is shown representing best lap times, together will all intermediate splits. In that case you see best sorted lap times, similar to output in results table shown by LFS itself.

  • !split – displays race best laps including appropriate split times in these laps. These are race real laps.
  • !split 2 – shows sorted best splits 2 times, regardless of cars used.

Alternative versions: !sp, !rlap, !rl, !race.split.

!sector [number]

Uses the same format as !split but shows best times in specified sector (area between two consecutive splits). If no sector number is used, the output shows sum of best sector times representing best theoretical lap in a race, together with individual sectors.

  • !sector – displays race best theoretical laps including appropriate sector times. These are race theoretical laps.
  • !sector 2 – shows sorted best sector 2 times, regardless of cars used.

Alternative versions: !sc, !tlap, !tl, !race.sector.


This command sorts and outputs best speed measured in the race for individual players. Output is in kilometres per hour or miles per hour and the meaning of individual elements should be clear. Race speed can be measured at a specified place (called speedtrap) or on all places on the track, it is a matter of Airio configuration.

Alternative versions: !sd, !race.speed.


If a point scoring system is used, this command shows points scored in the last finished race (r switch) or in the running series (s switch). Points may be different for defined car categories and they may be limited by the number of racers on start, so that winner of race of 1 gets only 1 point and not full 10, for example. Races are from points perspective grouped into short series (by default races are grouped by 5). This is again admin-configurable value, just like the point system itself. Once new series start, the old points are erased.

Stored Statistics

While race statistics are temporary, deleted after every race (or Airio restart, because they are held only in memory), there are other data kept persistently in users' profiles.

!pt[c|t] [car] [from]

Airio stores two more levels of points called championship (c switch) and total (t switch). Championship points are erased when a specified number of days expires (by default it is 7 days, a week). Total points may also by time-limited (e.g. for 1 year), but by default they get accumulated forever. If no car is specified, the points are summarized for all cars on this track. If no place to start from is specified in the command, then the listing starts from the top, position 1. To find out your current position in championship or total points use the !pb command, which summarizes all your personal values.

  • !pts – shows race series points (see previous command versions).
  • !ptt – shows sorted total gained points on this track and all cars from top place.
  • !ptc 25 – shows sorted championship points starting from position 25.
  • !ptt xrg – shows total points on this track gained using XRG.
  • !ptc fbm 100 – shows championship points on this track gained using FBM from place 100.

Alternative version for championship: !champ.
Alternative version for total: !total.

!bt[l|r|d] [car] [from]

Here !bt stands for Best Total and it shows best times achieved during a period called suggestively total. When l switch is used, best total lap times are shown, which may be identical to !sb listing. The listing starts with track (and car) code(s), so that you know what the values mean. If you use r switch, you get very interesting value of total best race times. These times are stored only if there is a race for specific configurable number of laps. Shorter or longer races are ignored.

Using the d switch gives you drifting points. They are accumulated only if admin turns on the appropriate option in Airio configuration. In all cases you may specify car type you are interested in. If no car type is entered, your current car is used with l and r switches, drift scores are summarized.

  • !btl fbm – shows total best lap times in FBM, starting from top position.
  • !btr 25 – shows sorted total best race times in any car from place 25.
  • !btd – shows summarized and sorted drifting scores on this track starting from place 1.

Alternative version for lap times: !laps.
Alternative version for race times: !races.
Alternative version for drift scores: !drifts.

!bc[l|r|d] [car] [from]

Here !bc stands for Best Championship, but otherwise the command usage and output is almost the same like in the previous case.

  • !bcl – shows championship best lap times (usually for the last 7 days) in your current car.

Alternative version for lap times: !lap.
Alternative version for race times: !race.
Alternative version for drift scores: !drift.

Note the rather better understandable alternative versions of !lap(s) and !race(s) for champ/total lap/race times and !drift(s) for champ/total drifting scores.

Advanced Commands

Every user have also other group of commands available, some showing different kinds of statistics and some allowing personal customization. But let's start again with a command outside of any of the following categories.

!rep text

This command allows users to send some report, comment, suggestion, basically any kind of info to server admins. The entered text is together with username of the sender and time stored in Airio folder and it is a responsibility of the admins to read the file and act accordingly. Depending on the specific server group your comments may be processed immediately, with some delay, or never. Message entered is always hidden from other people, because the !rep command is not replicated.

More Info

The first category of advanced commands presents information from LFS World. Data necessary for these commands are automatically downloaded via Web interface, if Airio is properly configured and players themselves allow to display their data. The same information is available by /w commands but the following are more user friendly:

!wr [car] [track]

This command shows world record in any car on any track. If only !wr is entered, the world record valid for current track and your current car is displayed. Users can also specify car (like XRT or BF1) and/or track (like AS3 or WE1R) in any order. Output shows track, car, best recorded time and username of the WR holder. Included are split and sector times of the best lap. It will be yet mentioned that WR table is by default updated every hour, but admins may change this behaviour and disable automatic update. It is not therefore guaranteed you'll always get the latest data by this command.

  • !wr – WR on current track in your current car.
  • !wr xfg – WR on current track in XFG.
  • !wr fbm bl1 – WR on BL1 with FBM.
  • !wr bl1 fbm – same as above.

!pr [car] [name]

This command also uses LFSW – it displays downloaded personal best data of connected players. If only !pr without parameters is used, your current car and nickname is used. Users can see their LFSW PBs in any other car on the current track. They can also display PBs and global statistics of other currently connected players. In that case the name is partial or full nickname or username. If both car and name are used, the parameters must be in correct order.

Listing shows current nickname and username, track and car of the LFSW PB and laps made the moment the player connected to server. These data are downloaded only after connection and in case the record is improved, so the displayed number of laps may not be exact. The best time itself and date/time it was made are the core information here together with appropriate split and sector times.

  • !pr – your personal global LFSW (not sever-specific) record on current track in your current car.
  • !pr someone – personal record of "someone" on current track in your current car.
  • !pr fbm someone – personal record of "someone" on current track in FBM.
  • !pr someone fbm – ERROR, incorrect parameters order.

!time [s|w] [car]

Use this command to see best LFSW or server times of all other currently connected players. The command lists players' time of your car type (or the specified type) regardless of the car which they currently use. The list ignores players with impossibly low times (more than one percent better than WR – very probably achieved by cutting, hacking or using strange layouts).

In the output there is the rank, recorded PB time, nickname, username (in parenthesis) and difference to best currently connected player. Using this command gives you quick overview of abilities of other players – it is not necessary to apply !pr or !pb to individual players, but you can use these commands for seeing LFSW/server details about a notable player.

If neither s nor w switch is used, you get combined times, the lower one is shown in the listing. Note that this lower time should always be LFSW PB time, but if such is not available the server best time of that person is shown instead. This makes the !time list more complete.

Alternative versions for combined times: !tm.
Alternative versions for server times: !times, !tms.
Alternative versions for LFSW times: !timew, !tmw.

!good [car]

Airio allows people to see notable split/sector/lap times achieved by players. These times are defined by default as 2 percent (good time), 1 percent (great time) and 0.5 percent (top time) above the current world record in the car the player is using. Airio dynamically calculates the proper values from current WR splits/sectors. It is also downloading latest complete WR table every hour, so any changes in the table are reflected in the system pretty soon.

Percentages above WR times are configurable by admins. The advantage is that one set of three values can be used on any track/car combination, correct notable times will always be reported and updated. It is also possible to set absolute good/great/top lap time. If this is the case, then Airio calculates good splits and sectors using WR data only as a time-distribution base. Split and sector times are again calculated automatically to ensure their proper relation.

Because the calculations are complex, split/sector times are not (usually) some nicely rounded or whole numbers. The !good command will show you exactly what split/sector/lap times are under current settings considered as notable and into which level they belong. If you cannot get good time report on some split, but you feel it is impossible to be faster there, first make sure you have good times reporting turned on (see the customization section), then check what real time is required for the message.

Alternative versions: !gd, !great, !gt.


This simple command will show the current track data – short name, full name, and WR of the car you currently have. Also it shows how many races were finished on this server since last track load and if there is a track rotation scheme running you can see how many races remain until next track is loaded.

Alternative versions: !tr.

!target [m:s.f]

You may enter target lap time in minutes, seconds and fractions of seconds and see what split/sector time may get you there in your current car on current track. The shown split/sector times are distributed according to current WR. Also shown is comparison of the target values with split/sector times of your LFSW personal best (if available), server PB and server TB times. Thus you can see in which sectors you are losing time, where substantial improvement is still possible. If no target time is specified, the lap time necessary for entry into server statistics (usually 110 percent of WR) is assumed.

Alternative versions: !tg.

Customizing Commands

Another group of commands allows for extended personal customization. As you should know already, every player has options to customize language, displayed messages, select comparison base, etc. There are commands available for choosing custom settings by typing, not by using the graphical interface.

!lang [en|cz|...]

Allows direct language selection; you can do the same thing in graphical interface (after pressing Shift+i). The command without parameter shows all available languages. As a parameter one of the available languages must be supplied. The language change is immediately applied, confirmation of the command is shown in the newly active language. This command must be used for changing the language the (dedicated) server/host is receiving messages in.

Alternative versions: !lg.


Turns on and off system messages. The chars generally correspond to button names: K = kick reasons, S= spectate reasons, C = replicate commands, B = race best values, E = race best speed, G = good/great times, D = travelled distances, T = split times, F = soft splits, P = points, I = general infos, W = LFSW data, N = button interface, M = own (my) data. Nothing complicated here, a few examples may help though:

  • !show – displays currently active settings.
  • !show –sd+w – turns off displaying spectate reasons and distances, turns on displaying LFSW data.

Note that this command represents the only way to configure what messages the server/host receives, because dedicated hosts do not have graphical capabilities. It may be also handy for defining two different customizing settings, storing them as hot keys (binds) in LFS and using them e.g. for practice/race.

Alternative versions: !sh.

!comp [sb|pb|lb|wb]

This command selects the base used for time comparisons in splits and lap race information. You may select the same setting using the GUI. PB represents the default selection meaning personal best recorded on the server (as shown in !pb). Split and lap times are then compared to saved personal best with immediate update in case the times are improved. SB means session (not server) best times. On each connect the comparison values are empty – they get filled and improved gradually during the racing session. LB means LFSW best (as shown in !pr) and it is a mode when your split/sector times are compared to values you reached sometimes before, on any existing server. For this to give reasonable data your online stats must be available, downloaded by Airio. WB means world best (as shown in !wr) and ensures comparing split and sector times to fixed values of current world record. This setting is suitable only for racers that are good enough to bear the comparison.

  • !comp – shows current split time comparison base.
  • !comp lb – changes the comparison mode to LFSW PB.

Alternative versions: !cp.


This command complements the previous one. It allows players to clear all session best data (e.g. before some special race) for comparisons in hard and soft splits (see below) and is equivalent to reconnecting, if SB is selected as comparison base. In case anything else is used, this command has no visible effect (except on soft splits).

Alternative versions: !cs.

Distances and Locations

Below are info commands showing distance or location.

!dist [on|off]

Prints current exact travelled distance in this lap, this race and this session. Alternatively you may use the command for turning on/off distance display, but there are better options for this (GUI and the general !show command). Values are in km or miles according to personal selection. This command is useful if you do not have distance display turned on, but suddenly want to know the covered distance. Airio is constantly measuring your car position and calculates travelled distance with 1 meter precision.

Alternative versions: !dt.


Again, this is a position-showing command, but this time it displays your car coordinates in X, Y, Z positioning system in meters. You may probably use it for calculating distance between two points or for seeing the height difference between lowest and highest point on a track. Basically, it is just an interesting info with limited value for users. Admins would need this command when defining restricted zones.

Alternative versions: !lc.


This is a helper command showing your current track node, LFS internal code describing your car position on track. This information is necessary for setting custom soft splits as supported by FULL Airio version. Otherwise it is pretty useless for an average user.

Alternative versions: !nd.

Player Checks

To keep the server in a reasonable state even when no admin observing things is around the Airio does many checks, some of them very advanced or unique. These additional checks record players' behaviour and do some protective actions based on the gathered data – warning, spectating, kicking or even banning people automatically. As you see below there is actually quite a few filters running (all of which can be optionally turned off or configured differently). These filters impose some restrictions on players but at the same time ensure cleaner and better racing experience for those who are really interested.

Text Filters

First category of filters takes care of text appearing in game. They check nicknames and user messages.


Certain nicknames are forbidden and players using them are immediately kicked. By default all names containing "name" (like unnamed or noname or even named) are forbidden, but list of disallowed names (or their parts) may be updated at any time. This filter is applied to newly connecting and also renaming players. Nickname checks are not applied to admins and limited admins (limads). Admins may e.g. define their team tag as a prohibited nickname, and on that server group only limads and admins may then use it, other people with nickname containing the team tag are kicked.


Every sent message may pass through cursing filter discovering bad words. Items in the filter are fully configurable, and e.g. on AirAttack it contains many words in several languages. If some vulgar word is found the player sending the message is by default warned once. On next usage of any bad word that player is kicked from server. This filter tries to discover even well hidden but to other players obvious curses and it may sometimes misfire, warning or kicking a player by misinterpreting what was said (unlucky combination of words). But these cases are rare and there are means available to solve them. Cursing filter is also applied to player names, both after connecting and when renaming. If the filter finds a match, immediate kick follows. Cursing is also checked on numberplate text once player joins the race because that is a place seen by other people. When the filter fires after numberplate text check the player is spectated with a warning, by default twice. On third attempt to enter the race with bad words on his car he is kicked from the server for bad setup.


If one player sends too many messages in short time he is considered as flooding the server with text and kicked. Flooding filter is by default set up so that it allows one player to send three messages in 8 seconds. After 3rd message in quick succession player receives a warning. If Airio sees more messages sent in the allocated time, it kicks the player. Flooding filter also captures some system events reported by LFS engine like blocking and unblocking messages (by "–" key). These are counted into the player's statistics and may cause his kick from the server in case he misuses the command for text flooding.

Doubled names

If this filter is active, people cannot take nickname already used by some other driver, nor can they use nickname equal to any existing username stored in stats. It may protect player identities, at least from other people perspective, because racers are unique to Airio by their usernames (registered) and nickname really does not matter (it is freely changeable). On the other hand this filter may fire too often for widely used non-unique nicknames just as Tom, Nick or John – that's why it is disabled by default.

Joining Filters

Once player's nickname passes the curse filter he may try to join the race. But this will not be as easy as usual.

Car Options

These are in fact three separate filters, but they have one common function – allowing only players with decent car options to join race. Airio does some basic car options checks. It is possible to define prohibited tyres (by default Normal tyres on Rally are prohibited) and also number of passengers (by default backseat passengers are not allowed, only a co-driver). Airio also does not allow players to use AIs. If any of the set conditions is not met, player is spectated right after leaving the pits (joining race). He sees a message explaining the reason for this action with instructions how to proceed. If someone fails to improve the car setup on third attempt to join the race he/she is kicked from server for bad setup.

Car Setup

Any server may also define additional car setup requirements. With this filter you can e.g. disallow using automatic gears or ABS/TC which are new setup options in patch Z2. Admins may define options prohibited but also options required or enforced. Player not conforming to this filter requirements is spectated with lists of prohibited and required options so that he may correct his car setup. As usually, 3rd attempt to join race with incompatible car setup results is a kick under default settings. Checked options: AG – automatic gears, BH – brake help, ABS – anti-blocking system, TC – traction control.

Actual joining

To prevent players from constant pitting and leaving the pits only to pit or spectate (or be spectated by Airio) again in a short while players may have limited number or allowed race joins. The remaining count is always displayed after leaving the pits and once it reaches zero the player cannot return to race. By default players can rejoin race three times, then they must wait for the current race end. If they try to join the race anyway after they used their last possible rejoin, they are spectated. On third attempt to enter the closed race they are kicked from the server. But the kicked player cannot rejoin the race even after connecting back to server, Airio still knows this man has used up available rejoins. This filter counts every race join and it does not matter if the cause of rejoin was earlier speeding, idling, wrong way driving, lagging or direct pitting/spectating.

Racing Filters

After successful joining it is time to race. Airio again adds some filters allowing for smoother movement on the track during and after the race.


Speeding in the pitlane during the race is prohibited. If a player gets stop and go penalty for speeding, he is spectated and forced to join the race again (see the joining filter above).


Unmoving, stationary cars on track are dangerous and are spectated automatically. When a car does not move during a race for 20 seconds, the player receives warning. This is repeated after 5 seconds, requiring the car to move in the right direction. After 30 seconds of no movement or very slow one or in the wrong direction that player is spectated. The idling filter does not use speed in its calculations, but change of car position on track. Only car moving at reasonable speed in the right direction is seen as not idling on track. Once a car moves in the right direction after idling warning, it is not immediately considered as OK. Rather its previously accumulated "idling seconds" are slowly decreasing. In case the car stops moving shortly after warning it gets spectated much sooner.

Wrong way driving

Airio by default prohibits all wrong way driving, both in race and after race. If a car is seen as moving in the wrong direction during a race for five seconds, it is spectated with a warning (if not kicked/spectated by LFS engine earlier). After race this time of allowed wrong way driving is prolonged to 10 seconds to allow for some stunts but also to keep the track clear for hotlapping/practicing players. This filter also gradually discounts "wrong way moves" and if a player moves forward for just a short while and then returns to wrong way driving, he is spectated much sooner.


Lagging players (with bad connection) spoil the races and cause serious troubles/crashes. Airio is by default tracking all cars during a race and gathering lagging data; for this it uses server data to get objective results. Lagging players are reported by the server and if 5 of their car position packets are missing in succession, they get one "lagging point". In case 10 packets are missing, two "bad" points are added, 3 for 20 packets (2 seconds) etc. Once the count reaches six in one race, the player is warned. As soon as the number reaches 12, the player is spectated with a message asking him to improve the Internet connection. Naturally, the mentioned values are fully configurable by admins, so the filter may be both stricter, more lenient, or even disabled.

Restricted zones

There may be defined restricted zones even in demo server configuration using Airio. Such zones may be used to prevent players from cutting the track (last turn on BL2) or even from crashing other players by cutting some turns at high speed (the right angle turn after the long straight on BL1). The restricted zones are defined as circles and any car found inside that circle is by default immediately spectated with appropriate message.

Other Filters

Besides text, joining, and racing filters there are four more taking care of additional things.


For every player Airio checks the last time he finished a lap. If the time span from last finished lap is larger than 30 minutes (default value), that player is kicked for inactivity (after receiving two warnings in 20th and 25th minute). This filter helps to keep server open for players that really want to do some racing and is intended primarily for demo configurations with very limited number of connections/slots.


Airio tracks split and sector times of all players. It compares achieved results with "possible" values calculated from current world record data (updated every hour). If an impossible split/sector time is found ("impossible" here means significantly better than the corresponding WR time), it is reported as a (speed) hack and the player is immediately kicked for security.


Players may be spectated for security after achieving impossible speed in any part of the track. This happens mostly after bad crashes, but it may also be due to speed hacking. Airio may also check spinning of every car on track and spectate for too high spin value. Both these filters may be run only during race to allow for some post-race stunt actions.


Server may be locked and in that case players with insufficient PB time (stored in LFSW, on server or on both) are not allowed to join the race. They are asked twice to leave the server, on third attempt the server itself helps them out. Time required to join a race is fully configurable as percentage over current WR. Please do realize that if LFSW times are enabled and used, the player may make better PB time on any running server in the world with the required track/car combo and once they have the necessary time, they may return and join the race. It means all existing servers may be used as qualifying ones, but admins may also offer for practicing their own server running without time lock. If that second server (practicing, without time lock) is managed by the same Airio instance, all improvements (just as all the custom settings) are propagated immediately.


All forced spectatings and kickings (see above) are summed and once they reach a certain number in a session or in a day, they are "upgraded" and turned into higher-grade penalty. By default 5th spectating during one session is turned into a kick for bad driving. Also by default 5 kicks from server in one day are converted into a ban for bad behaviour. The mentioned numbers and ban length are configurable.

Closing Notes

That's it, you've reached the end of Airio User's Manual. I hope you learned something new and interesting. If you still do not understand some feature, contact me through LFS Forum and I'll try to make the document better. Do the same if you spot some errors, factual or syntactic. After all, English is not my mother tongue, so I'll be glad for any corrections.

Meanwhile, read on in detail what is this InSim application about in the Admin Manual. The other option is to see what FULL Airio version brings to users by reading Full Version Manual.

© EQ Worry, 2010