! Acquired LFS world record has invalid format, does not contain 10 space delimi
ted fields:
"56 601 FOX 19740 0 0 46090 513 Pe?a Racing 1327731053"
LFSStats v2.1
Copyright (C) 2008-2013 Jaroslav Černý
LFSStats comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. Read LICENSE for details.
You should have received a copy of the GNU General Public License
along with LFSStats. If not, see <http://www.gnu.org/licenses/>.
! Config param invalid: host =
! Using default value: host = 127.0.0.1
! Config param invalid: port =
! Using default value: port = 29999
! Config param invalid: tcpMode =
! Using default value: tcpMode = True
! Config param invalid: isLocal =
! Using default value: isLocal = True
! Config param invalid: language =
! Using default value: language = English
! Config param invalid: pracDir =
! Using default value: pracDir = results
! Config param invalid: qualDir =
! Using default value: qualDir = results
! Config param invalid: raceDir =
! Using default value: raceDir = results
! Config param invalid: exportOnRaceSTart =
! Using default value: exportOnRaceSTart = yes
! Config param invalid: askForFileNameOnRST =
! Using default value: askForFileNameOnRST = False
! Config param invalid: exportOnSTAte =
! Using default value: exportOnSTAte = no
! Config param invalid: askForFileNameOnSTA =
! Using default value: askForFileNameOnSTA = False
! Config param invalid: generateGraphs =
! Using default value: generateGraphs = dll
Loading LFSWorld WRs... not loaded (no ID key)
TCP: 127.0.0.1:29999 connecting...
Goodbye.
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
Changelog:
==========
v2.1
----
* Graphs:
* Adding option to generate graph from DLL or EXE and adding Yamakawa's YGraph as an option
* Updated NPlot library to 0.9.10.0 and due to NPlot a .NET 4.0 Client Profile is not enough and a full .NET 4.0 is needed
* Changed default graph config to not output unused images
* Changed default graph background to transparent
* Networking:
* Fixed new Insim flags (AXIS_CLUTCH / THROTTLE, ...), proper names and exporting all of them, including SwapSide
* Changed them to be displayed via CSS3 - easy to modify at any time
* Added changes from Luron's v1.12 in Insim4.cs but TCP is still buggy
* Added changes from Luron's LFSLapper update tcp.cs/GetPackFromInsimServer, it could now support TCP better
* (InSim.Decoder.PIT.PIT) Pit flags text but still needs localization I think
* Ohter:
* Looked up and commented out some unused code
* Fixed {*Conditions} "Sunny,no wind" formatting to "Sunny, no wind"
* Added a few language file substitutions
* LFSStat changed to .NET 4.0 Client Profile and update some outdated code for better performance and conventions
* Cleaner version reporting and maintaining in the project
* Removed #MONO and #WINDOWS from source files since these are supposed to be defined elsewhere, in build/compiler options,
and not in source files, just change the #IFs back to #IF MONO and define #IF at build/compile level not in source files
* Command line options with help text and usage
* Customizable program ouput verbosity
* fixed 45 sec. penalty string
* Config errors are not reported but wrong values are set to default
* IMPORTANT: the application is now multithreaded, uses .NET tasks for exporting the collected data,
removes slight application hang up while exporting, thus main thread = networking runs continuously and exporting is asynchronous
* All command line interaction removed except when config defines to ask for filename, it should not hang up anywhere and should
quit on errors
* Fixed some of the weird exceptions that were happening because Insim does not report well session states, thus things were being
accessed while a session did not even start yet. It should be safe now to browse LFS without LFSStats crashing.
* Cleaner and formatted output to command line and console title
* Exit codes: 0 success, 1 network error, 2 connect timeout, 3 template error
* Fixed LFS World links, HTML link encoding
* Fixed car plate export, HTML encoding
* Updated export of statistics to accomodate template changes = more freedom when making templates
* Rewrote the configuration importer that now contains the loaded settings and comments starting with '#' can be anywhere on a line
* Templates:
* Changed template names to .html for easier processing
* Added back to templates what Yamakawa decided to throw away but LFSStats can export and is useful, like driver swaps!
* LBL integrated in template
* LBL colors are HSLA, partly transparent and colors change continuously not discretely, saturation and alpha can be changed in tempplate
in code easily, want only 2 colors sure, want crazy mixed rainbow with 100 colors and all the way to 2000% best laptime? sure!
Just type it in there.
* More sensible html titles (16 laps of Fern Bay Green)
* Tag start "[-" disables output of that tag content, ends normally with tag end "]", used on [Include in the template for example
* Chat integrated in template
v2.0
----
* Nickname colors - fixed
* Nickname 2 HTML - fixed
* Chat 2 HTML - fixed
* Some minor renaming of templates and generated files
* Changed templates (hope old templates will still work), more space saving, added link to Chat
* When exporting on STAte changed (leave, exit) added option to CFG yes/no/ask to decide if export.
* When exporting on Race STart (race [re]started, mpr [re]starts from begining) added option to CFG yes/no/ask to decide if export.
* Question for name of stats instead of generated time, for STA and RST separatedly
* Globals in templates now work for chat to.
* Chat template and language files updated.
* StartOrder Nickname link to LFSW - fixed
* Dns.Resolve() changed to Dns.GetHostEntry()
* integrate Graph.exe (got original src files for v1.20 )
* integrated as .DLL
* fixed .TSV path
* added option to LFSStats.CFG, generate automatically YES/NO
* fix some tables in templates, no white backround
* update Console.WriteLine() stuff (names, emails, ...)
LFSStats v2.1
Copyright (C) 2008-2013 Jaroslav Černý
Usage: Statistics [options]
-c, --config (Default: LFSStats.cfg) Config file.
-i, --interval (Default: 100) Insim refresh interval: [1-1000]ms.
-v, --verbose (Default: 1) Verbose level: [0-4] Program, Session, Lap,
Split, Info.
--version Display version information.
--help Display this information.
Goodbye.
! Unhandled exception:
! System.Net.Sockets.SocketException (0x80004005): An existing connection was forcibly closed by the remote host
at System.Net.Sockets.Socket.ReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint& remoteEP)
at System.Net.Sockets.UdpClient.Receive(IPEndPoint& remoteEP)
at InSim.Connect.Receive()
at LFSStatistics.LFSClient.Loop(Connect insimConnection)
at LFSStatistics.LFSClient..ctor(String configFileName, Int32 refreshInterval, Verbose verbose)
at LFSStatistics.LFSStats.Main(String[] args)
LFSStats v2.1
Copyright (C) 2008-2013 Jaroslav Černý
LFSStats comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. Read LICENSE for details.
You should have received a copy of the GNU General Public License
along with LFSStats. If not, see <http://www.gnu.org/licenses/>.
Loading WR... Not loaded
UDP: Connecting... OK
Product: S2 Version: 0.6E InSim Version: 5
LFSStats is running...
Race start: 38 laps of AS3
Result: 1. THR Mazdarati/1
Result: 2. BWR-Black/1
Result: 3. [CR]Bandes/2
Result: 4. ERR|?nyle/2
Result: 6. MZRtoberkel/1
Result: 7. Cruel Garfield/4
Result: 8. [MRc] Michal/4
Result: 9. [RfB]alex/4
Result: 10. [GRT] Wheldon 77/3
Result: 11. TcL Knistling/3
Result: 12. [RfB]dan/4
Result: 13. TcL Gutholz/3
End of race by Race STart
Race start: 38 laps of AS3
> Race Stats exported (627ms)
> Graph.dll graphs generated (2321ms)
End of race by STAte
Goodbye.
---
LFSStats v2.1
Copyright (C) 2008-2013 Jaroslav Černý
LFSStats comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. Read LICENSE for details.
You should have received a copy of the GNU General Public License
along with LFSStats. If not, see <http://www.gnu.org/licenses/>.
Loading WR... Not loaded
UDP: Connecting... OK
Product: S2 Version: 0.6E InSim Version: 5
LFSStats is running...
Race start: 36 laps of WE1
Result: 1. LLM C.Dalda/1
Result: 2. MTDZX-Antti/1
Result: 3. THR Mazdarati/1
Result: 4. S M.Kapal/4
Result: 5. [CR]Bandes/2
Result: 6. BWR-Black/1
Result: 7. Camoradi/2
Result: 8. THR Daniel /1
Result: 9. [GRT]LRK-racer /1
Result: 10. MZRtoberkel/2
Result: 11. ERR|?nyle/2
Result: 12. BHAtmack/3
Result: 13. Cruel Garfield/2
Result: 14. TcL Knistling/3
Result: 15. [GRT] Wheldon /2
Result: 16. TcL Gutholz/3
Result: 17. BHAgredghog1/3
Result: 18. ERR| Jamo /2
Result: 19. Migpha/4
End of race by Race STart
Race start: 36 laps of WE1
> Race Stats exported (508ms)
> Graph.dll graphs generated (572ms)
End of race by STAte
Goodbye.
Packet head: 114
Unknown packet received: 114
Packet head: 48
Unknown packet received: 48
Packet head: 145
Unknown packet received: 145
Packet head: 83
Unknown packet received: 83
Packet head: SMALL
SMALL
Changelog:
==========
v2.1
----
* Graphs:
* Adding option to generate graph from DLL or EXE and adding Yamakawa's YGraph as an option
* Updated NPlot library to 0.9.10.0 and due to NPlot a .NET 4.0 Client Profile is not enough and a full .NET 4.0 is needed
* Changed default graph config to not output unused images
* Changed default graph background to transparent
* Networking:
* Fixed new Insim flags (AXIS_CLUTCH / THROTTLE, ...), proper names and exporting all of them, including SwapSide
* Changed them to be displayed via CSS3 - easy to modify at any time
* Added changes from Luron's v1.12 in Insim4.cs but TCP is still buggy
* Disabling TCP in code for now
* (InSim.Decoder.PIT.PIT) Pit flags text but still needs localization I think
* Ohter:
* Looked up and commented out some unused code
* Fixed {*Conditions} "Sunny,no wind" formatting to "Sunny, no wind"
* Added a few language file substitutions
* LFSStat changed to .NET 4.0 Client Profile and update some outdated code for better performance and conventions
* Cleaner version reporting and maintaining in the project
* Removed #MONO and #WINDOWS from source files since these are supposed to be defined elsewhere, in build/compiler options,
and not in source files, just change the #IFs back to #IF MONO and define #IF at build/compile level not in source files
* Command line options with help text and usage
* Customizable program ouput verbosity
* fixed 45 sec. penalty string
* Config errors are not reported but wrong values are set to default
* IMPORTANT: the application is now multithreaded, uses .NET tasks for exporting the collected data,
removes slight application hang up while exporting, thus main thread = networking runs continuously and exporting is asynchronous
* All command line interaction removed except when config defines to ask for filename, it should not hang up anywhere and should
quit on errors
* Fixed some of the weird exceptions that were happening because Insim does not report well session states, thus things were being
accessed while a session did not even start yet. It should be safe now to browse LFS without LFSStats crashing.
* Cleaner and formatted output to command line and console title
* Templates:
* Changed template names to .html for easier processing
* Added back to templates what Yamakawa decided to throw away but LFSStats can export and is useful, like driver swaps!
* LBL integrated in race.html
* LBL colors are HSLA, partly transparent and colors change continuously not discretely, saturation and alpha can be changed in tempplate
in code easily, want only 2 colors sure, want crazy mixed rainbow with 100 colors and all the way to 2000% best laptime? sure!
Just type it in there.
* More sensible html titles (16 laps of Fern Bay Green)