The online racing simulator
One file really isn't an installation is it?

Actually SQLite is already there on most servers, the Redhat Package Manager and/or Yum for example are dependent on SQLite.

In most cases it's sufficient enough to update the sqlite library file to a more recent version like the one EQ Worry provides.
Quote from Okram :Do you add support for MySQL?

The thing is that with tens of thousands of stored records the current internal Airio arrangement eats quite a lot of memory, because everything's always held in memory. For example Airio managing AirAttack demo servers can take over 100 MB of system memory. With so many records the delay when enumerating through data starts to be noticeable. While it is usually not a big problem, there are other considerations such as data integrity and code simplifications.

What I'm now trying to do is keep all the data in a database, using relatively simple queries to select what needs to be shown or insert/update what needs to be changed. Database also simplifies/enables external changes to the data, at least for everyone knowing SQL basics. For all this I need a database engine with specific properties. It needs to be simple, fast, portable, easily configurable.

SQLite has these properties. It is just one DLL file, no setup and configuration is necessary. The created database is in just one file, perfectly portable. There's no chance using MySQL as the primary data store, because 9 or 10 Airio users would fail miserably installing and configuring the system. (Count me among them.) SQLite support in Airio requires just one external file and that's it.

I'm afraid using MySQL as the primary data store is not possible. The question is if a sort of export to MySQL could be implemented, but I'm really not sure...

Quote from VoiD :Is it possible to include "Airio.db3-journal" and "Airio.db3" into the midnight-airio-backups...?

Aaaah, very good point (as always)! The journal file is not important, but the DB3 file should go to the daily backups. I'll see what can be done and will try to implement the functionality into almost finished Airio 2.4.5...
Found an error...

Quote :
10.06.28 09:26:34 #1 C44P25 mako37 - Lap 2 : 1:24.99
10.06.28 09:26:34 #1 AIRIO ERROR : Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei LiveForSpeed.InSim.Airio.Datas.GetListCars(String trackName, String carName, String sort, String filter) in D:\Development Files\LFS_Airio\Datas.cs:Zeile 1001.
bei LiveForSpeed.InSim.Airio.Airio.PlayerLap_Handler(Connection sender, PlayerLap l) in D:\Development Files\LFS_Airio\Splits.cs:Zeile 771.
10.06.28 09:26:34 #1 C44P25 mako37 - Finishing race : 3:13.93
10.06.28 09:26:34 #1 Race finishing...
10.06.28 09:26:34 #1 Normal race restart in : 120
10.06.28 09:26:34 #1 LFSW - new XFG PB by mako37: 1:24.99 (-0:23.95)
10.06.28 09:26:34 #1 C44P25 mako37 - Requiring LFSW OS update...
10.06.28 09:26:34 #1 C44P25 mako37 - Requiring AIRW VB update...
10.06.28 09:26:34 #1 C44P25 mako37 - Requiring LFSW PB update...


10.06.28 09:33:20 #1 C13P09 buky.com - Lap 2 : 1:17.90
10.06.28 09:33:20 #1 AIRIO ERROR : Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei LiveForSpeed.InSim.Airio.Datas.GetListCars(String trackName, String carName, String sort, String filter) in D:\Development Files\LFS_Airio\Datas.cs:Zeile 1001.
bei LiveForSpeed.InSim.Airio.Airio.PlayerLap_Handler(Connection sender, PlayerLap l) in D:\Development Files\LFS_Airio\Splits.cs:Zeile 771.
10.06.28 09:33:20 #1 C13P09 buky.com - Finishing race : 3:30.19
10.06.28 09:33:20 #1 Race finishing...
10.06.28 09:33:20 #1 Normal race restart in : 120
10.06.28 09:33:21 #1 C13P09 buky.com - Receiving results : 1 | False
10.06.28 09:26:34 #1 C44P25 mako37 - Received LFSW OS data...
10.06.28 09:26:35 #1 C44P25 mako37 - Receiving results : 1 | False


10.06.28 09:34:38 #1 C44P14 mako37 - Lap 2 : 1:23.88
10.06.28 09:34:38 #1 AIRIO ERROR : Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei LiveForSpeed.InSim.Airio.Datas.GetListCars(String trackName, String carName, String sort, String filter) in D:\Development Files\LFS_Airio\Datas.cs:Zeile 1001.
bei LiveForSpeed.InSim.Airio.Airio.PlayerLap_Handler(Connection sender, PlayerLap l) in D:\Development Files\LFS_Airio\Splits.cs:Zeile 771.
10.06.28 09:34:38 #1 C44P14 mako37 - Finishing race : 4:48.51
10.06.28 09:34:39 #1 LFSW - new XFG PB by mako37: 1:23.88 (-0:01.11)
10.06.28 09:34:39 #1 C44P14 mako37 - Requiring LFSW OS update...
10.06.28 09:34:39 #1 C44P14 mako37 - Requiring AIRW VB update...
10.06.28 09:34:39 #1 C44P14 mako37 - Requiring LFSW PB update...
10.06.28 09:34:39 #1 C44P14 mako37 - Received LFSW OS data...
10.06.28 09:34:39 #1 C44P14 mako37 - Receiving results : 2 | False


10.06.28 09:40:00 #1 C22P27 uctt - Lap 2 : 1:20.14
10.06.28 09:40:00 #1 AIRIO ERROR : Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei LiveForSpeed.InSim.Airio.Datas.GetListCars(String trackName, String carName, String sort, String filter) in D:\Development Files\LFS_Airio\Datas.cs:Zeile 1001.
bei LiveForSpeed.InSim.Airio.Airio.PlayerLap_Handler(Connection sender, PlayerLap l) in D:\Development Files\LFS_Airio\Splits.cs:Zeile 771.
10.06.28 09:40:00 #1 C22P27 uctt - Finishing race : 3:26.37
10.06.28 09:40:01 #1 C22P27 uctt - Receiving results : 3 | False


etcpp...

Airio 2.4.5
Quote from VoiD :Found an error...

Uhm, that one looks nasty, but unfortunately I do not currently see the cause, partially because Airio 2.4.5 is released and the line numbers have changed. Please do the update and if the troubles reappear, let me know again.

As mentioned, new Airio is available. The most important thing is SQLite support also in the FREE version and the possibility not only to import data to the database (basically from the STA files) using !dbi, but also to export data from the SQLite database to the internal tables later saved as STA files using !dbe. That means admins can edit the database and transfer changes to the running Airio. See the changelog for more details.
Hi EQ
Have a problem with two different external add-ons that i want to run at the same time but LFS wont let me (up to yet), im hoping you will be able to help.
I currently run Aonio, which inside the LFS CFG file wants the outgauge UDP settings to be like this...

OutGauge Mode 0
OutGauge Delay 0
OutGauge IP 127.0.0.1
OutGauge Port 0
OutGauge ID 0

But i have just installed an external digital dashboard, which wants the UDP settings to be...

OutGauge Mode 1
OutGauge Delay 10
OutGauge IP 127.0.0.1
OutGauge Port 55
OutGauge ID 0

If i have the Outgauge Mode set to 0 Aonio runs but not the digi-dash, and if i set it to 1, the digi-dash works but aspects of Aonio stop working (fuel, speed, RPM and shift beep).
Is there any way around this so i can run both at once fully working?
Cheers mate
Quote from EQ Worry :partially because Airio 2.4.5 is released and the line numbers have changed.

are you on steroids or something? Damn you are fast these days
Quote from B1gch0pper :... If i have the Outgauge Mode set to 0 Aonio runs but not the digi-dash, and if i set it to 1, the digi-dash works but aspects of Aonio stop working (fuel, speed, RPM and shift beep). ...

Uhmmm. I'm afraid I have no idea what Outgauge Mode sets/means... Any more info available somewhere?

Quote from cargame.nl :are you on steroids or something? Damn you are fast these days

I need to have some stable and reliable version before summer holidays, that's why. Not much new features, but no (serious) bugs either, that's why the updates.
Quote from EQ Worry :...As mentioned, new Airio is available...

Is the new one official released..? My mailbox is still empty.
Quote from VoiD :Is the new one official released..? My mailbox is still empty.

Hehe, just sent. I was waiting for a few hours to see if there's no big problem. Well, and in fact there was one, so it was worth the waiting...
Thx alot!

Found a new typo in the changelog....

Quote :Moved RaceLaps item from SRV file to TCD file, where it logically belongs.

Configuration: Airio.cfg.txt – Added RaceLaps

Hi EQ,

I have an error loading Airio...

10.06.28 21:33:52 AIRIO ERROR : Unable to load DLL 'sqlite3': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at System.Data.SQLite.UnsafeNativeMethods.sqlite3_open_v2(Byte[] utf8Filename, IntPtr& db, Int32 flags, IntPtr vfs)
at System.Data.SQLite.SQLite3.Open(String strFilename, SQLiteOpenFlagsEnum flags, Int32 maxPoolSize, Boolean usePool)
at System.Data.SQLite.SQLiteConnection.Open()
at LiveForSpeed.InSim.Airio.Datas.DBOpen() in D:\Development Files\LFS_Airio\Sqls.cs:line 32

I tried to register with regsvr32 System.Data.SQLite.dll library and my operating system does not allow it, any suggestions?
Quote from VoiD :Found a new typo in the changelog....



Quote from Melvyn :I have an error loading Airio...
10.06.28 21:33:52 AIRIO ERROR : Unable to load DLL 'sqlite3': The specified module could not be found.

On Windows you'll need to copy sqlite3.dll into Airio or Windows\System32 directory, on Linux you'll need sqlite3.so in some system directory (renaming the SO file may be required). Click on the filename to download or get the file from here.
SQLite Linux
I use SQLite in linux. This was installed. Airio version is 2.4.5.
Running Airio and see this at console:

Airio tracker [COLOR=red][B]v. 2.4.5 PROS[/B][/COLOR] by EQ Worry for My NAME
Opening connection : CONN OK
Airio connected to My SERVER - 0.5Z28 - S2
** Airio Logging **
Airio local logging is now turned on...
13:54:37 Received AIRW BL data : 825
13:54:44 Received LFSW WR data : 941
13:54:44 Renewed all LFSW WR data...
** Airio Version **
Airio tracker [B][COLOR=red]v. 2.4.5 FULL...[/COLOR][/B]

If Airio is running every minutes added

29

First time twice

29
29

Quit Airio with q key

** Quit Airio **
13:51:12 Leaving main loop...
13:51:12 Writing data...
13:51:12 Data written in : 0.01
13:51:12 #1 Airio tracker v. 2.4.5 disconnected from server...
13:51:12 #1 Closing connection...
13:51:12 #1 Stopping thread : Aegio - 192.168.0.1:29999 - TCP Sender
13:51:12 #1 Stopping thread : Aegio - 192.168.0.1:29999 - TCP Listener
Airio disconnected from My SERVER
13:51:14 #1 Disconnected from : My SERVER
Closing connection : DONE
13:51:15 #1 Closed connection...
13:51:15 AIRIO ERROR : sqlite3_next_stmt
at (wrapper managed-to-native) System.Data.SQLite.UnsafeNativeMethods:sqlite3_next_stmt (intptr,intptr)
at System.Data.SQLite.SQLiteBase.ResetConnection (System.Data.SQLite.SQLiteConnectionHandle db) [0x00000]
at System.Data.SQLite.SQLiteBase.CloseConnection (System.Data.SQLite.SQLiteConnectionHandle db) [0x00000]
at System.Data.SQLite.SQLiteConnectionHandle.ReleaseHandle () [0x00000]
at System.Runtime.InteropServices.CriticalHandle.Dispose (Boolean disposing) [0x00000]
at System.Runtime.InteropServices.CriticalHandle.Dispose () [0x00000]
at System.Data.SQLite.SQLite3.Close () [0x00000]
at System.Data.SQLite.SQLiteConnection.Close () [0x00000]
at LiveForSpeed.InSim.Airio.Datas.DBClose () [0x00000]
at LiveForSpeed.InSim.Airio.Airio.Main () [0x00000]
ERROR : 10.06.29 10:51:15 - sqlite3_next_stmt

Okram
Quote from Okram :Airio tracker v. 2.4.5 FULL...

29
29

13:51:15 AIRIO ERROR : sqlite3_next_stmt

The FULL/PROS text is just display matter, but I corrected the output now... The number in console... Sorry! It was a debug info I forgot to remove from code. Also corrected now... The SQLite error on database close, hmmmm... I'm afraid I currently do not see the cause, but I improved error handling for this case, so that Airio closes properly.

All the updates are available in the same FREE/FULL files on airio.eu, just download again and update Airio.exe and Airio.pdb. Franky of 500servers will be installing Airio 2.4.5 soon.

Also, I added one more item to the SRV file that I forgot to mention in the changelog. It is supposed to restart race when leaving lobby screen after track change and thus achieve correct grid sorting, if custom sorting (e.g. by car type/speed) is used.
Quote from EQ Worry :All the updates are available in the same FREE/FULL files on airio.eu, just download again and update Airio.exe and Airio.pdb.

Replacing Airio.exe and Airio.pdb (downloaded airio.eu) and show version
Airio tracker v. 2.4.5 [B]FREE[/B] by EQ Worry

This not right?

Okram

Edit: Sorry, my mistake (from e-mail must)
Quote from EQ Worry :Uhm, that one looks nasty... Please do the update and if the troubles reappear, let me know again.

It´s still there:

Quote :
10.06.29 18:45:53 #1 Automatic race restart approaching...
10.06.29 18:45:53 #1 Race is automatically restarting...

10.06.29 18:46:01 Writing data...
10.06.29 18:46:01 Data written in : 0.31


10.06.29 18:46:03 #1 C30P47 xxxxxx - Lap 3 : 1:26.69
10.06.29 18:46:03 #1 C30P47 xxxxxx - Saving data from PlayerLap...
10.06.29 18:46:03 #1 AIRIO ERROR : Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei LiveForSpeed.InSim.Airio.Datas.GetListCars(String trackName, String carName, String sort, String filter) in D:\Development Files\LFS_Airio\Datas.cs:Zeile 977.
bei LiveForSpeed.InSim.Airio.Airio.PlayerLap_Handler(Connection sender, PlayerLap l) in D:\Development Files\LFS_Airio\Splits.cs:Zeile 771.
10.06.29 18:46:03 #1 LFSW - new XFG PB by xxxxxx: 1:26.69 (-0:14.28)
10.06.29 18:46:03 #1 C30P47 xxxxxx - Requiring LFSW OS update...
10.06.29 18:46:03 #1 C30P47 xxxxxx - Requiring AIRW VB update...
10.06.29 18:46:03 #1 C30P47 xxxxxx - Requiring LFSW PB update...
10.06.29 18:46:04 #1 C30P47 xxxxxx - Received LFSW OS data...

Just the line in Data.cs switched from 1001 to 977...
Quote from VoiD :It´s still there ... Just the line in Data.cs switched from 1001 to 977...

Wow, this one beats me. I can see where the error appears, but I do not know how it is possible. When you have a minute, could you please zip all the Airio config + stat files used and send them over? I'll need to take a closer look...
Ok, just a few minutes.
I´ve set "LogStats=true", "LogEvents=true" and "LogProcedures=true" for bughunting now...


I believe its something with new pb´s and the "driver IP address capturing"-thingie...
Hi Eq Worry,
one question.
I've setted my server that when race restart it reverse first 12 position on grid.
It works fine but ...
In my baby before race 1 i manual call driver and do the grid.
After i start race for a lag lap, just 3-4 corners and after i call restart.

Why when i call restart airio reverse the grid ?!?!?
Because it reverses grid depending on order of the grid before restarted
Great, so i can't use lag lap. DAMN.

Another questions. Why if a guys finish for example 15th ... sometime happens that he restart 21th and not 15th ?!?

From race 1 and race 2 people need to stay on track to do not loose his position ?
Quote from michele0676 :Great, so i can't use lag lap. DAMN.

Another questions. Why if a guys finish for example 15th ... sometime happens that he restart 21th and not 15th ?!?

From race 1 and race 2 people need to stay on track to do not loose his position ?

U should just turn airio off for the test race.
I know, but i love automatism.
Are you sure your GridPriCount= is set properly?
And yes, i do believe drivers need to be on grid in order to retain their positions...

Or, you could just use CustomGrid=false in Airio, and /start=reverse in LFS....

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