Look in Airio.srv.txt for
you can temporarily test by joining server by joining with admin PW and type:
spaces and caps must be correct....
Edit: tested it, didn't seem to work correctly. may be a bug.
Maybe EQ can look into it.....
@ Worry. tried a few combinations of settings....does not seem to be working properly.
if SetupTcForce=true, result=spectate whether TC is on or off
if SetupTcAllow=true, and SetupTcForce=true, result=spectate TC on or off
if SetupTcForce=false, and SetupTcAllow=false, result=allowed join TC on or off.....this should be the combo to spectate for TC on correct?
Hi! If you return by several pages in this thread, you'll find the settings discussed, because it unfortunately includes a serious issue that's not possible to resolve with the currently available data. Anyway, I'll repeat the problem below to save you the time of looking for more info...
Hm, I just did some tests and it worked for me as expected. You correctly say that CheckSetup must be set to true, or car/driver setting are not checked. Default SetupTcAllow=true then says TC is allowed and default SetupTcForce=false does not force the use of TC. Here's the possible combinations:
1) SetupTcAllow=true, SetupTcForce=false : Anyone can join with TC on or off.
2) SetupTcAllow=false, SetupTcForce=false : TC is not allowed, when joining with TC you are spectated.
3) SetupTcAllow=true, SetupTcForce=true : TC is required, when joining without TC you are spectated.
4) SetupTcAllow=false, SetupTcForce=true : This setting does not make sense, because you prohibit TC by one command and force it by other. DO NOT USE, cars will always be spectated.
I checked the code and did experiments with all combinations, it worked as it should for me. HOWEVER there's an important point seriously limiting the use of all the above TC settings. The problem is the check is possible only when joining track. Unfortunately LFS does not report TC state changes once the car is on track.
The problem is TC is part of car setup, not like e.g. auto gears, which are part of player setup. If someone turns on/off automatic gears on track, the change is reported and thus e.g. a policy of no automatic gears can always be enforced. If someone changes TC status once on track, Airio has no way to know.
When trying to solve the issue I went into really weird solutions, like asking for player and car data periodically, but unfortunately even this did not work, always TC state when joining track was reported, not current TC state.
I'd call it a LFS inconsistency bug, TC should fall into the same category as auto gears and then we'll have no troubles. But as it is now, TC is stored and can be checked only on race join, later changes are not visible to server/Airio.
Great! And thanks as well.
OK, please also use the latest available FREE version, which is 2.3.4a. The QuickReconTries is a complicated matter. Please set it to 1 for now. But I know there may be problems with this setting, quick reconnect after forced disconnect may sometimes fail badly, leading to very weird Airio state. Mostly it works OK, but when there's really unfortunate sequence of events, it has a tendency to fail. I'll try to watch closer what's going on there, but it is a state that's nearly impossible to recreate and watch closely...
@Villez0r: As far as I know this should be activated by default
I have some questions: Does a "BName" or an entry in Airio.ban.txt have priority over a LimadX ? I mean if someone is listed as "BName" or is banned with the normal Airio ban and also is listed as Limad. Can he connect or or will Airio refuse the connection?
How does it work with a Super Admin (Limad5 with Admin pass) ??
How does the championship thing work? I would like to do practice 24/7 at my server. I also should be possible to collect experience points to be able to drive faster cars later. But 3 times a week I would like to do about 5 or 6 sprint races in a row and the points of these sprint races should be counted as a championship. So at the end of the week I would calculate the result of all 3 sprint championships to have a winner. Better of course would be if it would be possible that Airio would calculate the points of all 3 championships...
How can I activate and end such a "championship" automatically at a special time? I could start it with a scheduled command, but I cannot end it with a scheduled command, because I would never know when it will be finished... Also how can I see the results of the championship?
1. Last release= Airio 2.3.4 (2009-09-14)
- I'm getting the NO-SCHTUFF-TO-TEST Syndrome again !
2. JustForFunRacing have a good idea there, apart for the championship side it can be made simply by starting multiple instance of servers with different class requirement. You then put bigger cars on those servers. Resulting with UNUSED servers because most cant join in or server is empty=no interest to join, see Aleajecta servers, sadly only FBM class E server always have people on it).
I guess JustForFunRacing want something allowing racers who come often to server and make pts to get/try faster cars. But then those ones will get all the PTS for the race wins tith those new better cars.
You can put a turnaround with intake limitations on new choices... but then you will have a really long list of information to give on server login and enforce limitations...I see lots of ''xxx spectated for...'' coming. hehehe EDITED: See CustomCars item in Airio.tcd.txt, need FULL 2.1.9 +
But this is really a good start idea, you race often on server x, you get more choices of car to race with... all with restrictions that give almost same performance results but better tyres options and aero dynamic / handling.
Having cars available based on server rank (made by pts on server) would be a must if it's possible. EDITED: Sounds like ''LicenceRanksSpecific in Airio.srv.txt'' , need FULL version 2.1.9 +
I second this request...
We (guys who tests it on there servers) will then have to find a way to tweek cars so they can all race together without puting first ones too far beyond.
If there is something already done like this, please send me a link.
This can make LFS to be a bit more like other video games, having cars to unlock over time and pts. Sounds fun to me... it give the casual racers a goal to reach if they can obtain podiums.
Combination of rank+licence class=car x unlocked would be great too !
Even !safe rank... you dont drive clean enough ?
Then you dont have access to XXR cars till say safe=90%
Wow, dynamic car choice options could make major difference for LFS servers... :static:
Let us know if you can do something like this. :munching_
Is it (or can it be) possible when utilizing SpecAfterFinish in Qualifying mode to alter the amount of laps allowed before a driver gets spectated?
As of right now it is one outlap and one hotlap. I would like to be able to make it two hotlaps.
Also have you given any thought to my PM regarding Lap Record notification?
Thanks again for all your hard work.
We have the last version running and it seems that the new error handling works fine!
I'm checking the logs and now when we get Packet Write errors (System.IO.IOException), the thread is killed. But I can't see if it does the same when we get System.Net.Sockets.SocketException.
Some extracts of the log files for you to see
Thread aborting for System.IO.IOException:
09.10.13 11:55:32 #1 Packet write error... 09.10.13 11:55:32 #1 AEGIO ERROR : System.IO.IOException Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host. at System.Net.Sockets.NetworkStream.Write(Byte buffer, Int32 offset, Int32 size) at LiveForSpeed.InSim.Aegio.Connection.PacketWrite(Byte pack) in c:\Development Files\LFS_Airio2\Aegio\InSimConnection.cs:line 287 09.10.13 11:55:32 #1 AEGIO ERROR : Packet not written 4 3 0 0 09.10.13 11:55:32 #1 Reconnect attempt : 1 09.10.13 11:55:33 #1 Packet write error... 09.10.13 11:55:33 #1 AEGIO ERROR : System.IO.IOException Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host. at System.Net.Sockets.NetworkStream.Write(Byte buffer, Int32 offset, Int32 size) at LiveForSpeed.InSim.Aegio.Connection.PacketWrite(Byte pack) in c:\Development Files\LFS_Airio2\Aegio\InSimConnection.cs:line 287 09.10.13 11:55:33 #1 AEGIO ERROR : Packet not written 4 3 0 0 09.10.13 11:55:33 #1 AEGIO ERROR : System.Threading.ThreadAbortException Thread was being aborted. at System.Threading.Thread.SleepInternal(Int32 millisecondsTimeout) at LiveForSpeed.InSim.Aegio.Connection.ListenTCP() in c:\Development Files\LFS_Airio2\Aegio\InSimListener.cs:line 14 09.10.13 11:55:33 #1 Disconnected from : MecaHost LFSSpain #1 09.10.13 11:55:33 #1 Closed connection... 09.10.13 11:56:04 #1 Nulling instance...
No clues about thread handling on System.Net.Sockets.SocketException
09.10.14 03:09:04 #1 AEGIO ERROR : System.Net.Sockets.SocketException No connection could be made because the target machine actively refused it 18.104.22.168:29988 at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port) at LiveForSpeed.InSim.Aegio.Connection.ConnectionOpen(String hostName, Int32 hostPort, String adminPass, String insimName, Char prefixChar, Boolean hostLocal, Boolean keepColours, Boolean sendNodeLap, Boolean sendMultiCar, UInt16 updateInterval, UInt16 udpPort) in c:\Development Files\LFS_Airio2\Aegio\InSimConnection.cs:line 99 09.10.14 03:09:04 #2 Starting new instance... 09.10.14 03:09:04 #2 Reading server configuration... 09.10.14 03:09:04 #2 Opening connection to 22.214.171.124:29989 09.10.14 03:09:05 #2 Retrying connection... 09.10.14 03:09:06 Received LFSW WR data... 09.10.14 03:09:07 #2 Retrying connection... 09.10.14 03:09:09 #2 Connection failed... 09.10.14 03:09:09 #2 AEGIO ERROR : System.Net.Sockets.SocketException No connection could be made because the target machine actively refused it 126.96.36.199:29989 at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port) at LiveForSpeed.InSim.Aegio.Connection.ConnectionOpen(String hostName, Int32 hostPort, String adminPass, String insimName, Char prefixChar, Boolean hostLocal, Boolean keepColours, Boolean sendNodeLap, Boolean sendMultiCar, UInt16 updateInterval, UInt16 udpPort) in c:\Development Files\LFS_Airio2\Aegio\InSimConnection.cs:line 99 09.10.14 03:09:09 Entering main loop... 09.10.14 03:10:09 #1 Nulling instance... 09.10.14 03:10:09 #2 Nulling instance... 09.10.14 03:13:09 Writing Lapper PB data... 09.10.14 03:14:09 #1 Restarting instance...
** Bizarrely this started working properly. I read through all the manuals ready to attack it... but it worked without changing anything from the lat changes I made... weird but very happy ***
Before I start I have read and absorbed as much of the readme's etc as I can, but I am not getting the results I expect.
I am a little confused over what to set the actual dedicated server settings to compared to Ario.
I know there is a wealth of txt in the files but I still have issues (I know, see a shrink :nod.
Say I want to set up BL2, FE5 and FE6 with cars limited to rally types, track rotation between each with 3 laps for first, 4 laps for second and 5 laps for third track.
Whatever I do doesn't seem to work.
I have the basics set-up but it seems that the server cfg overrides anything I setup in Ario (yes I have passwords etc done) and my tracks do not rotate or limit cars with the rotate section of ario...
Car choices, tracks and lap count always seem to depend on the server cfg not ario
Any examples of what to do say for just two cars and a couple of tracks would be good (not asking for complete configs just a few real examples...
Hi people, sorry for all the unanswered questions and ideas. I needed to take a few weeks off, do some real work for real money. However, I plan to add new things to Airio or improve old ones or debug the code. As you can see from the changelog page, some smaller yet maybe usable new things appered already and will be available in 2.3.5. I have new features in mind, but they are all quite complicated, maybe code cleaning (such as renumbering all buttons) will be necessary, and this is tedious and error-prone. Anyway, here are my comments to past posts:
Airio standard bans (in FULL version) and permanent bans (using BName) are ignored for limads level EnableBanLimited (formerly EnableBan) and above, as set in CFG file.
I'd suggest using for this the special points for "driving" (!ptd) and for "playing" (!ptp). These will accumulate all points, but only if that server uses StorePointsPlaying=true resp. StorePointsDriving=true. So, you may have both these set to false on all servers by default and change it temporarily only on one server for the special occassion. Once the even closes, you use false again. If true, all points from any track/car combination are accumulated into these numbers. The total points are also shown (with position) in !pi output.
Well, you can send !cfg StorePointsPlaying=true at a special time (in FULL version), but it is not possible to say that this should be active say for just 6 races. If you do not know when the champ races finish, then I'm afraid the only option to turn off playing/driving points is to do this manually (e.g. by !rld).
FULL version of Airio allows to limit higher car types using rank (points) and licence (lap time) and safety rating. Faster cars may be assigned categories with each one evaluated separately - there may be one winner of TBO category and one winner of GTI category in the same race. I believe this works quite well on the LR server. Also limiting car types by safety level should work though I did not test it for some time now. This means you may have GT2/GTR combined server with GTR cars available only if you have reasonable safety rank (and optionally certain rank, and optionally certain licence).
Currently all custom cars and categories can have only exactly 3 characters. This limitation makes parsing easier and is in accordance with principles used in LFS. Still, Airio code may be adjusted to allow longer names/codes, there's nothing preventing this.
Hm, that's interesting. The SpecAfterFinish is intended primarily for layout hotlapping (such as is used on Cone Challenge). I'd need to see more closely how it could be used in qualifying mode.
Good about the run! When Airio is used locally it should really run without losing connection. Still, I'm not sure how it could ever cause crash to the whole server, regardless of how many times if loses connection. If you'll have any more troubles, let me know.
Thanks for info, I've seen it in the past, but I don't think it something bad?
Well, as I wrote above, just one or two smaller things currently. However soon I'd like to add things that will be very hard to test thoroughly. E.g. universal pitlights (showing RED sometimes when entering track from pitlane and spectating people for ignoring this) should kick in only under special circumstances which are hard to create. For this it is best to let Airio run on some popular server, watch closely and see if there was any false warning/alarm). But this feature, while no doubt useful, is not as easy to implement... Still, some detection rutines are almost ready, I'd like to enter basic testing phase soon.
Track rotation is quite old feature and I believe it works reliably. There's no magic in setting it up, you'll just use 2 items in appropriate SRV file. Here's an example:
If you're on any of the tracks in rotation, then every 5 races the track will automatically move to the next one, changing lap count and car types as specified.
Yes, Airio can use the race length setting in hours and change it into minutes. (Note that the race length will in LFS [F12] still show as hours, which may cause some confusion.) To use racing for 15 minutes plus one lap use !len -15 command. Acceptable values are from 1 to 96. Note the negative value indicating minutes. Positive values represent laps.
Important: If you use !len with negative number (to race for minutes) and then want to return to races for laps, use !len again, this time with positive value, required lap count. Using /laps= will leave racing for minutes active in Airio, which you do no want.