I'm going to go into a bit of a lengthy story about motivation for this and why it should be done. For everyone wanting to skip the "personal" intro there willl be a bold caps lock text saying IDEA STARTS HERE a bit further down.
So, many of you probably don't follow Masters of Endurance nor really care but this is the story: most of racing games out there didn't have a proper support for endurance driving with takeovers (LFS being one of the first to offer the ability for a driver to take over). But even games who have the option of driver changes didn't really have the infrastructure to track overall progress when someone times out/disconnects etc. A few years ago WolleT (Tom) and Frankmd fixed this problem somewhat by inventing the MoE tracker which could deal with such issues as timeouts and it's worked well.
If it has worked well, why update it? This is my issue: my team has lost this season of MoE purely on bad luck concerning timeouts/hardware crashes etc. This wouldn't bother me so much, as it hasn't in the past when it would happen to other teams, if we hadn't taken every possible precaution to avoid such problems. In the past there were teams with unlucky drivers suffering from bad internet connections (such as F1RST racing with Chriskart - he is a great driver but they knowingly sent him into races knowing he would probably time out, imho a no-no). There's more examples of racers that suffered from bad electrical networks and computers going into BSOD days before the race that didn't do anything to avoid such problems in the race.
However, we take a different approach. When I had my first timeout that actually cost us the race (12 h race a few years ago) I would yell at my sucky ISP literally for a month, every other day to fix it. At first they said everything was normal, then they said some work was being done and the connection would remain unstable, then they didn't want to change MTU size on my locked modem, then I did it in Windows and it was better again, then all was supposedly fixed and worked ok for a few months and then it all went to hell again. During this first time it all went to hell I rewired my whole house (new UTP cat6 cable for both phone and modem leading all the way from my roof connection), changed 2 modems, changed 2 splitters and as a precaution before every stint I would restart both my modem and my PC. After it all went to hell again and they wouldn't fix it (mind you, as far as they're concerned my internet was working only I didn't have scheduled 24 h ip changes.. the connection would freeze/timeout at random intervals but it would reconnect almost right away.. so they didn't consider it a problem), I wen't so far as to pull ~20 meters of new cable from a neighbor who had another ISP and used his connection only for race days. This was the solution to the issue and I didn't have 1 timeout this season, however, my team mates weren't so lucky.
Another example of taking racing seriously: my GPU has been dying for nearly a year now, it starts having artifacts and losing picture. I've tracked this problem to microfractures in the soldering on the back of the card and I've found that people had been fixing this problem by baking the card for around 10 min @ 200°C in the oven. I did so and it fixed it, but it could die again at any moment after a month+ had passed. So, before every race I swapped my neighbor's new GPU for mine only for that day so I could be sure it wouldn't die during the race. Happily, I had no issues this season with any of the hardware or connections.
Other precautions we tried were leaving LFS online at the server for 24 h at a time several days before race day to see if there was any sort of a pattern to timeouts, regular reboots of both modem and PC before stints etc. Basically, we were not one of the teams that took timeouts for granted and said "if it happens it happens".. that's why when we still got ****ed by timeouts and other issues I decided that something has got to change.
IDEA STARTS HERE:
I contacted WolleT and we discussed possible ways of fixing these timeouts so that they don't cost people race victories or whole laps. Currently, if you time out in the last sector of the lap.. you've lost all that time, basically 1 whole lap if you're near the S/F line. We had that situation at 24 h race on Aston GP, our driver timed out literally 1.5 seconds before crossing the S/F line after a pitstop. So not only did we lose a whole lap, it was a 3+ minute pitlap. The first idea me and Tom had was to just add time that was already done in the lap by a timeouter, for example if you timed out 45 seconds into the lap - tracker would take those 45 seconds and give it back to you, so your timeout only cost you whatever time it took for your backup driver to connect and take a new car. This was ok for a first idea as timecodes would match up at the end of the race, but track positions wouldn't.
The solution was to automatically add a whole lap to the driver who timed out and when he (or backup) reconnected, they would take a new car and the pitlane would be closed for them until the time difference of [avg. lap time - amount of seconds they did in the lap when they timed out] ran out. So, just to put things into numbers: say a lap is 1:40 (100) seconds and the driver times out 25 seconds into the lap, that lap would be given to him in the tracker lapcount and after he had reconnected and taken a new car he would wait 75 seconds (100-25) in the pitlane. The tracker would have to do this automatically by checking if there is a disconnect flag (not regular disconnects, only timeouts and lost connection - but those 2 are one and the same flag in the MySql db of the tracker), taking the timestamp when it happened and subtracting the timestamp of when previous lap was finished, after that it would add a lap and make the driver wait in the pitlane for the amount of time that is [laptime - seconds done]. This method worked perfectly fine on paper and I've applied it to several timeout/disconnect situations that happened to several teams this season. Only problem comes up when someone times out on or around their pitlap as they could gain 40-50 seconds (however many seconds a pit + drive through pitlane took), so the tracker would have to have an input possibility for race admins to hold the driver an extra number of seconds.
I've told this idea to MoE admins and was met with the usual "if you make it work, we'll use it". Then I told it to boothy (who currently takes care of the tracker and updates it) and he said that he has no clue how he'd do/approach this because it would mean some features that he simply hasn't got the skills for. From my understanding, the tracker has a forehand and a backhand, first of which communicates with the web interface and updates the positions of cars etc, and the latter gathers information from LFS server. The new update would have to feature a two way communication with the LFS server (and this is where boothy is stuck), meaning something like Airio (I've already bothered EQ Worry with this, but he has no experience with PHP so he pointed me to Dygear ) it'd have to display a "red light" or HOLD message with some sort of countdown to a specific team number or S2 license and not to anyone else. Also the admin panel of the tracker would have to be updated with the possibility of manually adding a number of seconds to cover pitstops/penalties/etc.
I see this working in 2 ways, or at least being tested in 2 configurations:
1. Settings so that timeout costs you ~nothing, meaning the wait time would start from the moment someone took a new car on track (so it'd cover for the timeout and time it took for a new driver to reconnect). Only cost would be how much slower the outlap is compared to a race lap (3-5 seconds). Even this could be taken into account and HOLD time could be decreased by those few seconds.
2. Settings so that timeout costs you whatever it took for a backup to reconnect which can be anything from 10-15 seconds (plus the 3-5 sec from 1. case) up to minutes if you're a disorganized idiot.
This could be a personal preference of the league or admin, if they wanted timeouts to have nearly no effect on the race they could choose the first configuration. If they still wanted to motivate people to try and make sure they don't time out they could opt for the second configuration. Also, if we're talking about a shorter race of say 2-4 hours then even 20 seconds could mean the difference and that could be one of the situations where to use the first config, but if we are talking about a 8-12-24 h race then it's reasonable to assume that a timeout costing you 20 seconds is still better than one costing 2-3 minutes.
Even if you don't do endurance racing, you have to understand the frustration that comes with begin hands down the fastest team on the track only to be beaten by people who walk into victories after you time out. Especially since a season is nearly 6 months of one's life and it's not just a few days before the race for preparation if you're going to take it seriously. So, let's please fix this so that people stop lucking into championship titles.
So, many of you probably don't follow Masters of Endurance nor really care but this is the story: most of racing games out there didn't have a proper support for endurance driving with takeovers (LFS being one of the first to offer the ability for a driver to take over). But even games who have the option of driver changes didn't really have the infrastructure to track overall progress when someone times out/disconnects etc. A few years ago WolleT (Tom) and Frankmd fixed this problem somewhat by inventing the MoE tracker which could deal with such issues as timeouts and it's worked well.
If it has worked well, why update it? This is my issue: my team has lost this season of MoE purely on bad luck concerning timeouts/hardware crashes etc. This wouldn't bother me so much, as it hasn't in the past when it would happen to other teams, if we hadn't taken every possible precaution to avoid such problems. In the past there were teams with unlucky drivers suffering from bad internet connections (such as F1RST racing with Chriskart - he is a great driver but they knowingly sent him into races knowing he would probably time out, imho a no-no). There's more examples of racers that suffered from bad electrical networks and computers going into BSOD days before the race that didn't do anything to avoid such problems in the race.
However, we take a different approach. When I had my first timeout that actually cost us the race (12 h race a few years ago) I would yell at my sucky ISP literally for a month, every other day to fix it. At first they said everything was normal, then they said some work was being done and the connection would remain unstable, then they didn't want to change MTU size on my locked modem, then I did it in Windows and it was better again, then all was supposedly fixed and worked ok for a few months and then it all went to hell again. During this first time it all went to hell I rewired my whole house (new UTP cat6 cable for both phone and modem leading all the way from my roof connection), changed 2 modems, changed 2 splitters and as a precaution before every stint I would restart both my modem and my PC. After it all went to hell again and they wouldn't fix it (mind you, as far as they're concerned my internet was working only I didn't have scheduled 24 h ip changes.. the connection would freeze/timeout at random intervals but it would reconnect almost right away.. so they didn't consider it a problem), I wen't so far as to pull ~20 meters of new cable from a neighbor who had another ISP and used his connection only for race days. This was the solution to the issue and I didn't have 1 timeout this season, however, my team mates weren't so lucky.
Another example of taking racing seriously: my GPU has been dying for nearly a year now, it starts having artifacts and losing picture. I've tracked this problem to microfractures in the soldering on the back of the card and I've found that people had been fixing this problem by baking the card for around 10 min @ 200°C in the oven. I did so and it fixed it, but it could die again at any moment after a month+ had passed. So, before every race I swapped my neighbor's new GPU for mine only for that day so I could be sure it wouldn't die during the race. Happily, I had no issues this season with any of the hardware or connections.
Other precautions we tried were leaving LFS online at the server for 24 h at a time several days before race day to see if there was any sort of a pattern to timeouts, regular reboots of both modem and PC before stints etc. Basically, we were not one of the teams that took timeouts for granted and said "if it happens it happens".. that's why when we still got ****ed by timeouts and other issues I decided that something has got to change.
IDEA STARTS HERE:
I contacted WolleT and we discussed possible ways of fixing these timeouts so that they don't cost people race victories or whole laps. Currently, if you time out in the last sector of the lap.. you've lost all that time, basically 1 whole lap if you're near the S/F line. We had that situation at 24 h race on Aston GP, our driver timed out literally 1.5 seconds before crossing the S/F line after a pitstop. So not only did we lose a whole lap, it was a 3+ minute pitlap. The first idea me and Tom had was to just add time that was already done in the lap by a timeouter, for example if you timed out 45 seconds into the lap - tracker would take those 45 seconds and give it back to you, so your timeout only cost you whatever time it took for your backup driver to connect and take a new car. This was ok for a first idea as timecodes would match up at the end of the race, but track positions wouldn't.
The solution was to automatically add a whole lap to the driver who timed out and when he (or backup) reconnected, they would take a new car and the pitlane would be closed for them until the time difference of [avg. lap time - amount of seconds they did in the lap when they timed out] ran out. So, just to put things into numbers: say a lap is 1:40 (100) seconds and the driver times out 25 seconds into the lap, that lap would be given to him in the tracker lapcount and after he had reconnected and taken a new car he would wait 75 seconds (100-25) in the pitlane. The tracker would have to do this automatically by checking if there is a disconnect flag (not regular disconnects, only timeouts and lost connection - but those 2 are one and the same flag in the MySql db of the tracker), taking the timestamp when it happened and subtracting the timestamp of when previous lap was finished, after that it would add a lap and make the driver wait in the pitlane for the amount of time that is [laptime - seconds done]. This method worked perfectly fine on paper and I've applied it to several timeout/disconnect situations that happened to several teams this season. Only problem comes up when someone times out on or around their pitlap as they could gain 40-50 seconds (however many seconds a pit + drive through pitlane took), so the tracker would have to have an input possibility for race admins to hold the driver an extra number of seconds.
I've told this idea to MoE admins and was met with the usual "if you make it work, we'll use it". Then I told it to boothy (who currently takes care of the tracker and updates it) and he said that he has no clue how he'd do/approach this because it would mean some features that he simply hasn't got the skills for. From my understanding, the tracker has a forehand and a backhand, first of which communicates with the web interface and updates the positions of cars etc, and the latter gathers information from LFS server. The new update would have to feature a two way communication with the LFS server (and this is where boothy is stuck), meaning something like Airio (I've already bothered EQ Worry with this, but he has no experience with PHP so he pointed me to Dygear ) it'd have to display a "red light" or HOLD message with some sort of countdown to a specific team number or S2 license and not to anyone else. Also the admin panel of the tracker would have to be updated with the possibility of manually adding a number of seconds to cover pitstops/penalties/etc.
I see this working in 2 ways, or at least being tested in 2 configurations:
1. Settings so that timeout costs you ~nothing, meaning the wait time would start from the moment someone took a new car on track (so it'd cover for the timeout and time it took for a new driver to reconnect). Only cost would be how much slower the outlap is compared to a race lap (3-5 seconds). Even this could be taken into account and HOLD time could be decreased by those few seconds.
2. Settings so that timeout costs you whatever it took for a backup to reconnect which can be anything from 10-15 seconds (plus the 3-5 sec from 1. case) up to minutes if you're a disorganized idiot.
This could be a personal preference of the league or admin, if they wanted timeouts to have nearly no effect on the race they could choose the first configuration. If they still wanted to motivate people to try and make sure they don't time out they could opt for the second configuration. Also, if we're talking about a shorter race of say 2-4 hours then even 20 seconds could mean the difference and that could be one of the situations where to use the first config, but if we are talking about a 8-12-24 h race then it's reasonable to assume that a timeout costing you 20 seconds is still better than one costing 2-3 minutes.
Even if you don't do endurance racing, you have to understand the frustration that comes with begin hands down the fastest team on the track only to be beaten by people who walk into victories after you time out. Especially since a season is nearly 6 months of one's life and it's not just a few days before the race for preparation if you're going to take it seriously. So, let's please fix this so that people stop lucking into championship titles.