The online racing simulator
LFS State - local InSim mod
(101 posts, started )
Memory leak? Sometimes it causes the game to page out resources to the swap that it needs, resulting in a long Round Trip Time to get the data. It's rare, but it happens. The guy who is having the problem should be looking at task manager when this happens to see the memory and CPU usage of your process.
I'm already doing it, thanks.

Yesterday I was trying to keep an eye on it with Process Explorer, but LFS was suddenly smooth! I will watch it and report here if there's something wrong.

If you have a better program to suggest, I'll listen.


Edit: It could also be that I have a virus, or something nasty...still investigating, but lately RL keeps me from devoting too much time on it.
The standings list is a nice feature... but shows also spectators. If I use a dedicated server (and also a dedicated streaming host with TV Director), then this hosts will also be show in the list. 1. and 2. because of lap time of 0:00:00. A filter for this "lap time" should be implemented.

host = Dedicated host
[SVRT]KI = Streaming Workstation
Attached images
standings.png
Hi again.

As soon as I started an online race (I started my own server) I noticed bad fps and lagging, going from 200fps to 10, every 2-3-seconds. Totally unplayable.

Then I started configuring LFSState, and switched off every option one by one.

The option that was causing this was the "splitter". When I switched that off, fps were suddenly normal again.
I'll try to recreate this.


Then, not connected to this problem, I minimized LFS and noticed this:



Translated:
"The specified key was not present in the dictionary" or "Specified key not found in the dictionary".

What can it be?


Edit: I am driving @ Westhill+BF1, and I have the impression that my PB is cleared each time...I mean, I was driving slower than last time, still I made my "new" PB...
Quote from Ripley :(I started my own server)

Something with that i guess. Is it working fine if you join another server?
I am in the middle of formatting/restoring my lousy pc...
I'll report when finished.
Quote from Lexanom :fail
I used a 00:00 time to display all the players on the server when test. It is strange that you told me about it just now.
P.S. add show button "last lap".

What is strange at my description (dedi hosts) about "standings"?

What do you mean with "add show button"? Where?
Quote from Pasci :What is strange at my description (dedi hosts) about "standings"?

The table should not be a player with time 00:00, it is illogical)
I used it to test the table, but forgot to remove before the release.

Quote from Pasci :What do you mean with "add show button"? Where?

I fulfilled your request about that:
Quote from Pasci :Is it possible to display "Last lap" bigger in the upper but center screen Position

Ripley
I'll try to reproduce your error and correct it
Make the connection time out longer, before LFS starts and I can make it open insim, LS stops connecting and I think it did not shutdown either.

Giving it a try, though I rather prefer to drive and see the road than read while racing

Is slow car ahead just a copy of yellow flag?

Add a readme, there is nothing about configuration if it's needed or not and neither I see where and how to connect so it works with default 29999 but nothing else?
Yes something gets printed into console but I'm likely to have that on background and LFS in fullscreen and not notice some special commands printed into console. But would read a readme in advance to see what to do and how clearly at any time, not only after connecting to LFS.

Make the buttons "save&close" and "cancel".

The default positions of GUI are over mirrors! I don't know how about others but I do use them.

Moving the GUI from left to right is a nightmare of 1000 clicks. Make it more easy to move around. Or allow arrow keys for movement, just hold a key and move it. Ok found it, CTRL+Click and it jumps a lot, could be a little less.

Also I'm driving first after start in XRT, others have STDs so are behind quite a bit. Approaching first corner and I hear loud slow car in front blah blah and text flashing at least 2 times. While there is nobody in front obviously.

Is there volume control?

Don't we get these split times and such already from server Airio on those that have it?

Is the GUI configurable per car?

Turned off sounds but cross a finish line and hear voice again, no idea what it says though. Not understandable.

Diffline does not show with semi-transparent background.

Standings with time 0 show on top instead of bottom or rather being omitted from the results.

GUI is kind of confusing, good, awesome etc. when I drive pretty crappy laps. Guess it's not comparing to laptimes of others but to mine?
WE1 RAC, first in race, nobody near and nobody even near after u turn, crossing finish line it yells at me car in front car in front etc. like every lap it reports some fake yellow stuff. There is no yellow flag yet the system yells there is a car, slow, in front, etc.

standings and relative contains cars that do not race, shows them on top, should be removed alltogether.

What is Opt under the PBs?

Wasn't there already a LFSSpotter? This does reports cars nearby ok, but the fake collision prevention reports are annoying.
Relative and standings can be handy, though I would probably like them to be visible after key press not always.

Spotter seems ok, though it's hard to tell without any close racing how accurate it is.

Last lap? Is that necessary? Does it work with time based races?

Does this all work in qualification and practice reasonably?

When switching to another driver via the provided GUI it does not show laps etc. as in it does not collect these and only start collecting from that point = useless half the time. Does not change this following based on what car you're viewing with an optional lock.

Looking at a replay, the spotter tells it late, after I have 1/3 of a car on side already overlapped. Thus if I had steered we would already collide before the spotter reporting. It could be handy to have this for rights in a corner though where an overlap is needed to have a right. Relying on it seems risky though.

And I think I just crashed it while browsing a replay and trying to get to SHIFT+B again. It closed, no idea what error since the console closed as well with it.
Just some notes, take it as my opinion
Quote from JackCY :Add a readme, there is nothing about configuration if it's needed or not and neither I see where and how to connect so it works with default 29999 but nothing else?
Yes something gets printed into console but I'm likely to have that on background and LFS in fullscreen and not notice some special commands printed into console. But would read a readme in advance to see what to do and how clearly at any time, not only after connecting to LFS.

I agree with you, but Lexanom is not that good in English, so he'd need a Russian translator who could translate the readme into English first.

The default positions of GUI are over mirrors! I don't know how about others but I do use them.

Just move them wherever you want! :P But I guess it wouldn't be a problem for Lexanom to change the default position.

Don't we get these split times and such already from server Airio on those that have it?

There is a pitboard which shows you how far ahead/behind are your closest opponents. It also shows the PB difference on splits at the top. But it doesn't have the difference meter or how much you gained on people around you at each split.

GUI is kind of confusing, good, awesome etc. when I drive pretty crappy laps. Guess it's not comparing to laptimes of others but to mine?

It says it whenever you set a new PB.

What is Opt under the PBs?

Optimal sectors (the best you've done?)

Last lap? Is that necessary? Does it work with time based races?

Sometimes I forget it's the last lap, when I am in a big fight and I am not focused on the lap counter. Could be made optional (ability to turn it off), though.

Quote : I agree with you, but Lexanom is not that good in English, so he'd need a Russian translator who could translate the readme into English first.

Even a Russian one would be at least something (we can Google translate, just put it there)

Quote :There is a pitboard which shows you how far ahead/behind are your closest opponents. It also shows the PB difference on splits at the top. But it doesn't have the difference meter or how much you gained on people around you at each split.

LFS has a board that shows distance to others though it only shows the time when you cross the split or so, I think it does not show it always, only on split updates of you and your opponents.
That difference meter on top reminds me of Rally games
Like CMR and RBR.

Quote :Last lap? Is that necessary? Does it work with time based races?

Sometimes I forget it's the last lap, when I am in a big fight and I am not focused on the lap counter. Could be made optional (ability to turn it off), though.

Ah true. It would be neat if it could say last lap when you get lapped. As you will not have time to drive all lets say 40 laps but only 39 so it would tell you in 39th that it's your last.

Guess for those who like to see overload of laps and split times it can be useful. I prefer to check those afterwards. During race what I find useful is to know how much time/laps to catch up somebody or how much time/laps before somebody catches up with me.

Lets say car behind is driving faster and will get close to overtaking based on previous progress in last few laps in 6 laps. Drives 1s faster and the gap is 6s, so 6 laps to catch.
Comes handy to do in endurance races. If it's worth it to speed up and catch somebody, speed up to not get caught or to drive a little more safer and bring the position home.
Quote from JackCY :Even a Russian one would be at least something (we can Google translate, just put it there)

There is one, called ReadMe_RU.htm.
Quote from Flame CZE :There is one, called ReadMe_RU.htm.

I appologize but I am blind, where is it?

That's the contents of 0.99b:
LFSState.exe System.Data.SQLite.dll lang sound

./lang:
Czech.lng English.lng German.lng Russian.lng _EncodingHelper.txt

./sound:
CarLeft.wav carinside_79.wav clear_22.wav goodjob_5.wav
CarLeft_2.wav carinside_8.wav clear_23.wav goodjob_6.wav
CarLeft_3.wav carinside_80.wav clear_24.wav goodjob_7.wav
CarLeft_4.wav carinside_81.wav clear_25.wav goodjob_8.wav
CarLeft_5.wav carinside_82.wav clear_26.wav goodjob_9.wav
CarRight.wav carinside_83.wav clear_27.wav greatjob.wav
CarRight_2.wav carinside_84.wav clear_28.wav greatjob_10.wav
CarRight_3.wav carinside_85.wav clear_29.wav greatjob_11.wav
CarRight_4.wav carinside_9.wav clear_3.wav greatjob_12.wav
CarRight_5.wav caroutside.wav clear_30.wav greatjob_13.wav
CarRight_6.wav caroutside_10.wav clear_31.wav greatjob_14.wav
CarRight_7.wav caroutside_11.wav clear_32.wav greatjob_15.wav
ThreeWideMiddle.wav caroutside_12.wav clear_33.wav greatjob_16.wav
ThreeWideMiddle_10.wav caroutside_13.wav clear_34.wav greatjob_17.wav
ThreeWideMiddle_11.wav caroutside_14.wav clear_35.wav greatjob_18.wav
ThreeWideMiddle_12.wav caroutside_15.wav clear_36.wav greatjob_19.wav
ThreeWideMiddle_13.wav caroutside_16.wav clear_37.wav greatjob_1_cp.wav
ThreeWideMiddle_15.wav caroutside_17.wav clear_38.wav greatjob_2.wav
ThreeWideMiddle_16.wav caroutside_18.wav clear_39.wav greatjob_20.wav
ThreeWideMiddle_17.wav caroutside_19.wav clear_4.wav greatjob_21.wav
ThreeWideMiddle_18.wav caroutside_2.wav clear_40.wav greatjob_22.wav
ThreeWideMiddle_2.wav caroutside_20.wav clear_41.wav greatjob_23.wav
ThreeWideMiddle_3.wav caroutside_21.wav clear_42.wav greatjob_24.wav
ThreeWideMiddle_4.wav caroutside_22.wav clear_43.wav greatjob_25.wav
ThreeWideMiddle_5.wav caroutside_23.wav clear_44.wav greatjob_26.wav
ThreeWideMiddle_6.wav caroutside_24.wav clear_45.wav greatjob_27.wav
ThreeWideMiddle_7.wav caroutside_25.wav clear_46.wav greatjob_28.wav
ThreeWideMiddle_8.wav caroutside_26.wav clear_47.wav greatjob_29.wav
ThreeWideMiddle_9.wav caroutside_27.wav clear_48.wav greatjob_2_cp.wav
_SoundsHelper.txt caroutside_28.wav clear_49.wav greatjob_3.wav
carinside.wav caroutside_29.wav clear_5.wav greatjob_30.wav
carinside_10.wav caroutside_3.wav clear_50.wav greatjob_31.wav
carinside_11.wav caroutside_30.wav clear_51.wav greatjob_4.wav
carinside_12.wav caroutside_31.wav clear_52.wav greatjob_5.wav
carinside_13.wav caroutside_32.wav clear_53.wav greatjob_6.wav
carinside_14.wav caroutside_33.wav clear_54.wav greatjob_7.wav
carinside_15.wav caroutside_34.wav clear_55.wav greatjob_8.wav
carinside_16.wav caroutside_35.wav clear_56.wav greatjob_9.wav
carinside_17.wav caroutside_36.wav clear_57.wav slowcar.wav
carinside_18.wav caroutside_37.wav clear_58.wav slowcar_10.wav
carinside_19.wav caroutside_38.wav clear_59.wav slowcar_11.wav
carinside_2.wav caroutside_39.wav clear_6.wav slowcar_12.wav
carinside_20.wav caroutside_4.wav clear_60.wav slowcar_13.wav
carinside_21.wav caroutside_40.wav clear_61.wav slowcar_14.wav
carinside_22.wav caroutside_41.wav clear_62.wav slowcar_15.wav
carinside_23.wav caroutside_42.wav clear_63.wav slowcar_16.wav
carinside_24.wav caroutside_43.wav clear_64.wav slowcar_17.wav
carinside_25.wav caroutside_44.wav clear_65.wav slowcar_18.wav
carinside_26.wav caroutside_45.wav clear_66.wav slowcar_19.wav
carinside_27.wav caroutside_46.wav clear_67.wav slowcar_2.wav
carinside_28.wav caroutside_47.wav clear_68.wav slowcar_20.wav
carinside_29.wav caroutside_48.wav clear_69.wav slowcar_3.wav
carinside_3.wav caroutside_49.wav clear_7.wav slowcar_4.wav
carinside_30.wav caroutside_5.wav clear_70.wav slowcar_5.wav
carinside_31.wav caroutside_50.wav clear_71.wav slowcar_6.wav
carinside_32.wav caroutside_51.wav clear_72.wav slowcar_7.wav
carinside_33.wav caroutside_52.wav clear_73.wav slowcar_8.wav
carinside_34.wav caroutside_53.wav clear_74.wav slowcar_9.wav
carinside_35.wav caroutside_54.wav clear_75.wav stillthere.wav
carinside_36.wav caroutside_55.wav clear_76.wav stillthere_10.wav
carinside_37.wav caroutside_56.wav clear_77.wav stillthere_11.wav
carinside_38.wav caroutside_57.wav clear_78.wav stillthere_12.wav
carinside_39.wav caroutside_58.wav clear_79.wav stillthere_13.wav
carinside_4.wav caroutside_59.wav clear_8.wav stillthere_14.wav
carinside_40.wav caroutside_6.wav clear_80.wav stillthere_15.wav
carinside_41.wav caroutside_60.wav clear_81.wav stillthere_16.wav
carinside_42.wav caroutside_61.wav clear_82.wav stillthere_17.wav
carinside_43.wav caroutside_62.wav clear_83.wav stillthere_18.wav
carinside_44.wav caroutside_63.wav clear_84.wav stillthere_19.wav
carinside_45.wav caroutside_64.wav clear_85.wav stillthere_2.wav
carinside_46.wav caroutside_65.wav clear_86.wav stillthere_20.wav
carinside_47.wav caroutside_66.wav clear_87.wav stillthere_21.wav
carinside_48.wav caroutside_67.wav clear_88.wav stillthere_22.wav
carinside_49.wav caroutside_68.wav clear_89.wav stillthere_23.wav
carinside_5.wav caroutside_69.wav clear_9.wav stillthere_24.wav
carinside_50.wav caroutside_7.wav goodjob.wav stillthere_25.wav
carinside_51.wav caroutside_70.wav goodjob_10.wav stillthere_26.wav
carinside_52.wav caroutside_71.wav goodjob_11.wav stillthere_27.wav
carinside_53.wav caroutside_72.wav goodjob_12.wav stillthere_28.wav
carinside_54.wav caroutside_73.wav goodjob_13.wav stillthere_29.wav
carinside_55.wav caroutside_74.wav goodjob_14.wav stillthere_3.wav
carinside_56.wav caroutside_75.wav goodjob_15.wav stillthere_30.wav
carinside_57.wav caroutside_76.wav goodjob_16.wav stillthere_31.wav
carinside_58.wav caroutside_77.wav goodjob_17.wav stillthere_32.wav
carinside_59.wav caroutside_78.wav goodjob_18.wav stillthere_33.wav
carinside_6.wav caroutside_79.wav goodjob_19.wav stillthere_34.wav
carinside_60.wav caroutside_8.wav goodjob_2.wav stillthere_35.wav
carinside_61.wav caroutside_80.wav goodjob_20.wav stillthere_36.wav
carinside_62.wav caroutside_81.wav goodjob_21.wav stillthere_37.wav
carinside_63.wav caroutside_82.wav goodjob_22.wav stillthere_38.wav
carinside_64.wav caroutside_83.wav goodjob_23.wav stillthere_39.wav
carinside_65.wav caroutside_9.wav goodjob_24.wav stillthere_4.wav
carinside_66.wav clear.wav goodjob_25.wav stillthere_40.wav
carinside_67.wav clear_10.wav goodjob_26.wav stillthere_41.wav
carinside_68.wav clear_11.wav goodjob_27.wav stillthere_42.wav
carinside_69.wav clear_12.wav goodjob_28.wav stillthere_43.wav
carinside_7.wav clear_13.wav goodjob_29.wav stillthere_44.wav
carinside_70.wav clear_14.wav goodjob_3.wav stillthere_45.wav
carinside_71.wav clear_15.wav goodjob_30.wav stillthere_46.wav
carinside_72.wav clear_16.wav goodjob_31.wav stillthere_47.wav
carinside_73.wav clear_17.wav goodjob_32.wav stillthere_48.wav
carinside_74.wav clear_18.wav goodjob_33.wav stillthere_5.wav
carinside_75.wav clear_19.wav goodjob_34.wav stillthere_6.wav
carinside_76.wav clear_2.wav goodjob_35.wav stillthere_7.wav
carinside_77.wav clear_20.wav goodjob_36.wav stillthere_8.wav
carinside_78.wav clear_21.wav goodjob_4.wav stillthere_9.wav

for so many sound options though, so it does not seem repetitive.


Apart from the false positives it gives and bugs it's nice, a good addition if one wants some of the features.
Great Insim
Very customizable options, intuitive and useful Very good work on this app

Can it be done that it reads own PB from lfsw? Right now i have to make PB with LFSStats opened before it knows what my PB is.
Amazing insim. Thank You!
Quote from Nilex :
Can it be done that it reads own PB from lfsw? Right now i have to make PB with LFSStats opened before it knows what my PB is.

This is possible, but he wants to have it program saved mainly because of diffline ( he needs to know nodes times )
Quote from Nilex :...Right now i have to make PB with LFSStats opened before it knows what my PB is.

LFS "Stats" or "State"? Isn't that a typo?
Ups, it's LFS State indeed. Not to be confused with other LFSStats application (which is also great btw)
Grazie Fisico
LFSState forget my last PB.

Today I was racing a new track PB (2:27...). LFSState shows this time too. I only jump in the box and came back (same track, same car, without LFSState restart and without LFS restart), LFSState shows me now the old PB of 2:28... HLVC is disabled/off btw.

Is this a known issue?

Is it a limitation of LFS UI that it's impossible to move some tables e.g. "Standings" to the left or right screen in a multi-screen configuration?

By the way/feature request:
A own log directory will be usefull (for the UpdateWR logs).
Attached images
lfsstate.png
Quote from Pasci :LFSState forget my last PB.

Today I was racing a new track PB (2:27...). LFSState shows this time too. But after race restart (same track, same car, without LFSState restart and without LFS restart), LFSState shows me now the old PB of 2:28... HLVC is disabled/off btw.

Is this a known issue?

The same for me on AA Blackwood demo in XFG Stuck at 1:34.04(one of the firsts laps with this program) I made hundreds better laps, and it still shows me this time. It remembers new PB for one lap.
At any other track/car it's ok.
I had some PB problems, too.
From some posts above this:
Quote from Ripley :...I am driving @ Westhill+BF1, and I have the impression that my PB is cleared each time...I mean, I was driving slower than last time, still I made my "new" PB...

Workaround for wrong PBs: Clear your current PB with the command !clear (twice; second command confirm first one)

But I found an other bug:
Charset encoding for string clpb_2 is wrong (see screenshot -> red circle). The other strings clpb_1 and clpb_3 contain also "umlaute ä" but are correctly encoded in LFS.
Attached images
lfsstate_umlaute.png
Ripley
SpliTF1
Pasci

Describe the problem from PB as detailed as possible, attach your Data file and say your configuration car+track, I can repeat your lap and find out what is the reason. The program console have error messages?

Quote from Pasci :
Is it a limitation of LFS UI that it's impossible to move some tables e.g. "Standings" to the left or right screen in a multi-screen configuration?

LFS limited area for interface button, if you move it outside the permitted zone - it just disappears. This area is limited to a single screen, unfortunately.

Bottom row in splitter - Optimal, not Optional - its sum best split, theoretical fastest lap.

Quote from Pasci :Charset encoding for string clpb_2 is wrong (see screenshot -> red circle)

Use prefix ^L before text:
clpb_2 = ^LZur Bestätigung das Kommando nochmals eingeben
Let this be a temporary solution, i try to not forget to fix in next update.

P.S. I've not thought that someone else uses this program, as time passes, I understand that this program is very raw and needs some work. I have many ideas for improvement, but I do not have enough time now.
@Lexanom:
Thank you for this amazing InSim tool.
I found it last year and since that we used it every time we play LFS.
I normally don't drive alone and only one time per week with a friend.
We switched after 10 laps and most of the time we do training or Qualy.
Since we used your tool this makes more fun because we can drive against the PB from one of us. This gives the game a more valuable for us, Thank you very much for that.
I hope you will continue working on it...

We thought about the possibility to add a ghost car. With the exception of the position of the car with graphics it's already pretty close to that (from the view of someone that don't know how this was done).

I don't know how many people download this and used it, but I want to tell you that here are two guys that you have made very happy with it.

LFS State - local InSim mod
(101 posts, started )
FGED GREDG RDFGDR GSFDG