The online racing simulator
TEST PATCH 0.6B9 (NOW B11 - multiplayer improvements - no change to physics)
WARNING : THIS IS A TEST

NOTE : THIS DOES NOT CONTAIN NEW TYRE PHYSICS / VW SCIROCCO / ROCKINGHAM

PLEASE TEST BEFORE YOU POST

NO OFF-TOPIC FEATURE REQUESTS

NO UNRELATED COMMENTS


Hello Racers, here is a new TEST PATCH : 0.6B11

You can read about why this update was needed in the main forum thread :
http://www.lfsforum.net/showthread.php?t=80675

This test patch is NOT compatible with version 0.6B
This test patch CAN play replays from version 0.6B

You cannot upload hotlaps made with this test patch because it is only a test patch, not an official patch.

Please keep a backup of your LFS.exe from 0.6B so you can easily go back if there are any problems.


Changes from 0.6B10 to 0.6B11 :

Forwarded packets and timing packets are sent more promptly
Ping / lag time now shown in ms when less than 1 second
Ping / lag time is now also shown in game setup screen

Fixes :

In B10 hotlapping did not restart after leaving the pits


Changes from 0.6B9 to 0.6B10 :

Improved cheat protection stops some more ways to cheat

Fixes :

Sending too many InSim buttons could cause guests to disconnect
It was possible to make an AI driver join with a disallowed car
Leaving garage screen could cause problems with a car script


Changes from 0.6B8 to 0.6B9 :

New TCP packet buffering and storage system :

- Reduces the number of physical packets sent
- Major improvement when many InSim buttons are sent
- Fixes some ways to lose connection on a busy server

New lag bar system - host sends ping and lag info :

- Bars at bottom left to show packet delay for all connections
- Ping time (or lag when lagging) shown in list of connections

Fixes :

Short MP Replays were sometimes extended to a time of 10:55.36


Changes from 0.6B to 0.6B8 :

Improved multiplayer system :

Game only needs host packets to continue processing
Quicker joining to host - no waiting for other players
No waiting for packets from players with slow connections
Leaving a host is instantaneous even if a guest is connecting
Longer timeouts avoid disconnection due to short interruptions

(NOTE : no change to physics - old replays are still valid)

Multiplayer :

New hacker protection applied to multiplayer packets
Improved checks on validity of user names while connecting
User names now confirmed with master server after connection
OOS / CPW messages now show user name instead of player name
Removed message "Got master packet" from network debug output
No buffer overflows from hangs or operating system time changes
User name in brackets now shown at end of disconnection messages
New "Authorised" message on host links user name with ip address
Instead of "LAG (seconds)" now "username (seconds)" is displayed
Race setup screen /clear command can now only be used by admins
Ability of guests to vote or select tracks now enforced by host

Other changes :

Latvian training lessons now included
Two new translations : Indonesian and Romanian
Pit exit direction arrow now works in open configurations
SHIFT + N : sound on / off now works in multiplayer screens

InSim :

Added new leave reasons (CPW / OOS / JOOS / HACK) for IS_CNL
Change to in-game usage of IS_REO - only valid after SMALL_VTA

Fixes :

Custom view was not set to new car type on replay restart
Duplicate lines in scripts could cause unexpected results
Virtual speedo sometimes overlapped numbers (e.g. XRG km/h)
Circuit length is no longer displayed for open configurations
LFS could crash when displaying laps for fuel after short laps
Ready status in lobby is now checked when a player disconnects
Load WE1R on dedicated host - Checkpoint 1 path node not found
User's controller type was not shown after taking over a car
SHIFT+R near end of SPR could make cars swap between players
Two instances of LFS no longer write to the same MPR / SPR


INSTALLATION INSTRUCTIONS :

A FULL version of LFS 0.6B (or later) must already be installed


To install the PATCH using the SELF EXTRACTING ARCHIVE :

1) Move or save the patch into your main LFS folder
2) Double click the patch to extract it to that folder
3) When you see "Confirm File Replace" select "Yes to All"
4) Now you can start LFS in the normal way

NOTE : You can see if the patch is correctly installed when you run
the program (LFS.exe). At the bottom of the entry screen : 0.6B11


DOWNLOADS :

PATCH 0.6B TO 0.6B11 (SELF EXTRACTING ARCHIVE) (if you already have 0.6B) :
www.lfs.net/file_lfs.php?name=LFS_PATCH_6B_TO_6B11.exe (2.0 MB)

PATCH 0.6B TO 0.6B11 (ALTERNATIVE ZIP) (if you already have 0.6B) :
www.lfs.net/file_lfs.php?name=LFS_PATCH_6B_TO_6B11.zip (2.5 MB)

DEDICATED HOST 0.6B11 (non-graphical version for hosting only) :
www.lfs.net/file_lfs.php?name=LFS_S2_DEDI_6B11.zip (1.6 MB)
Ping time in connection list is great addition.
I know it wasn't possible before, but is there any way to show this also in mpr's?
#3 - troy
Small suggestion for the ping in the nameslist:

Would it be possible to graphically give the player an indication on how good/bad his ping is?

below 100ms = green
above 150ms = orange
above 250ms = red

or something along the lines?
#4 - Omar1
Really like the ping in the connection list!
I'm a bit confused / unsure if network debug ping (?) and names list ping should be the same number or am I comparing apples and oranges again?
Attached images
SameOrNot.jpg
the pings in the connection list is spot on, exactly as i had hoped for.

Quote from three_jump :I'm a bit confused / unsure if network debug ping (?) and names list ping should be the same number or am I comparing apples and oranges again?

that looks odd. i could be wrong but i am guessing the network debug ping is showing the ping between you and the other driver, where as the connection list ping is showing the ping to between the other driver and the server.

Quote from troy :Small suggestion for the ping in the nameslist:

Would it be possible to graphically give the player and indication on how good/bad his ping is?

below 100ms = green
above 150ms = orange
above 250ms = red

or something along the lines?

Just noticed on the test server, anything over 1.0 (100ms) goes red.
#7 - troy
100ms is actually 0.1 franky so 1.0 is 1000ms.

edit: Just to complete, I noticed that too but if you're lagging for a second it should be dark red and flashing with danger signs already!
Quote from three_jump :I'm a bit confused / unsure if network debug ping (?) and names list ping should be the same number or am I comparing apples and oranges again?

No, they are in fact different things.

1) The ping that you see in the list of connections (when it is a low number) is the round trip ping from the server to the guest and back again, in the TCP game packet system. So, it's the total of the time taken for a TCP packet from the host to be sent to the guest, and the reply to be sent back to the host.

2) The number that you see over a car, when network debug is switched on, is the time taken for the UDP position packet for that car to get from that guest to you. But it's not really the true time (as you can see it sometimes says zero) because your clock and the other guest's clock are not perfectly in sync. It's the game time on the other guest's computer when it sent the packet, subtracted from the game time on your computer when it received it.

EDIT : If all is working well and smoothly and timers are adjusting correctly, then the number over a car should settle at a value approximately equal to half of your own connection list ping plus half of that player's connection list ping. That is because the UDP packet must be sent one way to the host then one way from the host to your computer.
#9 - NovaK
Scawen: If this patch turns out to be stable without flaws, will it be 0.6c? or do you have other things in mind to fix/add for B10?
-
(DANIEL-CRO) DELETED by DANIEL-CRO : 3 jump was faster
Quote from troy :100ms is actually 0.1 franky so 1.0 is 1000ms.

edit: Just to complete, I noticed that too but if you're lagging for a second it should be dark red and flashing with danger signs already!

you are right, i was not paying attention properly! the red numbers were actually seconds that there was no ping received (lag!)

Scawen that explains why i thought my ping was always higher than i would normally expect as it shows the full round trip instead of just the one way trip like FPS's do.
I also noticed that the old "lagbar" (is that even the official term?) down left is barely visible anymore (at least when all is well). As it is being replaced now do you plan to drop? (Otherwise it should be bigger or you need a magnifying glass)
Quote from three_jump :I also noticed that the old "lagbar" (is that even the official term?) down left is barely visible anymore (at least when all is well). As it is being replaced now do you plan to drop? (Otherwise it should be bigger or you need a magnifying glass)

Well, it's not really the old bars at all, which used to jump up and down and represented something quite different. In the old system they showed how many spare packets you had from a connection, but those bars were removed because the system doesn't work that way any more. A lagging connection's bar went to the bottom and everyone else's went up. The new one represents round trip ping when the host is getting packets, or the delay when the host has not heard from a guest. The new lag bars are just a graphical representation of the numbers that you see in the connections list. I'm not sure about making them bigger because I don't want them to be distracting.
I understand that too big might be distracting, but I have trouble seeing them

EDIT:
As you are saying that the new lag bars and the numbers are the same... I suggest that we could ditch the bars completely as they are redundant then
Attached images
waldo.jpg
Quote from three_jump :I understand that too big might be distracting, but I have trouble seeing them

EDIT:
As you are saying that the new lag bars and the numbers are the same... I suggest that we could ditch the bars completely as they are redundant then

The point would surely be that if they are invisible it's cos the connection is good and therefore you don't need to see them
Any bar that you can see flags a player with a problem, and then you can check the numbers against the players... No?
i think it's actually a good idea to keep the lag bars, As they are small enough that when everything is fine you do not notice them, But when there is a problem with somebody you will see a growing lag bar, which alerts you to check the connections list for more information. In my opinion
Quote from franky500 :i think it's actually a good idea to keep the lag bars, As they are small enough that when everything is fine you do not notice them, But when there is a problem with somebody you will see a growing lag bar, which alerts you to check the connections list for more information. In my opinion

I think that was scawens intentions, I think it's fine as it is also.
I can live with that reasoning

Case closed.
Quote from Scawen :New TCP packet buffering and storage system

Would it be hard so when a player connects the other players can still pit/spec(all that stuff) and all these packets get cached. After that when the connecting player, finally connects, he will be prompted to these cached packets.

That would be awesome as it would stop the other side of lag pitting(the first one was when any player was lagging, but due to the new way packets work[only between host and client], this disappeared). Also that would help with the Object Out of Sync(when host adds objects once a player connects).
possible bug?
While testing 0.6B9 I came across a rename bug which happens when player A is renaming while player B is connecting and both names are identical.

REPLAY1 (starting at 6.30)
===========================
• Player B cannot join track.
• Player A shows the new name (identical to player B) when he is chatting (T) as well as in the connections list (N).
• The old name of player A is displayed above his car.

REPLAY2
===============================
We then tried to reproduce it several times and the issue resurfaced but differently:
• Player B cannot join track.(Player A can't change his name but when he does /spec he can join the track.)
• Player A shows the old name when he is chatting.
• Player A old name is shown in the connections list (N).
• Player A new name is shown above his car.

(This issue may be carried over from 0.6B. My apologies if it's a well-known issue.)

EDIT: cars to check: "imthebestracerthereis" and "sicotange"
Attached files
REPLAY1.mpr - 350.7 KB - 800 views
REPLAY2.mpr - 158.3 KB - 748 views
SPAM
It's old bug in the autocross at the starting point.
replay attachment
00:44.00 sec, 6:00.00 min, 8:21.00 min.
Attached files
bug start.mpr - 544.2 KB - 796 views
Quote from sicotange :While testing 0.6B9 I came across a rename bug which happens when player A is renaming while player B is connecting and both names are identical.

Just reproduced it, cool stuff

Only bad thing is Airio kicks you saying : "There is some confusion concerning your nickname..."
I know of a another older bug regarding renaming, which is clearly reproducible on version <=0.6B. Maybe that's related to this "new" one.

If a player renames himself while somebody is connecting, LFS used to block the OK-key with a message like "please wait someone is connecting". But, he can still press Esc. The GUI closes, he appears renamed to himself but not to anyone else.


Other thing: The new lag numbers beside he names are really nice.They certainly require a range of button-ids, but could these cause any interferences with Insim apps? I noticed (on <=B versions), if a certain button-id is used by the insim-app, the shift+u interface from lfs suddenly disappears.
when I connect to server localy (host running on same PC), I get ping on that new lag bar about 0.05-0.1, shouldn't it be almost all time 0.00 ?
Thanks for the update!
This thread is closed

FGED GREDG RDFGDR GSFDG