The online racing simulator
Future New InSim packets discussion [V]
Hi, I spend some time to think over new packets wich build every new functionallity LFS gots in S2 in.
Thats whats the progress ATM, I don´t think it´s all and also I don´t think if every value is a good idea or if additional should be there.
But for that it´s a Discussion.

I hope some of the Addon developers help to get it to the ears of Scaven and maybe he could write here too, so that we can get a good system from the beginning wich provides everything for all possible parts of addons



struct IS_PPS // Player Pit Stop (after the stop) (not so much information could be included because of multiplayer races)
{
char PPS [4];

char UName [24]; // username
char PName [24]; // nickname
char CName [32]; // car name (could be good here but no one would need it)

// functional
MSHT StopTime; // standing time
// information is save because everyone in a race could heare it from pit
byte Tyres; // 0 = no change; 1 = street normal..... n = r1 (not depending on the car)
word Damage; // damage points 0 = nothing; 1 = very little orange in graphic... (also save, who can do much with use of that in a multiplayer race)
byte UniqueId; // player's assigned unique id
byte PlyNum; // player's number (stays in list)
word VerifyId;
};

struct IS_PCC // Player Change Car
{
char PCC [4];

char UNameOP [24]; // username Old Player
char PNameOP [24]; // nickname Old Player

char UNameNP [24]; // username New Player
char PNameNP [24]; // nickname New Player
byte UniqueId; // player's assigned unique id
byte PlyNum; // player's number (stays in list)
word VerifyId;
};

stuct IS_PGP // Player Got Penalty
{
char PGP[4];
char UName [24]; // username
char PName [24]; // nickname
byte PenaltyFlag; // known Flag from Result
byte PenaltyBefore; // same Flag (only a active penalty; for Stop and Go to 30 seconds for example)
byte UniqueId; // player's assigned unique id
byte PlyNum; // player's number (stays in list)
word VerifyId;
};

struct IS_RYF // Race Yellow Flag
{
char RYF[4];
word Node; // where the yellow flag was caused
word VerifyId;
};

struct IS_PBF // Player Blue Flag
{
char PBF[4];
char UName [24]; // username
char PName [24]; // nickname
word Node // but not necessary cause of NLP and MCI
byte UniqueId; // player's assigned unique id
byte PlyNum; // player's number (stays in list)
word VerifyId;
};

Assuming that InSim, etc. remain the interface we have with LFS, I'm all for having the extra packets. I believe Ms Rose has brought up the lack of certain information as well.
Quote from the_angry_angel :Assuming that InSim, etc. remain the interface we have with LFS, I'm all for having the extra packets. I believe Ms Rose has brought up the lack of certain information as well.

+1 for some form of InSim method of detecting yellow flags - would make it easier for leagues as it would be easier to deploy the safety car.
#4 - filur
Yay for new packets, but the update i'd like most of all would be to drop the juggling of "player identifiers" (UniqueId, PName, UName) and just use one single never-changing key per connection, per session. Put PName and UName into one single requestable packet such as NCN, then stick to this truly non-changing id for everything else, such as private messages, /spectate, /pitlane, etc.
Yes, my words.
While I was developing my InSim program I had the same 'problem' with the uniquue id.
On the other hand its easy to handle.
But I would prefer an id wich you get in one race and also get again if you reconnect.
In the next race/ session reget the ids.

But at all its ok and I can work with it

Also this will never come before S3, I suggest first new methods for one of the next patches because no other programs should have problems with them.
So wich additional packets do you want beside my or do you want to have another structure/ other values...
Quote from filur :Yay for new packets, but the update i'd like most of all would be to drop the juggling of "player identifiers" (UniqueId, PName, UName) and just use one single never-changing key per connection, per session. Put PName and UName into one single requestable packet such as NCN, then stick to this truly non-changing id for everything else, such as private messages, /spectate, /pitlane, etc.

Sing it again brother!
One new packet I mentioned before in the InSim bugs post but write here again to have a full list.
One major problem for me in my stats tool is if a player finished and have a ? instead a number. In this case no package will be send.
But if he pits (and come back) before the result comes I have normally to reset him.
So I request an extra package (the package won´t be send often so no information have to be left out. Best would be also with pit and penalty...)


struct IS_PRS //Pre Result
{
char UName [24];
char PName [24];
byte UniqueId; // player's assigned unique id
byte PlyNum; // player's number (stays in list)
word VerifyId;
}

The second one I thought about are the flags if it would be better to have one package for beginning and the other one for end (with a duration time). Thats interesting especially for the blue flag, but for some addons also for yellow


Some discussion now here would be nice
-
(MonkOnHotTinRoof) DELETED by MonkOnHotTinRoof
Hmm, I didn´t do it because you could use that in a race against the other racers so I think its better to left it out.
-
(MonkOnHotTinRoof) DELETED by MonkOnHotTinRoof
Quote from MonkOnHotTinRoof :You can see the fuel level info from outgauge afaik, so I don't see why it would be unsafe here.

Nope, you don't see the fuel online.
You can only argument that you could see it because of the standing times but in case of that you can write a program and calculate that from the time (subtract a tyre change...)

The pit struct should be changed I think, because if there is no change you can´t see wich tyres are used yet.
So one for the tyre type and also a flag with

no change, changed and changed type

Also the tyre type have to be added into the new player (NPL) struct
-
(MonkOnHotTinRoof) DELETED by MonkOnHotTinRoof
Sure thats only for your own car

@MonkOnHotTinRoof I thought you made some addons...
-
(MonkOnHotTinRoof) DELETED by MonkOnHotTinRoof
No only that you are informed over all systems you can use (not offensive)

Also if you get real fuel for the others, you don´t have really time to tab everything else in a race (ok maybe while pitting, but who would that do and what does it benefit because you don´t know wich strategy he uses

What ever, in the inSim packet it isn´t a right place in my opinion

FGED GREDG RDFGDR GSFDG