The online racing simulator
Disconnection Protect System
(16 posts, started )
Disconnection Protect System
Hi there!
I know Scawen may be busy working on the VW Scirocco and next patch. May be this idea is in Scawen´s mind but i´d like to tell you anyway to see how much approval it has...

The point is to "attack" one of the biggest problems, not only in LFS but in any online simulator; the "disconnection time out". This is really confusing in long races, and produces lots of abandons in short races, even with greats efforts of race admins mounting "trackers", the situation can be even better.
LFS is very versatile in a matter of programming and this may be possible, so let´s think about this idea.

The server will simply store the name of the driver, the laps completed and the sector he is in, so when a "time out" happen, the server will put an "AI ghostcar" in that place. The reason to be a "ghost" is that AI´s don´t behave like human drivers, and may cause some accidents.
Of course the ideal situation will be to put the car in the exact position the disconnection occurred, including speed and so on, but to make it more easy I thought it will be enough to put the AI at the start of the last sector completed by the driver, or the easiest, only to put it at the start of the last completed lap. The point is not to loose all the laps completed.

This AI car should have fuel for only 1 lap so it will make a pit stop in next lap, but in the pits it should behave as an AI finishing a race (it enters the garage and turn off the engine). The "real" driver reconnecting the server must have to wait until the AI ghostcar stops and turn the engine off to take over it. To do this, in the list of connected drivers ("N" key) the AI ghostcar should have the name of the driver disconnected with an "AI" at a side that identifies from the rest. Then, make a driver change as usual, where the amount of laps will be transferred from the AI to the "real" driver, of course, using the setup, skin and fuel the driver setted up before this.

Pros:
*This will replace "instant disappearing" with "simulated mechanical trouble" forcing it to stop in the pits, "repair" and get back to race, as in real races.
*Racing in the server is better avoiding unnecessary "blue flags".
*Long races results more accurate.
*Almost no abandon in short-medium races.
Cons:
*Servers may be a little more demanding, but think they can manage up to 5 AI at a time with no performance loss. In case of more than 5 disconnections a a time we´re taking about a server trouble more than a simple “time out”.
*Time cost to Scawen in programming

Hope you like it and in the future we have this system or any other to minimize disconnection trouble...

Bye!
Being on a team that races in endurance leagues like MOE or IGTC, having some kind of solution to minimize disconection problems, would be very welcome. It can really turn your race upside down, because some times trackers aren´t working properly, and you´re left racing completely blind without knowing your exact position on the race, and not knowing who you´re racing for position, wich can lead to wrong decisions that can harm your race even more or causing troubles to other teams, without intention. Don´t have any idea how hard a system like the one you propose would be to implement, but maybe it could be even simpler than that. The car that disconnects could simply be put in the pits after a predetermined amount of time, depending on the sector of the track you were in, and the car you´re using. The problem with this is that sometimes it´s not the same driver that disconnets, that joins the server to continue the race, so when the car is put on the pits, it would have the option of taking over the car turned on. This way the lap count would not be reset, and the car would have the same amount of damage it had before, and the damage would be repaired depending on what option was set in the F12 menu. This could also resolve the advantage of the disconetion, that is, if you have engine problems that can not be repaired in the pits, you would keep that damage instead of starting with a brand new car.
Sounds like a brilliant idea, +1 from me

The only thing I can see wrong is that at the moment, AI physics are calculated client-side by whoever "owns" the AI (i.e., whoever types "/ai AI 1"). For this to work, they would need to be calculated server-side, which could cause difficulties for those running large amounts of LFS servers off the one box, especially if it isn't very up-to-date hardware wise.
Quote from dougie-lampkin :Sounds like a brilliant idea, +1 from me

The only thing I can see wrong is that at the moment, AI physics are calculated client-side by whoever "owns" the AI (i.e., whoever types "/ai AI 1"). For this to work, they would need to be calculated server-side, which could cause difficulties for those running large amounts of LFS servers off the one box, especially if it isn't very up-to-date hardware wise.

That´s why I think than better that having some kind of AI driving the car, we could have a table of average lap times acording to tracks and cars, and depending on the sector the disconetion happens, after a set amount of time the car is put on an empty pit box for a normal pitstop, refueling, changing tires and repairing damage acording to what was set in the F12 menu. It would have to have the T button turned on, so the driver that connects can take over the car. The only problem would be how the make sure that only drivers of the same team can takeover the car...
Why can't the server just recored the number of completed laps and the returning disconnecter picks up his car from the pits with all the same damage, fuel etc as he had at the end of the last completed lap. It is probably too difficult to code all the different scenarios around driver takeovers, so the guy driving the last completed lap should return, even if he is handing over the car on the next lap.
Very good and innovative idea.+1
Quote from Storm_Cloud :Why can't the server just recored the number of completed laps and the returning disconnecter picks up his car from the pits with all the same damage, fuel etc as he had at the end of the last completed lap. It is probably too difficult to code all the different scenarios around driver takeovers, so the guy driving the last completed lap should return, even if he is handing over the car on the next lap.

I see a problem with that. If a driver disconects he could be having problems with his Internet conection, or for example a electricity failure that prevents him to rejoin the server. In that case a disconection would mean race over for his team, so that can´t be an ideal solution...
The biggest problem with this is kicking it in - when do you do it? And how will the AI react when it happens? Especially in it's current state.

If the player is off the line the AI is likely to just force it's way back on, no matter who might be in the way. Do you report the AI for that when it takes out half the field in a tight space?
Also, the AI player can't give up possession of the car any more than a disconnected player can.

And how about when the player takes back over - how do you judge it? It's unlikely that switching back to player-control would be all that smooth either. FFB kicks in, AI switches off - at high speed that could endanger both the player and everyone around them.

I think disconnection should count as a mechanical failure, ending the race for that player (or team in endurance events). We don't have random engine death so I think that works as a realistic alternative. If you suffer from this kind of problem enough that it's a real issue, you probably shouldn't be playing online games anyway.
Quote from Dajmin :
I think disconnection should count as a mechanical failure, ending the race for that player (or team in endurance events). We don't have random engine death so I think that works as a realistic alternative. If you suffer from this kind of problem enough that it's a real issue, you probably shouldn't be playing online games anyway.

If that would happen it would be the end of endurance racing in LFS. In the major endurance leagues you have people from all over the world connected to the same server, so connection problems, be it on the client side or problems with the server will always happen.
And in real racing you have car manufacturers from all over the world too, and any one of thousands of parts can cause the car to die. As I said - if you can't count on your connection to stay up for the duration you're in the race, you shouldn't be playing online games which require such a commitment.
Quote from Dajmin :And in real racing you have car manufacturers from all over the world too, and any one of thousands of parts can cause the car to die. As I said - if you can't count on your connection to stay up for the duration you're in the race, you shouldn't be playing online games which require such a commitment.

Not really true. For example, in the 16 hour race, I saw a lot of disconnections from people you would rarely see disconnections from, whereas me and my teammate (who lives in Brazil and from whom we expect disconnections) had no disconnections at all.

Nobody can ever "count on their connection" 100%.

Disconnections are often random, and it happens to the best of connections. In addition, some lagging players cause others to diconnect which is totally unfair and therefore there should be a solution like the one suggested in this thread.

Quote from Dajmin :And in real racing you have car manufacturers from all over the world too, and any one of thousands of parts can cause the car to die.

I think sometimes you can't compare real life to online racing. If you're racing in a real car you have the opportunity to test and re-test every part of the car to make sure it's reliable. You cannot do the same with your Internet connection other than stop all downloads. It's the only part of the race the racers cannot control and therefore there should be a solution which allows the unlucky ones another chance.
I agree with MP3 Astra. Online racing is not the same as real racing, and connection problems is something that is specific to online racing and should be handled for what it is, and not finding something in real racing to compare it to. If LFS implements better damage, and more mechanical failures, then, if your car stops, your race is over, but for me, that has nothing to do with what you're discussing here.
Quote from chunkyracer :I see a problem with that. If a driver disconects he could be having problems with his Internet conection, or for example a electricity failure that prevents him to rejoin the server. In that case a disconection would mean race over for his team, so that can´t be an ideal solution...

Yes that's a problem, but then to fix that you would have to find a way of assigning different drivers to cars and there are no team affiliations coded into LFS.

Easiest thing where someone suffers connection problems is the current situation and that would have to be handled by trackers or replay examination.
What about simply giving the AI duties to a player on the server with no cars in the race? It would probably be an admin.

Here's my proposal for how disconnection autopilot would work.

Pre-requesite :All players will specify a takeover password. This password would serve two purposes. It would allow a user to view one's telementary over LFSWorld (separate issue) and for this purpose.
Reasoning : Stopping scrotes taking over a car and smashing it.
Event 1 :Player A disconnects.
Event 2 :A player who is not participating is selected by the host to run Player A's car.
Reasoning : Because it's someone without a car it's probably an admin. And the random selection is anti-monkey business. The only way a person would be able to try to find out is trying to disconnect.
Event 3 :Player A's name over car will change to DISCO : AUTOPILOT.
A level of AI determined on the player's laptimes will take the vehicle over. Reasoning :This is so no advantage can be gained by a slow driver discoing to get a faster guy for a while.
Event 4 : When the AI takes over the T will be active so the car can be taken over.
Reasoning : So people know that the car can be takenover.
If the original driver rejoins : They will click the T button. They will go in to their previous driving view and they will take over the car when the following conditions are met.
Five seconds have elapsed (basically, it's a count-in).
The car is not really near to any other car (like Halo and only respawning in a sensible location).
If another driver clicks T : They will be asked for the takeover password. If correct, the AI will drive in to the pits, autopit the car and then they will TOC it from the AI.
If a customisable time limit expires : The car will go in to the pits and parks up in a garage.
Reasoning : If no-ones at home ...

This would all be optional. Recommended time limit is three to ten minutes. The suggestion is only recommended for team races or league races 40 minutes or longer.

Such a system is more realistic that the current situation with cars going up in a puff of smoke. If anyone has got any footage of a real racing car having connection problems and disappearing, could they put it on YouTube?
+1 from me i think it would be great becuase its anoying being in a good position and racing then timing out and losing your position. and if this idea got implimented you would not lose so many spots. so +1
#16 - Woz
+1, the ghost AI solves the issue of AI caused crashes and gives a simple solution to disconnects.

Disconnection Protect System
(16 posts, started )
FGED GREDG RDFGDR GSFDG