The online racing simulator
Searching in All forums
(51 results)
splattael
S3 licensed
Finally!

Well done
splattael
S3 licensed
Quote from z3r0c00l :There are clearly no Germans present either. I note the lack of towels on any of the seats.

hahaha, nice one
splattael
S3 licensed
+1

A simple XML or JSON dump would be great
No more funky HTML parsing
splattael
S3 licensed
No, you didn't.
splattael
S3 licensed
Works like a charm!


>> LFSWorldHelper.fetch_hot_laps_chart("KY2", "FXR").select {|r| r["id_hl"] == 28427 }
=> [{"racername"=>"Jörg Baumgarth", "split1"=>32100, "flags_hlaps"=>513, "split2"=>71080, "id_hl"=>28427, "split3"=>0, "laptime"=>104920}]

Thank you
splattael
S3 licensed
Quote from Victor :But now i wonder if i can just make the json output unicoded. I don't know if that's going to break some applications. So maybe i need to increase the version number for this fix?

I expect JSON to be UTF-8 unless documented otherwise.

I don't think you need to increase the version number because it's a fix not an enhancement - people using JSON before got wrong data anyway

Thank you for investigating the problem
splattael
S3 licensed
Quote from Dygear :Indeed, it only seems to be an issue with the JSON transport type.

Victor, could you please comment on this?
splattael
S3 licensed
Well, it has nothing to do with Firefox. The JSON is valid but the racername corrupted:


$ curl 'http://www.lfsworld.net/pubstat/get_stat2.php?idk=<IDENTKEY>&version=1.4&s=1&action=ch&track=410&car=FXR'
[{"id_hl":"29961","split1":"29490","split2":"63940","split3":0,"laptime":"95140","flags_hlaps":"513","racername":"C.Schuht"},{"id_hl":"29750","split1":"29730","split2":"64140","split3":0,"laptime":"95360","flags_hlaps":"513","racername":"crazydav"},{"id_hl":"28002","split1":"29570","split2":"64240","split3":0,"laptime":"95750","flags_hlaps":"1601","racername":"Vugl@"},{"id_hl":"29671","split1":"29890","split2":"64520","split3":0,"laptime":"95890","flags_hlaps":"513","racername":"kiste"},{"id_hl":"29532","split1":"29740","split2":"64760","split3":0,"laptime":"96210","flags_hlaps":"513","racername":"phoenixIlooka"},{"id_hl":"29340","split1":"30160","split2":"65160","split3":0,"laptime":"96740","flags_hlaps":"8705","racername":"tournois"},{"id_hl":"27975","split1":"29970","split2":"64930","split3":0,"laptime":"96930","flags_hlaps":"129","racername":"max92"},{"id_hl":"27263","split1":"30350","split2":"65260","split3":0,"laptime":"97180","flags_hlaps":"8705","racername":"Fall_Angel"},{"id_hl":"28700","split1":"30350","split2":"65940","split3":0,"laptime":"97820","flags_hlaps":"513","racername":"marcel."},{"id_hl":"29312","split1":"31930","split2":"70950","split3":0,"laptime":"104820","flags_hlaps":"1609","racername":"tomona"},{"id_hl":"28427","split1":"32100","split2":"71080","split3":0,"laptime":"104920","flags_hlaps":"513","racername":"J"},{"id_hl":"27105","split1":"35150","split2":"76110","split3":0,"laptime":"111680","flags_hlaps":"8704","racername":"AtomicRacer"}]

This entry has an invalid racername:

{"id_hl":"28427","split1":"32100","split2":"71080","split3":0,"laptime":"104920","flags_hlaps":"513","racername":"J"}

It should read "Jörg Baumgarth" not "J".

Maybe Victor could comment this, please?

Kind regards
Peter
Encoding problems with JSON (s=1) for hot lap charts (ch)
splattael
S3 licensed
Hi,

while fetching hot laps charts I discovered an encoding problem in racer names when using JSON-style. The LFSW nickname is "Jörg Baumgarth" for the KY2/FXR.

When fetching as JSON (s=1) the LFSW nickname is "J" - so it breaks after "ö":
http://www.lfsworld.net/pubstat/get_stat2.php?idk=<IDENTKEY>&version=1.4&s=1&action=ch&track=410&car=FXR&s=1

When fetching as PHP or TEXT (s=2 or s=3) it works well:
http://www.lfsworld.net/pubstat/get_stat2.php?idk=<IDENTKEY>&version=1.4&s=1&action=ch&track=410&car=FXR&s=2
http://www.lfsworld.net/pubstat/get_stat2.php?idk=<IDENTKEY>&version=1.4&s=1&action=ch&track=410&car=FXR&s=3

(Replace <IDENT_KEY> with your ident key)

Any ideas? Bug?

Kind regards
Peter
splattael
S3 licensed
Well, I made a mistake. While testing your example above I used " " (SPACE) instead of "\s" (because "[\s-.]" does not work for Ruby). However, in PHP (and Perl) it works - your regexp should work too by accident.

Consider this:
php5 -r 'echo preg_match("/^[ -.]$/", "+");' # => 1
Character class. Match because PLUS is between SPACE and DOT (man ascii).

php5 -r 'echo preg_match("/^[ .-]$/", "+");' # => 0
No character class.

Again, I used " " instead of "\s"
splattael
S3 licensed
Beware of the "-" in character classes, they have special meaning.

To allow a "-" in a character class, use it in first or last position of a character class.

So change this:
^\*{2}([a-zA-Z0-9\s]+)\*{2} (\[*.*\])*.*? IN: ([a-zA-Z0-9\s-.]+) TOA: ([0-9]{2}:[0-9]{2})

to this: (swaping "-" and ".")
^\*{2}([a-zA-Z0-9\s]+)\*{2} (\[*.*\])*.*? IN: ([a-zA-Z0-9\s.-]+) TOA: ([0-9]{2}:[0-9]{2})


Just nitpicking
splattael
S3 licensed
I've also created a small renamer (Tiny Ruby compiled to .exe so no .NET required)

http://ice.peter.suschlik.de/peter/x10_to_x30.exe

Save this .exe into your X30 patched LFS directory and execute (double click).
Backup before run :-D
splattael
S3 licensed
Well, it was like laptop (app) controls PC (LFS). I think it doesn't matter if it's client- or serverside because you use the same protocol, don't you?

I guess firewall is not the problem, right?
splattael
S3 licensed
For me SCC works like a charm. Your packet seems to be ok. Double-check the player_id.
splattael
S3 licensed
Any chance to get the full replay saved by the server?
I can mirror the MPR if traffic is a matter :-)
splattael
S3 licensed
I just saw a guy named Orangina on a S2 full server using this cheat.

Replay is attached.
splattael
S3 licensed
Quote from Davo :How would you watch it? I don't think it's possible and don't see why

No watching, just parsing (through insim port) automatically

Quote from nikimere :no, your own personal copy of LFS calculates the physics.

Oh ok. So playing a replay is impossible

Thank you.
Running replay on a LFS headless server
splattael
S3 licensed
Hi,

is it possible to run a replay on a headless LFS server? Like:
LFS.exe /replay=path_to_my_mpr.mpr /speed=2000 /insim=65000

Is a server is calculating physics at all?

Kind regards
Peter
Cheater protection (hide times faster than 90% of WR)
splattael
S3 licensed
Hi,

I just did a small update to icespy.

Now you can hide or show "cheaters" in PB database. If you enable this "Cheater protection" times that are faster than 90% of the current WR will be hidden.

Have fun.
http://icespy.zilium.de/pb/top/KY1/BF1/10

Kind regards
splattael
The clarify some things...
splattael
S3 licensed
Hi,

I want to clarify some things that were said about icespy (http://icespy.zilium.de):

1. It is not a cheater PB database
2. It fetches PBs (only PBs no HLs) and racer- and hostinfos directly from lfsworld using the stats interface
3. All PBs are real. The "cheater" PBs you see are real too: europa's XRR on AS3 1.36 is visible on lfsworld too - even ingame
4. This site is very similar to many other LFS tracker like http://lfs-tracker.de - only much better :-D
5. I build this site because neither lfs-tracker.de nor lfsworld gave me data views I needed ( - it was also a proof-of-concept to use ruby on rails)

Let the flame war continue


Kind regards
Peter 'splattael' Suschlik
Last edited by splattael, .
Let the OS holy war begin.
splattael
S3 licensed
While porting to Mac, please port to *nix and *bsd. Don't forget List machines!

Let the OS holy war begin. *lean back*

Sorry, I couldn't resist.

Kind regards
Peter

P.S.: Don't feed the trolls ;-)
splattael
S3 licensed
Quote from CrazyICE :but getting a setup out of an spr would be coOL in my opinion...
ok, it's a kind of cheating maybe, but it would be good for closer competitions in hotlaping...

It wasn't my intent to cheat - I just wanted to generate some statistics/graphs server side (without using a windows PC)

But you are right, I would appreciate when WR racers could share their setup on a global place (like lfssetup.com or something)

Quote from CrazyICE :
/btw: nice perfomance in the last race, splattael !!

I did my best but couldn't reach your lap times approixmately
Keep on racing!

Kind regards
splattael
S3 licensed
Quote from the_angry_angel :Quite simply its mostly a closed format. You could reverse engineer it, but this is why you can create RAF files from LFS, and use InSim.

Ahh, thanks for the hint.

Quote from the_angry_angel : If the format was known, it could likely lead to SPR format knowledge, and before you know it - fake hotlaps. Although I really couldnt give 2 shits about hotlaps.

Oh, now it's totally clear why the format is a secret.

Sorry for the noise and thanks for the help

Kind regards
splattael
S3 licensed
Quote from -wes- :Ah thought it was raf files but that only works for single player replay.

His program is an insim app, it gets the data from lfs(lap times for example)
And store's then saves the data.

Oh, you are right. It seems that I mispelled the word relay with replay in my mind Damn.

Quote from -wes- :
You dont need to crack the mpr format unless you want to

go into the doc's folder and open the insim text file. Now write your app!

[struct information]

Thank you for the information.

So, what about extracting information from a MPR?
Is it possible?
Is the MPR format shareable for a poor programer?
Do I really have to re-engineer that format?
Or is it a simple RTFM-thing?

What do the LFS developer say?

Kind regards
How about LFS stats?
splattael
S3 licensed
Quote from tristancliffe :It's the data that makes the replay?

Yes.

Quote from tristancliffe :You won't find any info on google, because it's LFS's own format, and I don't think they'll want to tell us (yet).

Hmm, strange. There exists at least one program which analyzes the MPR data and generates some statistics and graphs.
See http://www.lfsforum.net/showth ... 5&highlight=lfs+stats

Obviously, this guy knows the format, doesn't he?

Please correct me if I'm totally wrong.
FGED GREDG RDFGDR GSFDG