The online racing simulator
AONIO - Client-side LFS Tracer
(344 posts, started )
AONIO - Client-side LFS Tracer
Hallo racers!

Here I dare to offer you a little tool, AONIO, for getting additional information concerning current state of race, drivers close to you, and server you're connected to.

It uses the same InSim library as my other tool, AIRIO, does, so to run it you'll need .NET Framework 2.0 or newer installed. While Airio connects to server, Aonio connects to local client (game). Still, they are independent tools.

Features:
  • 5 virtual independent panels with customizable placement on screen and display.

  • A panel showing info about currently viewed driver (you, if you drive) - name, fuel in % (only for you), speed, engine rotations, car type, number of pitstops and applied penalty, current position, current lap.

  • A panel showing info about driver one place ahead of the viewed car - name, current time gap in seconds, car type, number of pitstops and applied penalty.

  • A panel showing the same data (see above) about driver one place behind the viewed car.

  • A star spotter panel showing distances to closest cars in 8 directions. A grey number in appropriate sector is shown when the distance is less than 40 meters, turning to white for distances below 20 meters and to danger yellow for distance below 10 meters.

  • A server panel showing name of the server, loaded track, race length and other parameters, current number of connections and drivers (cars on track).

  • Support for optional display in miles per hour and yards (default is kmph and m).
You may realize that some of the ideas were suggested to LFS Relax developer and implemented there, here maybe offered in a bit more appealing form, while others are original concepts of Aonio (particularly the star spotter and server panel).

How many times you wondered if there is still that car behind you, if you're gaining on the driver in front of you, if you'll have enough fuel, and what track is this. With Aonio all these and other data are just an eye shift away.

Installation:
  • Download the latest application version using a link in my signature below.

  • Unzip contents of the file to any folder on your computer.

  • Run the LFS simulator, connect to some server.

  • Type /insim=29999.

  • Run Aonio.exe, a connection should be established, panels shown at their default positions and filled by data in a short while.

  • Look into Aonio.cfg.txt file for furter explanations and possible customizations.
Appended are three examples of the five information panels at their default (but fully customizable) positions. Take a look if the above sounds interesting, but you need to see something real.

Note that although this initially offered version has been tested, it is still numbered as 0.5.0 and thus in a beta phase. Reports of troubles as well as suggestions and ideas are most welcome.

Check it out, let me know what you liked and what you did not like. Cheers!
Attached images
ex1.jpg
ex2.jpg
ex3.jpg
when trying to connect i just get a tcp error, and the log file says my p activly refused the connection. windows firewall is turned off (xp), and im doing everything in the order above but no luck
you are friggin' awesome!

works for me.(vista)
Really nice

vista(x64)
anyone got it working with xp yet?
Quote from james12s :anyone got it working with xp yet?

I'm using XP, no problems for me. Two communication ports are required, one TCP, which is the /insim= typed in game, one UDP, by default 59999. Maybe try changing these numbers in CFG and in game (only InSim there). If it still doesn't work, please post here line number where the error happens (see Aonio.log), it may give me more ideas...

Quote from z-ro 8 :you are friggin' awesome!

Uhm, thanks, I guess.

Quote from Ant0niS :Really nice

The same.
tryed changing both ports, but nothing heres the code form the .log

09.12.02 22:58:37 Aonio starting...
09.12.02 22:58:37 Opening connection to 127.0.0.1:29000
09.12.02 22:58:38 Retrying connection...
09.12.02 22:58:40 Retrying connection...
09.12.02 22:58:42 Connection failed...
09.12.02 22:58:42 AEGIO ERROR : System.Net.Sockets.SocketException
No connection could be made because the target machine actively refused it 127.0.0.1:29000
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
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 104
09.12.02 22:58:42 Aonio finishing...

nice
Good work!
I love this thing, especially the star spotter!

I have some bug reports, anyway:
  1. the gap (in seconds) fields seems to get stuck after some time without overtaking. Then, during a pit stop works, but right after it gets stuck again.
  2. after joining a server, sometimes values in the "previous" and "following" panels seems to be inverted (the previous is actually the following)
  3. sometimes if I'm viewing the first player in the race, the "following" panel shows the last racer or a racer in pit lane.
note the sometimes. In the coming days I will test it again and attach full repro cases.

Ah, Windows 7 Pro 32-bit, .NET 2.0 SP2, 3.5 and 4 Beta 1 installed here
PS: are you going to open source it?
Quote from james12s :tryed changing both ports, but nothing heres the code form the .log

Hm, it really fails establishing IP connection. Only two numbers are used here: IP address, which is always local, that is 127.0.0.1, and TCP port number equal to what you type as /insim= in game. I see you're trying to use 127.0.0.1:29000, so I suppose you actually typed /insim=29000 in game? Type just /insim to see current assignment.

Quote from C22_H20_O13 :I love this thing, especially the star spotter! I have some bug reports, anyway: ... In the coming days I will test it again and attach full repro cases. PS: are you going to open source it?

Yes, please, try to find out when it (supposedly) fails. That would be most appreciated. Note that LFS data are used to get the driver in front and behind, sometimes these data are not absolutely true, e.g. when racing really close. Anyway, the positions should correspond to what LFS shows in big numbers...

As for open source, I'm not sure yet, but I do not rule out that possibility...
i would like to have the host panel show to anyone on server....maybe eventually we can get it installed on server control panel?

in case you ever get bored that is.....
yh in lfs i am typing 29000 or 29999 before and when i check te assignment it shows InSim : port 29000 or 29999
Quote from z-ro 8 :i would like to have the host panel show to anyone on server....maybe eventually we can get it installed on server control panel?

There's a bit too much information sent... Sending approx. 50 buttons every second may be done locally, but from server to 20 or 30 people... Uhm... Also some data (such as fuel) are available only locally, though I'm working on making them (optionally) available on server as well.

Quote from james12s :yh in lfs i am typing 29000 or 29999 before and when i check te assignment it shows InSim : port 29000 or 29999

Hm, then I'm a bit lost, I'm afraid... Maybe too tired, maybe in the morning I'll realize where's the problem.

In fact I realized one problem, so version 0.5.1 is now available, but I'm afraid it doesn't concern first connection troubles, only repeated connections... (Apex, be sure to get the new one, I think it may have caused what you reported!)
Yet another update in handling connection to LFS while switching between different servers with Aonio constantly connected. (Versions 0.5.0 and 0.5.1 contained serious bug in this area.) Maybe this part is not yet reliable - if you see really strange data after connecting to a new server, press R in Aonio console which will make it restart (and also read updated config).

Concerning local connection to LFS troubles, only one thing comes to mind now in the morning, maybe too obvious, but anyway: Make sure you're typing the /insim=29999 command into your local LFS game, not to the server. Aonio is a client-side tool, not like server-side Airio.
Sweet!

If you also could manage to add some sounds - with an option to turn it on/off - telling you that a car is just next to you (like the ancient "pit spotter")...
Hm, right, but I'd need to ask Gai-Luron for permission to use the files included in Relax, maybe even small parts of his code (although I prefer to write things myself, so that I can understand the code ). And that would surely mean Aonio should be open source, for which it is not yet ready, I think... There's also this Aegio InSim library, which is by far not ready to be open source, and which is actually undergoing a serious review by a professional programmer... Hm... But then you could have sound spotter working only for you, not for any viewed car...
Whatever you do, decide on a better name
Aaaah, lol, so much true. I know the names suck, but I sort of enjoy creating words that are hard to pronounce and that no one can write correctly.
Interesting ... downloading ...

So ... these ideas precede the creation of LFS Relax? ...

I have an idea for you to consider ... will PM ...
LFS Relax is much older tool, but I see the last update was done almost 2 years ago. I never used Relax, I just heard people mentioning interesting things, so I tried implementing something maybe similar, something hopefully original, things that seemed useful to me as a driver.
Hi, I really like this.

I'm having the typical noob_problems...
I opened UDP port 50000 in my router, edited correspondingly Aonio.cfg.txt, but it only shows pilots name with nearly no data...
What else should I do ?

The commands /insim=29999 and /insim 29999 are the same, as far as syntax goes ?
Does it change if I insert the /insim command in the autoexec.lfs file instead of typing it?

.NET framework installed
XP SP3 (32bit)
Attached images
LFS_AONIO.jpg
AONIO.jpg
AONIO2.jpg
Quote from Ripley :Hi, I really like this.

I'm having noob_problems...
I opened UDP port 45000 in my router, edited correspondingly Aonio.cfg.txt, but it only shows middle panel's pilot name (1 name) with no data...
What else should I do ?

The commands /insim=29999 and /insim 29999 are the same, as far as syntax goes ?

.NET framework installed
XP SP3 (32bit)

try to edit the cfg.txt of lfs
replace all outgauge and outsim values with 0

OutSim Mode 0
OutSim Delay 0
OutSim IP 0.0.0.0
OutSim Port 0
OutSim ID 0
OutGauge Mode 0
OutGauge Delay 0
OutGauge IP 0.0.0.0
OutGauge Port 0
OutGauge ID 0


then run Aonio again

(keep a backup)
Thanks.
That seems to get slowly better, even if I loose the correct VLFSD config
Not all info displayed yet...
Attached images
AONIO3.jpg
Quote from Ripley :I opened UDP port 50000 in my router, edited correspondingly Aonio.cfg.txt, but it only shows pilots name with nearly no data...

I don't think you need to open anything on router, because the connection is local, from one software on your computer (LFS) to another software on your computer (Aonio).

Quote from Ripley :The commands /insim=29999 and /insim 29999 are the same, as far as syntax goes ?

Yes, I think the = in all LFS commands is optional, space works as well.

Quote from Ripley :Does it change if I insert the /insim command in the autoexec.lfs file instead of typing it?

I'm not sure. You can always check current status of InSim communication by typing /insim without parameters. Also on succesfull connect you'll see Aonio data in LFS chat - TCP and also UTP ports used. That is a chood check the connection was succesfull.

Quote from Ant0niS :try to edit the cfg.txt of lfs
replace all outgauge and outsim values with 0

Thanks for a good tip!

Quote from Ripley :That seems to get slowly better, even if I loose the correct VLFSD config... Not all info displayed yet...

Hm, weird display... UDP InSim data seem to work partially (distances to players around the viewed one, but not position/lap), UDP OutGauge data too (current speed and rotations), not all TCP data are available though (car types). In any such weird state try pressing R in the console or killing Aonio and starting it again.

UPDATE: For now it seems the R update really isn't working. Please always just kill the application and start it again...

UPDATE 2: Problem (probably) solved, R should now work reliably (ehm...), also startup is much faster...

Remember please that this is an early beta version. Anyway, I updated the code, it now supports simple form of sound information, such as when there is a car near you or when you should shift up gears. The default configuration and distribution now includes three standard Windows sounds, you may create you own and redirect items in CFG file as necessary.
just tested ... seems to work fine on info ...

but the sounds dont work for me ... (I would recommend looking at what the pitspotter does on LFSRelax, that is the best I've seen)
If connection is succesfull, all data displayed (especially the star spotter), then sounds should work as well, supposing you have SND folder in Aonio directory with the three example sounds and appropriate items in CFG file...

Lets first try the sounds as they're implemented now, if this relatively simple system turns out as insufficient or outright bad, update is always possible...

As the sounds are implemented and defined by default now, warning is heard when a car is 10 meters or closer on the sides of you or behind (not in front). Warning is repeated every 4 seconds while a car is this close, every 2 seconds if it moves to different sectors. Clear sound is heard when there is no car withing 15 meters around you. There is also the shifter beep available for cars showing shifter light...

AONIO - Client-side LFS Tracer
(344 posts, started )
FGED GREDG RDFGDR GSFDG