The online racing simulator
AIRIO - Advanced LFS Tracker
(2373 posts, started )
Quote from Welder99 :This "debug messages" in log file start every day about 01:38 and continue 1380 times / 24h. (one / minute)
10.07.17 00:01:38 DEBUG : Sending global stats - 131

Due to incorrect char this debug message will disappear only in 2.4.7...
Quote :
10.07.22 08:29:31 #4 AIRIO ERROR : SQLite error^M
cannot start a transaction within a transaction^M
at System.Data.SQLite.SQLite3.Reset (System.Data.SQLite.SQLiteStatement stmt) [0x00000]
at System.Data.SQLite.SQLite3.Step (System.Data.SQLite.SQLiteStatement stmt) [0x00000]
at System.Data.SQLite.SQLiteDataReader.NextResult () [0x00000]
at System.Data.SQLite.SQLiteDataReader..ctor (System.Data.SQLite.SQLiteCommand cmd, CommandBehavior behave) [0x00000]
at (wrapper remoting-invoke-with-check) System.Data.SQLite.SQLiteDataReader:.ctor (System.Data.SQLite.SQLiteCommand,System.Data.CommandBehavior)
at System.Data.SQLite.SQLiteCommand.ExecuteReader (CommandBehavior behavior) [0x00000]
at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery () [0x00000]
at System.Data.SQLite.SQLiteTransaction..ctor (System.Data.SQLite.SQLiteConnection connection, Boolean deferredLock) [0x00000]

Happens quite a lot actually.
Quote from cargame.nl :Happens quite a lot actually.

Yes, I'm just looking into it (or at least trying to). Also it shows the opposite, cannot commit transaction, because there is none. It seems the transactions are somehow mingled, sometimes one closes another and sometimes one starts before another is closed. Doh...
Hhmm strange... People seem to lose rank suddenly...

10.07.22 06:38:37 #1 C28P00 worldhazard - WorldHazard : no1 around AGAIN
10.07.22 06:38:44 #1 C28P00 worldhazard - WorldHazard : i get here often when it's 'empty' lol
10.07.22 06:38:57 #1 C15P24 cargame.nl - Info : F881
10.07.22 06:39:01 #1 WorldHazard left the pits (RB4)
10.07.22 06:39:01 #1 C28P31 worldhazard - Joining race : RB4
10.07.22 06:39:01 #1 C28P31 worldhazard - SPEC - Rank : 0 < 1
10.07.22 06:39:01 #1 WorldHazard : SPECTATED FOR INSUFFICIENT RANK
10.07.22 06:39:02 #1 C28P31 worldhazard - Leaving race...
10.07.22 06:39:03 DEBUG : Sending global stats - 516
10.07.22 06:39:14 #1 C28P00 worldhazard - DEBUG : ButtonClick - Clicked ID : 210
10.07.22 06:39:16 #1 C28P00 worldhazard - WorldHazard : !rk
10.07.22 06:39:16 #1 WorldHazard : !rk
10.07.22 06:39:23 #1 C28P00 worldhazard - DEBUG : ButtonClick - Clicked ID : 76
10.07.22 06:39:26 #1 WorldHazard left the pits (RB4)
10.07.22 06:39:26 #1 C28P21 worldhazard - Joining race : RB4
10.07.22 06:39:26 #1 C28P21 worldhazard - SPEC - Rank : 0 < 1
10.07.22 06:39:26 #1 WorldHazard : SPECTATED FOR INSUFFICIENT RANK
10.07.22 06:39:27 #1 C15P24 cargame.nl - Info : F881
10.07.22 06:39:27 #1 C28P21 worldhazard - Leaving race...
10.07.22 06:39:34 #1 C28P00 worldhazard - DEBUG : ButtonClick - Clicked ID : 210
10.07.22 06:39:45 #1 WorldHazard left the pits (XFG)
10.07.22 06:39:45 #1 C28P29 worldhazard - Joining race : XFG
10.07.22 06:39:45 #1 C28P29 worldhazard - SPEC - Rank : 0 < 1
10.07.22 06:39:45 #1 WorldHazard : SPECTATED FOR INSUFFICIENT RANK
10.07.22 06:39:45 #1 C28P29 worldhazard - Leaving race...
10.07.22 06:39:48 #1 C28P00 worldhazard - DEBUG : ButtonClick - Clicked ID : 210
10.07.22 06:39:51 #1 C28P00 worldhazard - WorldHazard : wtf...
10.07.22 06:39:57 #1 C15P24 cargame.nl - Info : F881
10.07.22 06:39:59 #1 WorldHazard disconnected

Overview of: WorldHazard (worldhazard)
Ranks: Class 5 + 1145 = Class 6

No idea what it is.. Couple of minutes and a few disconnects / connects later and Airio seems to remember what ranking people have

I let them do !exr (some are also experienced enough to skip ranking) but that has no influence. Weird.

Its even more strange because rank wise you can always join RB4/FXO etc... It only has a rating limit.
Quote from cargame.nl :Hhmm strange... People seem to lose rank suddenly...

I think it is connected with the above problem. I believe there's a SQLite error (random) after people connect, which stops the new connection routine prematurely, leaving rank empty, at 0. I need to solve the SQLite troubles - I know the cause, now only a reliable solution is needed... An option would be to disable SQLite until 2.4.7 is ready. The database can be always imported again later.
Hmm... I have strange problems with LFSEI...

Very experienced guests are reported with 0 experience and are spectated for insufficient experience

Sometimes in the middle of a qualy lap...

Is that the same problem with SQLite too?
Quote from Crady :Hmm... I have strange problems with LFSEI...

Hard to say, a log of some time before the trouble appeared would be most helpful...
Quote from EQ Worry :An option would be to disable SQLite until 2.4.7 is ready.

No. I already fully rely on the SQLite db3, that's the problem when you develop things. They are useful
The problem is if SQLite in 2.4.6 throws errors too often, some routines are not finished correctly and the impact is really unpredictable. I'd suggest setting UseSQLite to false for a day to be sure (within limits) the system works reliably. I'll make a better version available tomorrow, need to think it over a bit...
-
(karakterman2) DELETED by karakterman2
Airio 2.4.7
New Airio version hopefully solves especially the recently noted problems concerning SQLite support. Because Airio uses just one connection to the database, shared by all connected servers and multiple threads, under certain conditions collisions occurred leading to various errors. Database connection locking is applied now to make the sharing a safe matter.

The FULL/PROS version also contains options to raise WAVED blue and yellow flags to let people know more cars are approaching from behind or someone slow/crashed is ahead on the race path. Additional options allow to block race join for the whole 1st lap (or just from last split of the 1st lap) to 1st split of the 2nd lap.
Quote from EQ Worry :NOTE to FULL/PROS version owners: Please contact me if you're installing Airio yourself and want this version (which you really should use), because I cannot send the usual announcement with link now... Sorry.

Hello, i sent you a pm
Well, and there is result:
First is Airio 2.4.7 PROS Update 1 (16.07.2010) quit Airio log:
*** Quit Airio ***
20:04:35 Leaving main loop...
20:04:35 Writing data...
20:04:35 Data written in : 0.02
20:04:35 ST items : 000009 / 000028 / 000000 / 000063 / 000000
20:04:35 DB items : 000009 / 000016 / 000013 / 000036 / 000000
20:04:35 #1 Airio tracker v. 2.4.7 disconnected from server...
20:04:35 #1 Closing connection...
20:04:35 #1 Stopping thread : Aegio - 192.168.0.1:29999 - TCP Sender
20:04:35 #1 Stopping thread : Aegio - 192.168.0.1:29999 - TCP Listener
20:04:35 Received LFSW WR data : 941
20:04:35 Renewed all LFSW WR data...
Airio disconnected from Server
20:04:37 #1 Disconnected from : Server
Closing connection : DONE
20:04:38 #1 Closed connection...
[B]20:04:38 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]
ERROR : 10.07.24 17:04:38 - sqlite3_next_stmt[/B]
20:04:38 Closing program...

This error i show here some time ago.

And today (24.07.2010) Quit Airio log.
*** Quit Airio ***
20:06:26 Leaving main loop...
20:06:26 Writing data...
20:06:26 Data written in : 0.02
20:06:26 ST items : 000009 / 000028 / 000000 / 000063 / 000000
20:06:26 DB items : 000009 / 000016 / 000013 / 000036 / 000000
[B][COLOR=red]20:06:26 SQLite support disabled...[/COLOR][/B]
20:06:26 Closing DB connection...
[B]20:06:26 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]
ERROR : 10.07.24 17:06:26 - sqlite3_next_stmt[/B]
20:06:26 #1 Airio tracker v. 2.4.7 disconnected from server...
20:06:26 #1 Closing connection...
20:06:26 #1 Stopping thread : Aegio - 192.168.0.1:29999 - TCP Sender
20:06:26 #1 Stopping thread : Aegio - 192.168.0.1:29999 - TCP Listener
Airio disconnected from Server
20:06:28 #1 Disconnected from : Server
Closing connection : DONE
20:06:29 #1 Closed connection...
20:06:29 Closing program...

Updated only Airio.exe and all *.pdb, and *.dll no config or stats files. SQLite error still have. What is red line mean? Airio work in linux.

Okram
Quote from Okram :SQLite error still have. What is red line mean? Airio work in linux.

It is a very strange error, I wonder if some other Linux users see the same. But it obviously happens only when connection to the database is being closed, so I think it is not that important, especially because the error is captured and everything else closes properly. The red line just says that no more database access is supported, when the program closes, just as it says from when the database is available after program start. Also when doing relatively lengthy database operations (think a few seconds max), such as !dbi or !dbe, the database is temporarily deactivated...
Two suggestions:

PointsBest should only be given when more than one car per class finished the race.

I think PathCheck on Fern Bay needs some review (pic attached)
Attached images
FE_pth.jpg
Quote from VoiD :PointsBest should only be given when more than one car per class finished the race. I think PathCheck on Fern Bay needs some review (pic attached)

1) Well, this is kind of intentional, an extra point(s) for being lonely but persistent in your category. Sort of a "support" point.

2) Indeed, good point, I'll try to correct this, but it will take some time (days)...
Well, it took less then I was thinking, so the FE path files are updated already. They are FE1, FE1R, FE3, FE3R, FE4, and FE4R. You can find the new path files archive here: http://www.airio.eu/files/LFS_PTH_V13.zip. Just upload the files to Airio directory and type !rld, nothing else is necessary.

PS: Appended is example correction for FE1...
Attached images
_FE1_.jpg
Awesome, thx a lot!
Protection from speed hacks
Well, so we have a new era of speed hacks upon us. Last time it was here about 2 years ago. This message gives basic info about what protection you can use in Airio (all versions) to get rid of hackers or at least try to.

1) You may limit maximum allowed speed, per track and car. This is done in Airio.tcd.txt file and it allows (using AllowedSpeed) to say that e.g. on BL1 a FBM can move at speed of 230 kmph max. If higher speed is detected (which may also be result of a crash), the car is spectated for safety. Simple and quite effective, you just need to know what are the realistically possible speeds. (For XFG and XRG on BL1 200 kmph is a safe value.) For the check to actually run and spectate impossibly fast cars also CheckSpeed in appropriate Airio.srv.?.txt file must be set to true.

2) Also possible split/sector times can be checked, comparing driver's data with current WR. This check is activated by setting CheckTime to true in appropriate (or the main) SRV file. Additional items to see are AllowedSectrTime and AllowedSplitTime, but default values of 9800 resp. 9900 are OK (except on oval, where you need lower values). Any car with sector time 2% or split time 1% or more under WR is immediately kicked for safety.

3) Unfortunately the latest development is very sad. Unbelievably, LFS World seems to be currently accepting hacked offline hotlap times as valid ones and presents those ridiculous values as new official world records. This completely screws (sorry) the principle used by point 2 above. Until the troubles are solved on LFS developers side, there's only one solution. Set UpdateWR in CFG file to false, so that new WRs are not read from LFSW. Overwrite the existing Airio.wrs.txt file with the one that is appended, one or two days old with realistic times. Restart Airio, ideally by !ai admin command (note that !rld will NOT work in this case).

Well, especially point 3 is really sad and has profound impact in many Airio areas.
Attached files
Airio.wrs.txt - 40.9 KB - 254 views
Quote from EQ Worry :1) You may limit maximum allowed speed, per track and car...

Personally I´m too lazy to add 846352 possible speeds into tcd.txt.

Quote from EQ Worry :
2) Also possible split/sector times can be checked, comparing driver's data with current WR...

Problem is (at least for us) that a faster time (must not cheated, but depends on cfg) with restricted cars (UFB, GTx, etc) allways result in a kick/spec.

Suggestution: Temporary exclude all custom restricted cars from "CheckTime"

Quote from EQ Worry :
3) Unfortunately the latest development is very sad. Unbelievably, LFS World seems to be currently accepting hacked offline hotlap times as valid ones and presents those ridiculous values as new official world records. This completely screws (sorry) the principle used by point 2 above. Until the troubles are solved on LFS developers side, there's only one solution. Set UpdateWR in CFG file to false, so that new WRs are not read from LFSW...

allready done

Quote from EQ Worry :
Well, especially point 3 is really sad and has profound impact in many Airio areas.

Yep. I recommend to report all suspicious times to LFS-forum.
Quote from VoiD :Personally I´m too lazy to add 846352 possible speeds into tcd.txt.

An option is to use empty track and set just the 20 cars. But the check precision will go down naturally. (But see below.)

Quote from VoiD :Problem is (at least for us) that a faster time (must not cheated, but depends on cfg) with restricted cars (UFB, GTx, etc) allways result in a kick/spec.

OMG... Well, correct (somehow, plus/minus) time adjustments should help, I think, but I'm not sure. But the idea was to take the WRs of supported restricted cars from AIRW, that's how it should work. But looking closer into this would require deep digging in the code.

Anyway, the cheating concerns mainly demo servers and demo WRs. Only a few licensed people would really try this cheat, because obviously it would result in permanent account ban. At least I hope it is obvious.
3-4 days before you introduced your AIRW-data I added Okram´s UFB & GT2 (now called GT3) CTRA-Timeadjustments into tcd.txt...

But after a few tests we figured out that it didnt worked (compared to AIRW-data)
My name appears on the .txt
Thanks EQ Worry, I hope that hackers don't use speed hack in airio servers at least
Hi there,

I got a little problem, setting up a brandnew server with a brandnew AirIO.
Getting following error:
ERROR : 10.07.27 23:47:38 - Got 87


Another problem is that my mate, who hosts the server lives in the the states for a year so just have contact by mail.


Can someone tell me about the error an how it can be solved? I guess it is just a setting of IP or Port, but he has no clue working with the server or lapper files so I won´t bother him and just wanna give hi the right files so he can just upload them and start with SSH-service.


Kind regards,
Tomasz
Quote from FW-05 :I got a little problem, setting up a brandnew server with a brandnew AirIO.

The most tricky part for a start is to achieve the connection to server. For this three items need to be specified in Airio connection file, usually Airio.con.1.txt which is for server #1. The items are LFS server IP address, LFS server Inim port (not game port!) and the LFS server admin password.

IP address needs to be in the XXX.XXX.XXX.XXX format. If Airio is connected locally (on the same PC where LFS server also runs), general local address 127.0.0.1 may be used. This local run is in fact the preferred mode of operation. You can get the IP address from the server provider otherwise.

InSim port is set using /insim=XXXXX command on the LFS server, usually in setup.cfg server file. LFS provider may require using specific insim port which you cannot change. Otherwise you may choose your own, usually 29999 is used. (Note that you cannot set server insim port through client, this is possible only from server console or server config file.)

The admin password is set on server using /admin=sometext, again in server configuration file, which is setup.cfg by default.

When the three items match in server setup and Airio setup, connection is guaranteed... Uhm... The error you mention is interesting, but showing AIRIO ERROR lines from Airio log.txt file would be much more helpful.

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