The online racing simulator
Quote from EQ Worry :
Building reasonable experience index (EI or LFSEI) should not be a matter of few weeks of racing. It must be months and that's how the current index works. It grows slowly and the higher the slower. In this sense I call it a regressive index. It requires serious number of laps completed, best spread evenly across many track/car combinations. It takes into account race podiums and races finished, it also considers lap times, both made online and uploaded as hotlaps.

What is the formula that calculates the components of the index? Can you make it public?
I think it's a no.
Ok after some days of monitoring I'm quite sure the current Airio version gives connection problems / lag / buffer overflow.

I reduced IDK usage from six to two, to reduce too much data requesting at the same time and it eased somewhat but there are still problems.

I look at the logs and timeouts mostly occur after a LFSEI is requested and received.

Also some people ALWAYS loose connection at a track change.

See also this thread and this posting in particular;
http://www.lfsforum.net/showthread.php?p=1414864#post1414864

Might be onto something here.
Just a quick note from me: I have extremely busy week, I'll answer the questions/requests at the start of next one, so please be patient...
!delete and Updating
Hi.

<1.> How to use !delete command

Anyone knows how to delete Player's stats?
I Tryed to delete wrong data (!delete * 100) but I can not delete ststs.


<2.> How to update Airio 2.3.9a to 2.4.0

I want to update 2.3.9a to 2.4.0
How to update?

i) make 2.4.0 folder
ii) extract 2.4.0 Airio
iii) copy 2.3.9a config files to 2.4.0 folder
iv) Add 3 lines to Airio.srv.txt
SetAverageInfo
OffPathWeight
GoodLapWeight
v) copy 2.3.9a\Airio.pdb to 2.4.0\

Is it correct?
Attached images
delete.jpg
TB.jpg
you must be a Limad5 (unless you've changed the requirement in cfg file) AND be signed in with server admin PW in order to delete.

found here:

Quote :
delete [car|*|**] name
This command deletes player's stats from PB file. The deleted data cannot be automatically recovered, so one needs to be careful with this command. The command always expects player's full username as a parameter. Optionally it is possible to set also car for which the player stats should be erased. If car is not specifies, your current car is used. Before issuing this command it is advised to use !pb command with the same format. Once it returns correct data that are to be deleted, you may just replace !pb with !delete.

It is also possible to delete player's stats not only for current car, but for all cars on current track. In that case use * as car code. If you are really angry at someone, you may delete all his stored stats for all tracks and all cars. Just use ** as car code, but make really sure you are entering the correct username.
  • !delete thehacker – deletes the player's statistics for the current track and the car you are in.
  • !delete * thehacker – deletes the player's statistics for the current track and all cars he ever used on your server.
  • !delete ** thehacker – removes all this player's statistics from your server, keeping only his personal setting.
Output of the command summarizes what was actually deleted, but the action is not reversible, unless you stop Airio, replace SAT files from backup and start Airio again.
Alternative versions: !del.

Thank you reply.

Quote from z-ro 8 :you must be a Limad5 (unless you've changed the requirement in cfg file) AND be signed in with server admin PW in order to delete.

found here:

How do I configure Limad5?

1. Airio.cfg.txt (Limad5=100)
2. Restart Airio
3. Reconnect to Server with admin password
4. !players shows me Limad4
Attached images
Airio.cfg.txt.jpg
Limad4.jpg
In Airio FREE you cannot use limads level 1, 3, and 5, they are always converted to levels 0, 2, and 4. The solution is to change level needed for stats manipulation. In CFG file set EnableStats=4, then all admins can use stats manipulation commands. Also Airio restart is never necessary, !rld always works...
Quote from 100 :
I want to update 2.3.9a to 2.4.0
How to update?

[..]

Is it correct?

Yes
Quote from 100 :I want to update 2.3.9a to 2.4.0
How to update?

i) make 2.4.0 folder
ii) extract 2.4.0 Airio
iii) copy 2.3.9a config files to 2.4.0 folder
iv) Add 3 lines to Airio.srv.txt
SetAverageInfo
OffPathWeight
GoodLapWeight
v) copy 2.3.9a\Airio.pdb to 2.4.0\

Is it correct?

I usually do it in a quite different way:

1) Stop Airio by typing !quit or by pressing Q in the console.

2) Overwrite existing EXE, DLL, and two PDB files with the new ones.

3) Add the new lines into existing CFG/TCD/SRV files. (Using file comparison tool such as PSPad makes updating easier.)

4) Run new Airio.

Your method will also work, except the 5th step which is wrong...
Thank you.

Quote from EQ Worry :In Airio FREE you cannot use limads level 1, 3, and 5, they are always converted to levels 0, 2, and 4. The solution is to change level needed for stats manipulation. In CFG file set EnableStats=4, then all admins can use stats manipulation commands. Also Airio restart is never necessary, !rld always works...

Then good working!

Quote from EQ Worry :I usually do it in a quite different way:

1) Stop Airio by typing !quit or by pressing Q in the console.

2) Overwrite existing EXE, DLL, and two PDB files with the new ones.

3) Add the new lines into existing CFG/TCD/SRV files. (Using file comparison tool such as PSPad makes updating easier.)

4) Run new Airio.

Your method will also work, except the 5th step which is wrong...

OK, now updated.

By the way, at New Airio, how do I know player's Admin level?
Attached images
2.4.0-Players.jpg
From the changelog:

The basic !pl command is now always accessible and AllowPlayers in CFG file is used only to show/hide admin/limad status.

That means if you set AllowPlayers=-1, everyone calling !pl will see limad/admin status. If you use AllowPlayers=0, normal people will not see the info in !pl...
Quote from EQ Worry :From the changelog:

The basic !pl command is now always accessible and AllowPlayers in CFG file is used only to show/hide admin/limad status.

That means if you set AllowPlayers=-1, everyone calling !pl will see limad/admin status. If you use AllowPlayers=0, normal people will not see the info in !pl...

sorry, I fogot to read changelog.

Good working now, Thanks!
Is this some sort of punishment for using !exr? It seemed to happen the first time I did it, not just after I spammed it. I did give it enough time to show "Your current LFS Experience Index : 714.6" but it wouldn't come up, which is why I did it more than once in the first place.



Edit: Then I typed !ex after this and it showed up as 714.1

Edit2: It shows up as 714.635 currently on http://stats.airio.eu/EXD.aspx?U=pik_d

This is on 2.4.0a

Edit3: When I leave and rejoin it shows up at 714.6, but will subtract 0.1 every time I do !exr.

Attached images
exrgodown.png
exrgoup.png
Quote from pik_d :Is this some sort of punishment for using !exr?

No, there is no punishment (although people should use !exr reasonably). What you see is a side effect of showing the updated index, while the update fails or has insufficient time to respond.

When you type !exr, first your current EI is shown. It is then locally decreased by 0.1, so that updated EI can be shown. If current and new EI would be the same, there'll be no message. After local decrease an update is expected. If it doesn't come, locally the index stays a bit lower and will be lowered on each !exr. But once update happens (with successful !exr or reconnect), it is back where it is supposed to be.

!exr or generally EI generation could fail for several reasons. The usual one is incorrect LFSW key configuration in Airio (one key used also somewhere else), but also breakdown of communication with LFSW or airio.eu. You should always give enough time to the update, depending on server load and Airio setup it may take one to dozens of seconds to get the updated value...
Back to two older issues, I promised to address them:

Quote from _bob_ :What is the formula that calculates the components of the index? Can you make it public?

Well, I do not want to completely disclose the formula, for two reasons: 1) It may yet change in the future (although currently it works pretty well). 2) If known, I'd be probably flooded with complains about how bad it is and what more it should take into account and what not and in what way and how people could cheat. For that reason I made public the things taken into account, but I leave the specifics hidden.

However I can disclose as an example one, the simplest part of EI. Traveled distance index is in ASP.NET calculated like this:

double dex = Math.Pow(kms * 4, 1D / 3) * 1.5

Total distance in kms (as reported by driver's online LFSW stats) is multiplied by 4 and a cubic root is calculated from the value. The result is multiplied by 1.5, which is a weighing factor. For example if somebody traveled 250,000 kms, the distance index would be exactly 150.

The cubic root is the calculation core, because it has strong regressive effect. D index rises fast from the beginning, but the more someone has driven the slower this index rises. The other indexes work in much the same fashion. From start all indexes rise quite quickly, but as the input values raise, index growth slows.

While there is no theoretical limit to overall experience index, I believe 1200 points would be the practical limit for someone who spent many many years in LFS, did tens of thousands of races on all track/car combinations, is fast in all types of cars and is also active concerning offline hotlapping.

Quote from cargame.nl :Ok after some days of monitoring I'm quite sure the current Airio version gives connection problems / lag / buffer overflow.

Hard to comment on this one, I did not see any substantial troubles. I do not think lowering of the LFSW key number could have any real impact on connection troubles, just as asking for LFSEI. What could be causing connection troubles though is the buttons displayed right after connect. They're all send right after the driver appears at the server and if something isn't optimal, lost connection could result.

People are losing connection with or without Airio, after connect and during track changes as well. Anyway, soon I'll add two more events usable for big or small button display: On first race join and on every race join. The first one, if I succeed in proper implementation, could replace buttons shown after connect, thus limiting the initial load.
you know what would be nice?
using the cmd, you could do /restart or /end /track
Quote from jetter10 :you know what would be nice?
using the cmd, you could do /restart or /end /track

All such generally used LFS commands are mimicked in Airio with assigned adjustable limad level, meaning who can use them. You have !restart (!re), !end and !track as well in Airio...
Quote from EQ Worry :People are losing connection with or without Airio, after connect and during track changes as well.

Correctly, but it isn't as bad as it is now. After 2.3.7 (or .8?) problems started to occur and the track change is the best part where it shows up because I can't remember I've seen that many reproducible loss of connections at a change of track.

And I don't understand it because I send no data during or after a track change. No special windows, no nothing.

Sadly I cannot downgrade to do ultimate testing because LFSEI is one of the latest (great) additions but if it gets out of hand I will
Quote from cargame.nl :And I don't understand it because I send no data during or after a track change. No special windows, no nothing.

Exactly, that is very weird, because Airio is basically inactive during track changes, it just waits for the "Track loaded" message.
What about switching too fast to track change menu when everybody gets spectated?

It are always the same people, slow computers?

Something else... I'm willing to try kick voting but...


# FULL: Starting a vote agains higher ranked people - integer
# If the rank difference is this many or more, the player initiating
# the vote is kicked for bad voting.
VoteRankDifference=5

I don't like the kick part. Why not just a ' vote cancelled' message?

And vote ban shouldn't be possible at all. Only kick.
Quote from cargame.nl :I don't like the kick part. Why not just a ' vote cancelled' message? And vote ban shouldn't be possible at all. Only kick.

Unfortunately kick/ban voting in LFS is very underdeveloped. It is not possible to activate only kick (without ban) voting and also it is not possible to cancel a running kick/ban vote. Too bad developers got lost in new tyre physics and do not have time or strength to improve LFS voting.

To have what you require (and which would many appreciate as well, no doubt), it would have to be a completely separate Airio kick/ban voting system. But it would have its catches. It would be e.g. possible to show Kick (or even Ban) button in !pl to everyone, if configured, and the click would start the vote, with appropriate message shown to everyone.

It is not possible however for other people to just press 1, that event cannot be captured. An alternative could be sending e.g. /i 1 from client to server. It is a hidden message that could be used for identifying the voter and sending new message with voting state.

The downside is people would have to define /i 1 as a custom hot key sent by one key press, but communicating this info could prove to be a bit complicated, at least from the start. On the other hand all newer FULL/PROS Airio would use the same, so it is just one hotkey (bind) defined...

What do you think from the practical/user perspective? Any chance this requirement would be understood and used?
I thought it already was managed by Airio

Airio system would be the best because a kick, managed by Airio, would imply a configured drop in safety rate as well. If the driver is already in the database of course. (Need timestamp sorting too, cr.txt already gets way out of hand even with the current PB threshold :schwitz

I think it's fairly easy communicated. As a voter, you can type that message as well isn't it? So; "^7send ^3/i 1 ^7to vote yes" and people will understand what they have to do. Maybe use 0 instead of 1. Keyboard layout wise...

That its also possible to bind that command is of later concern. I think it's even better like this, maybe people start thinking first before they vote without knowing for what.

If it's Airio based you could use LFSEI ranking as well instead of point ranking or a combination. Maybe not sending that vote message to people without sufficient level...

Lots of things possible, I think it would be great
Oh and by the way...

Quote from EQ Worry :Too bad developers got lost in new tyre physics and do not have time or strength to improve LFS voting.

Too bad indeed, I share the exact same opinion you know that but luckily we have you
Quote from cargame.nl :Too bad indeed, I share the exact same opinion you know that but luckily we have you

Well, hehe, thanks for your trust. The bad thing is that LFS needs just one (pretty simple, I would think) command to cancel running kick/ban vote, and maybe an option to disable ban voting. This simple thing would allow to have much better vote management. The other option is to implement in Airio completely different custom voting system (just like there is custom banning system), which isn't easy and requires even adaptation of regular users... Eh.

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