The online racing simulator
Searching in All forums
(129 results)
Greenseed
S2 licensed
hello Krammeh,

I send you this replay so you can take a look at Drive_LFSS database!

There is a lot of think you can manage from a Web Site Interface! and will be very great to have it!

Take a look at table! I will very do love having a WWW interface to create new Race_Template and Restriction Template.

Maybe a Ban List too ... For the display of Racing data! im already into the making of a WWW interface looking as the LFSW interface! so no need for this! But a Admin panel will be great!

You can send command to Drive_LFSS via Telnet port! like "reload database" so the change made from WWW will be loaded into game real time.

Think about it! if you wan i can start a new Trac and SVN repo for your project. and gave you more access to drive_lfss sources.
Greenseed
S2 licensed
Hello Garally,

My general idea of the project and where the project goes as change last day from a conversation with friend.

We where talking a lot of how many server wan to have the OWN LOCAL stats or scoring system.

Into another hand you have a LFSW who is very much amazing and contain a lot of information.


Since i do DLFSS im trying to STICK with the LFSW database and data how can i pass over that magnificent work. DLFSS ranking system is in fact another approch to present you the Data from LFSW since my data really come from there.

That mean i can go race on the server i have a better ping and i will still be ranked! and not miss understand a RANKING system SHOULD reflect your CURRENT SKILL and not show how much point you accumulated.

DLFSS as a scoring system too , he gave you a score depending the Race Difficulty for you and how you where able to fight this difficulty, this become LOCAL data and i'm a little oppose on that , i did it because driver ask for it. Me i wanted only a leaderBoard linked to a UNIQUE event so can have multiple event and multiple leaderBoard or Class as we need, but Still LOCAL data.

So here is my point of all that explanation.

DLFSS is able to work into very flexible way to share content and data among multiple lfs server or multiple SQL database, so my goal will be to make everyone sharing the same data.

So if you tell me you wan to use drive_lfss we will build a OpenVPN link for your server to join the VPN network and then from there we will have secure connection to get our SQL server synchronize.

We can make Drive_LFSS work from my server , but this is not good idea for Latency reason , drive_lfss can deliver a 1ms loop if you wan!

And only 1 Drive_LFSS is needed for you event if you have 2000000 of LFS server.

So think about it if you wan to give a try! normaly all setup into 30 minute.
Greenseed
S2 licensed
i use file from the map folder into LFS for that called .pth file.

You have all Node for a Track on a Map.

It contain:
Node Count,
Node Index,
Center Coord,
Parallel distance To track and Limit of Map playable.

Here is a code that is able to retrieve all PTH file and all info from those file! if you need to use it as example.

enum PTH_Format : int
{
FILE_TYPE = 0,
VERSION = 6,
REVISION = 7,
NODE_COUNT = 8,
FINISH_LINE = 12,
NODE_START = 16,
NODE_LENGTH = 40,
CENTER_X = 0,
CENTER_Y = 4,
CENTER_Z = 8,
DIR_X = 12,
DIR_Y = 16,
DIR_Z =20,
LIMIT_LEFT = 24,
LIMIT_RIGHT = 28,
DRIVE_LEFT = 32,
DRIVE_RIGHT = 36,
}
internal static bool Initialize()
{
string[] files = System.IO.Directory.GetFiles(Program.dataPath + Path.DirectorySeparatorChar + "map", "*.pth");
byte[] buffer;
int nodeCount;
int finishNode;
for(int itr = 0; itr < files.Length; itr++)
{
buffer = File.ReadAllBytes(files[itr]);
if(buffer.Length > 12)
{
if (GetString(buffer, (int)PTH_Format.FILE_TYPE, 6) != "LFSPTH")
{
Log.error(" Invalide FileType map -> "+files[itr]+"\r\n");
return false;
}
if (buffer[(int)PTH_Format.VERSION] > 0)
{
Log.error(" Invalide Version map -> " + files[itr] + "\r\n");
return false;
}
if (buffer[(int)PTH_Format.REVISION] > 0)
{
Log.error(" Invalide Revision map -> " + files[itr] + "\r\n");
return false;
}
nodeCount = GetInt(buffer, (int)PTH_Format.NODE_COUNT);
finishNode = GetInt(buffer, (int)PTH_Format.FINISH_LINE);
MapData mapData = new MapData(nodeCount,finishNode);
int firstIndex;
for(int nodeItr = 0; nodeItr < nodeCount; nodeItr++)
{
firstIndex = ((int)PTH_Format.NODE_START + ((int)PTH_Format.NODE_LENGTH * nodeItr));
mapData.SetNode
(
nodeItr,
GetInt(buffer, firstIndex + (int)PTH_Format.CENTER_X),
GetInt(buffer, firstIndex + (int)PTH_Format.CENTER_Y),
GetInt(buffer, firstIndex + (int)PTH_Format.CENTER_Z),
GetFloat(buffer, firstIndex + (int)PTH_Format.DIR_X),
GetFloat(buffer, firstIndex + (int)PTH_Format.DIR_Y),
GetFloat(buffer, firstIndex + (int)PTH_Format.DIR_Z),
GetFloat(buffer, firstIndex + (int)PTH_Format.LIMIT_LEFT),
GetFloat(buffer, firstIndex + (int)PTH_Format.LIMIT_RIGHT),
GetFloat(buffer, firstIndex + (int)PTH_Format.DRIVE_LEFT),
GetFloat(buffer, firstIndex + (int)PTH_Format.DRIVE_RIGHT)
);
}
string trackPrefix = files[itr].Substring(files[itr].LastIndexOf('\\')+1);
trackPrefix = trackPrefix.Replace(".pth","");
maps.Add(trackPrefix,mapData);
}

}
Log.commandHelp(" Loaded "+files.Length+" Maps.\r\n");

return true;
}

I hope this is not for using to calculate SPLIT Time a driver do between Node.
Since you are using a insim application, it is not possible for you to have a real precision time as the LFS server do.
This will deliver not quality content ;(.
As the Maximum Speed Or Acceleration speed Feature, it fun to have but we can't base Valuable thought or data from those system and most of driver don't know that! so this become the duty of people developing insim addons to be vigilant.
Last edited by Greenseed, .
Greenseed
S2 licensed
that hostsxxxxx.txt file was not know by me... Grrrrrr ...

i will love to learn that some week ago
Greenseed
S2 licensed
Hello VorTeX3k,

i will add a +1 to the answer of Krammeh.


When building the Drive_LFSS core i got the exact same probleme as you.

I solved the problem with Overwriting the original command, with !command , so when a admin wan to change car he as to pass by that system , and this system will save the data into db , so event after a restart of my insim application , the track should be know by him.

I do understand this can report not good data! but my system is ****ing more complex then just the idea pointed here! so i always have the good data i Call that system "RaceTemplate"

So i suggest you try making a command to change car and told admin to use it so you can save the data.

Hope it help.
InSim Button For ServerConnection
Greenseed
S2 licensed
Hello , don't know if possible to make this when a player is already connect! but if i don't ask will never know it!


So here is my improvement suggestion.

With a InSim software we are able to send button to the client, we have Text Button, Click able button and Button with input.

Will be very useful for Admin and make the Life simpler for User to be able to send a Button with Flag that told this is a Real Server Name, if user Click make is Client connect on this server.

Example usage:

A restriction system spec/kick the user cause he don't meet the criteria, so we told the user to go connect on a specific server to pass the criteria! i noticed that many user have such struggle to find a server from the list and they seem not able to type it... i am not here to judge they approach but to try make think simpler
Greenseed
S2 licensed
since you say from a WAMP configured server it working , i think it probaly a configuration difference your probleme.

Only thing i can think of is this:
Help on the command "file_get_contents()" from the php manuel.
Quote :Tip You can use a URL as a filename with this function if the fopen wrappers have been enabled. See fopen() for more details on how to specify the filename and Appendix O, List of Supported Protocols/Wrappers for a list of supported URL protocols.

Hope it help.

P.S. the php manuel can be downloaded into a .chm format and is very simple and well done to get help with php.
Greenseed
S2 licensed
Drive_LFSS , has a Multiple Scoring system called , Event To LeaderBoard(Scoring).

So you can have many LeaderBoard linked to a specific event Starting at the Interval you chosen, will have a calandar soon with inscription from ingame for Driver and Team.

He has a General Ranking system too, for all Combinaison of Track/Car(1044). Ranking is NOT Scoring

And he has a Auto Bad Driving detection, who work pretty good, called SafeDriving.

Only 1 drive_lfss can control as many server as you wan and offcourse they are all linked together.

You can start Multiple Drive_LFSS and they will still be linked. Anywhere in the world.

You can event Start multiple MySQL server anywhere in the world , they will become all linked together.

You can use one or multiple mIRC server to Link all your server Chat together and have a Admin managing the server from mIRC.

Me personaly i have 1 Drive_LFSS , 17 LFS server and 2 MySQL DB and 1 mIRC , all Becoming ONE.

if you wan to know more on the project and is feature:
http://maya.aleajecta.com/trac/dlfss/wiki


If you wan to try a server with him and see what happen from ingame
"Aleajecta FBM" is a demo server with all this activated, Leaderboard(Scoring) is the General one , there is no Event on this server.


And having a WWW access to show all data recorded by Drive_LFSS , pretty easy if you know MySQL.

The project is no more OpenSource , since i lost motivation.... but this is something that im surely able to refind


P.S. last feature is Drive_LFSS see the Map/Track as a Human EYE will see it This sound simple like this... but a example of what i can do with this is Calculate the Difference between a Drift and a LostControl , since i know where you go and where the track go.

I will do a virtual mirror soon to show how rock and roll is this feature

For moment she helped me a lot to Make SafeDriving better.
Greenseed
S2 licensed
maxiim, my english is far then perfect, sorry.


amgdrift , thx for your help! really apreciate!

P.S. amgdrift is for me a very good drifter and person Good Team surely
Greenseed
S2 licensed
hello amgdrift , hope you not mad at me cause this a little offtopic!

im since very long time searching for a drift team , not to enter it but to test a system i've made who detect the DriftStyle of a driver.

It more complex then just testing your Angle Velocity and Diff.

Here is the list of check done to be able to score a drift.

Speed not lower then NN
Car Moving Trajectory ~= to Track Trajectory
Car Nose Orientation as Diff > or < with Track Trajectory
Car Nose Orientation as Diff > or < then Car Moving Trajectory
Car Nose Orientation Counter Correction(mean you steer reverse then your drift goes).
Car Stay on the Track (Don't contact limit of track)

I try to keep simple here, but i do more then that! only problem i have is: "I'm not a drifter" , so my system is not well tested!

So i invite you and your team to help me make this system perfect for what a drifter need!

At the moment it all working , with scoring display and blabla... but do i have a good DriftStyle calculation VS your Score?

Putted into other word:
Do i gave too much for a bad drift or too less?
Do i gave too much for a good drift or too less?
Do i gave too much for a perfect drift or too less?

Little drift, score about 200-400.
A 360degree Drift will score about 6000.

What is a good drift and a bad is a little cloud for me

And who know maybe we can merge team Racing on side Drifting other side!

I have 17 server and hardware to build more then 200.

I see you are Demo user ... server "Aleajecta Drift" is reserved for drifting , but it is S2 ... what ever if you wan to help me told me i will get up a Demo dedicated to the drift just for you
Last edited by Greenseed, .
Greenseed
S2 licensed
tri doula! fidelatwite!


hihi!


i found it ... in fact i had the good answer with the perpendicular dist , but i had a typo! so i din't see was right!

i started over today! and got it working perfectely!

Thx! to the creator of LFS , this is just too much! for a game of 40$ , lol

Seriously who's game compagny gave all this available to is user +++ all the require file to understand the original work!

Think about it Brute Rock And Roll will be dethroned by LFS very soon! mouhaha!
Help on Path Information
Greenseed
S2 licensed
[quote]
NODE BLOCK :

1 int 0 centre X : fp
1 int 4 centre Y : fp
1 int 8 centre Z : fp
1 float 12 dir X : float
1 float 16 dir Y : float
1 float 20 dir Z : float
1 float 24 limit left : outer limit
1 float 28 limit right : outer limit
1 float 32 drive left : road limit
1 float 36 drive right : road limit
[/node]

I badly need help ...

I don't know how to check the DriveLeft And DriveRight Limit.


I try a simple perpendicular approach to find the closed point on the direction line, but for sure i miss something cause this approach will be good to calculate the height of the side , but "DriveLeft and DriveRight" seem to not be a distance.


So if someone can spare me with a example on how do i check DriveLimit.

Thx.


So please someone badly need to be ligthed
Greenseed
S2 licensed
Hello Dygear.

Since long time i wanted to grab all Track Data, WMO,MESH Texture...

It was planned this for Drive_LFSS project to have better Bad driving detection and Better DriftStyle system and more more more....

This was not supossed to be done until about 6 month... but today i just found again, another GREAT GREAT GREAT work, from the LFS team.

In fact i found the SMX and PTH file description , so all the reverse engineer i had todo is no more...

After couple of hours i got my grid system with complete support SMX/PTH data with WMO,MESH, PATH DIRECTION all info are into that file.

From this i can tell if your car are into the track or grass , as example.

I told you all this , cause maybe you never noticed the link between those file and your Idea into that post.

Drive_LFSS is able to Open a Layout file and auto place TriggerAction into my map/grid system, depend on the Object Type so in fact i'm completely able to do your idea.

I hope this talk make you realize that you can complete your idea

Now that i have thoses file... i really can tell SKY is the Limit!

LFS is Pure RockAndRoll
Greenseed
S2 licensed
Hello, i don't have exactly what you are looking for, but i show you what i've done maybe can help

here is where all start:
http://www.lfsforum.net/showthread.php?t=48948

I wanted to make a Ranking system , to class driver by the Skill and not by the time played or win count.

So i gathered EACH lap from ALL driver and ALL server , that mean i have all the DATA you are requesting for.

For multiple reason i have Classed all this data into a MySQL database.

With some simple query i am able to reach only the data i need to build stats from it.

Me i have build some private formula , to build up a ranking skill system.

If you wan to take a Look at the ranking system Result, just connect on "Aleajecta Demo" and type !rank , there is a search section so you can find your self, by Track/car.

there is 4 Stats:

Best, Avg, Sta, Win, Total

Best is on 5000 == Current World Record Time.
Avg is on 5000 == Current Average from ALL Server and Driver.
Avg is on 2500 if you never played on Aleajecta.
Sta is on 5000 == You always Run at your PB time.
Win, Really depend on the RaceLapAvg, LapsCount and Driver Count And Elo rank from Other Driver.


Very Soon, i will do similar job but with Time Display and not Rank Skill.

I know you did not ask for this, but you say: "your a Stats freak" and this system is very good to know with who you can race to have good challenge or to know on what you need to work to become better.

Example:

I have a Best of 4768 and a Stability of 4000, you have a best of 4500 and a Stability of 4700 , you are slower then me, but you will probably win all race again me, since i am running for the best lap and not the for a clean race.

Ho! if i show your Data into "Yellow" mean your Better then Before, "Blue" mean your worst, "White" mean your event.
Last edited by Greenseed, .
Greenseed
S2 licensed
hello Forcemagic, i just wan to ask if you wan to join the Stress Force haha!

I and couple of friend putted Drive_LFSS to connect on our Local Game with 20 Bot Each , we have reach 120 Driver online and racing from 6 Server, was still 0% usage , some very little peak at 6% at all 40 second about, All feature Online.

My goal is try bring him to reach 50% , im trying to reach limitation of the TimeCritical Thread.

Memory Usage is ridiculous, about 5 Meg on Loading , + 1 meg by Server with 20 player each , so the total is about 11Meg + the .net management code who take about 20Meg, total is 31Meg.

I use IBM Purify to trace all the data.

So if you wan PM me please
Greenseed
S2 licensed
Hello , im not sure this is exactly what your requesting , but here is the "ChatModo" for Drive_LFSS project.

there is 4 Kind of Word:

0- Word OK
1- Word Make Linked Word Bad
2- Word is limit but BAD if type 1 is before.
3- Totaly BAD alone or in sentence.

the 0 is more used , when the system detect as example:
Shock , can be detects as "f u c k" , so i add the Word Shock as 0 Type , system will not change Shock for "f u c k".

The type 1 is: YOU or Private Message, any designation.

Type 2 is a bad word but really depend the way people using it, example:

F u c k , become , please check your language, but "f u c k You" , will become a Inappropriate language. So i can say, f u c k my Shock are bad, and will be ok.

And finally the Type 3 , all type 3 word are auto detected as Inappropriate Language.


Command : "!badword word type" , is used ingame by admin to add or remove word.

Action taken for the moment there is NONE, im simply saving this in the Player DB , but will add soon , a list of action admin can take auto.


The system use 3 Level of detection.

Level 1 , search the exact Word.
Level 2, Search for the word that require the smalles Change to become a bad word(Levenstein)
Level 3 , System strip non WORD char and do Level 1 and 2 Again.

if i added the word " f u c k" , mean he will detect this:
suck, f%u^&k, uck, %^F U C K^$%$ ... and so one, all thoses word will be catched as F u c k.

This make the system very good, with a very low count of word into the DB, i have at the moment 38 word, and seem it becoming very hard to found new that are not detected.

This is not real Time, since STRING word can be very slow, all Chat text are send to the chatModo, at all 200ms the chat modo check only 1 line at time, if he detect something wrong will tell and record it.

here is the source code for the ChatModo: http://maya.aleajecta.com/trac ... rc/chat_modo/chat_modo.cs
Greenseed
S2 licensed
Your PB and World Record will be show on first join a track only to You , will dislay right after the difference you have with WR.

On each split and Lap, i show you the Difference from your Split/PB and Split/WR.

Blue mean Worst , Yellow Mean Better, a New World Record will be show to everyone.

All this is configuable from the !config option or Shift-i.

To know what is your best or the best of other at any time is not yet possible for time display.

Ticket: http://maya.aleajecta.com/trac/dlfss/ticket/34 , will make that possible with real time difference calculation from current to Anyone you wold like.

At the moment is possible to know who faster and much more with the ranking system, !rank .

I did not make any system public that enter data into it , so you have to create a external script that analyse the DB and score driver.

Connect on "Aleajecta Demo" and try the !rank with search , find your self i have 3.2 million of races. i will probaly share thoses data as the default rank data.

My idea to make the stats_rank_driver Table and System, was very general , since we don't wan all the same formula, i managed to make it with a simple table, that you have to fill up your self, so the !rank system is more a Display and Search system , that gather into from the "stats_rank_table"

I will update the system from sugestion and need of people.

Have to understand that for the moment only my idea are added, since im most alone doing it.


hope i did understand your question correctely i've writen a lot for that small question haha
Greenseed
S2 licensed
yeah but will create later probleme with Stats Rank system.

I just created revision 210 , who should put 60.22222 into your DB and not 60,222222 , i simply can't reproduce the probleme, when i change my Language setting , i see 60,2222 but i captured network packet and i send 60.2222 so it only the Display who is changing for me.

This is very machine dependant, so my best approch is to reput back to machine independant.

So i hope that revision 210 work good
Greenseed
S2 licensed
I just tested 0.4.188 and i found no probleme at all... so from there i was little lost, then i started to look at the probleme into another way!

and i found it, i've done a mistake there: ","+ lap.MaxSpeedMs +","

this is a float value on my system will gave me something like: 60.7208251953125 , that work super good.

But on your system the decimal char will be: 60,7208251953125 , so that become + 1 column.

It my mistake and i should add this in place: ",'"+ lap.MaxSpeedMs +"',"


So im preparing a new release 209, with all this fixed

Many thx for your time and input! you help me make that project better
Last edited by Greenseed, .
Greenseed
S2 licensed
i double checked and work good for me on a clean installation.

i show you the Internal code that save laps , so you can see there is 16 column and inside the .sql file this is same!

So maybe you can compare your Drive_lap table to this
Quote :
string query = "INSERT INTO `driver_lap` (`guid_race`,`guid_driver`,`car_prefix`,`track_prefix`,`driver_mask`,`split_time_1`,`split_time_2`,`split_time_3`,`lap_time`,`total_time`,`lap_completed`,`max_speed_ms`,`current_penalty`,`pit_stop_count`,`yellow_flag_count`,`blue_flag_count`)";
query += "VALUES (" + lap.RaceGuid + "," + guid + ",'" + lap.CarPrefix + "','" + iSession.GetRaceTrackPrefix() + "'," + (byte)lap.DriverMask + "," + lap.SplitTime[1] + "," + lap.SplitTime[2] + "," + lap.SplitTime[3] + "," + lap.LapTime + "," + lap.TotalTime + "," + lap.LapCompleted + ","+ lap.MaxSpeedMs +","+ (byte)lap.CurrentPenality + "," + lap.PitStopCount + "," + lap.YellowFlagCount + "," + lap.BlueFlagCount+")";
Program.dlfssDatabase.ExecuteNonQuery(query);

DOUBLE check your .exe file , i just checked your query again what should be, the bold char here don't have to be there
5,1,'FBM','BL1',9,31470,0,0,51660,51660,1,60,7208251953125,0,0,0,0

Mean your error is not your DB but the .exe.

P.S. laps are not saved when you complete them, there are buffered until the Driver Save Interval pass and then they are saved to DB, this is about 5 minute interval, depend on your configuration file.


P.S. pastebin.ca , it a great place to show me the Log , without having to upload it.
Last edited by Greenseed, .
Greenseed
S2 licensed
the wiki was not updated with the last revision, and seem your .exe is not the correct revision for the DB you have! this is Human(me) fault!


I just prepared a new Release, 0.4.208 , don't bother with the SQL/update/*.sql , just reapply Drive_LFSS.sql and use the new .exe.

I tested it on a clean db, since the db i dev on is allways ok i pass beside thoses error , so why i dind't notice before, and you seem to be alone to use it

I apreciate the time you put in there! thx!

P.S. Sql update file are there in the case your using Drive_LFSS for real so better apply only Update that are > then your prior revision, so nothing is lost into DB , it become a simple DB update!

A update file can report error if apply more then one time, but they will never Screw the DB because apply 2 time. If ever i release a file that is dangerous to apply 2 time! i will tell clearly into the file name.

On this hope revision 0.4.208 is Ok.

I din't wan to release that one now, cause i Added a ChatModerator , im trying to make him smart and at the moment is a little sensitive on certain word im sure you will laft a little when you see it in action try screw it and he will find you , what ever i removed most ingenious code from him at the moment, so except better bad word filter later
Greenseed
S2 licensed
from the error you show me, i saw 2 thing that should be impossible, i really don't get that part...

`pit_stop_cou nt` , should not have a space there, and this is hardcoded so weird....


(5,1,'XRT','FE6',9,26110,0,0,40370,40370,1,30,6121 826171875,0,0,0,0), it should not have a space into this, and it have 17 value, should have 16 , i checked the same .exe you downloaded, he saved 16 column.

take my MSN: [email protected] or Jabber: [email protected] , if you please i will wan your help to fix that bug since i can't reproduce it.
Greenseed
S2 licensed
Changing you database from Latin1 to UTF8 will not convert the char , but will simple instruct the collation char are into UTF8 who was not truth when char where saved, so you probaly screw some char into the process.

a simple ALTER TABLE should to the job or ALTER COLULM, since you can put a table latin1 and a column utf8 as example.

Read MySQL manual for "Collation" , they will show you many way to retrive a char with custom collation choices, can be usefull before doing your convert , like UPDATE first and ALTER after.

read read read! Mysql book is well done and all answer you search are there and can be retrive from the search option easy!

many ppl has probleme with MySQL Latin1 collation and Site WWW, cause they site WWW send header as UTF8 content, if your probleme is related to WWW display, i sugest you change your apache setting in place to put default header at latin1.
Last edited by Greenseed, .
Greenseed
S2 licensed
Search did not bring you this:
http://www.lfsforum.net/showthread.php?p=912285#post912285

And continue to read bellow, Makakazo told other possible idea!
Greenseed
S2 licensed
Biskvit,

you did install version 0.4.188.rar , that was the file downloaded?

For sure the probleme come that your Database don't have have correct Colum count into "Driver_lap" table.

i will love to show this table structure from your DB.

Did that bug happen after a while or at about 5 minute after started racing?

You did apply the file: Drive_LFSS.sql ? and no other patch?
FGED GREDG RDFGDR GSFDG