B-Spec Grinder 2.5.2: Automate Remote Races

  • Thread starter yonis
  • 4,266 comments
  • 561,953 views
I've found that. I have a great many names on my friends list. Most of whom I don't even know personally but they're on there to facilitate joining lobbies. I'd really like to be able to prioritise those people I actually know.
Is this something that would be technically possible yonis, and if so would you consider implementing it?
 

I loaded the new version... ran one race, it attempted to start another and got this:

\My Widgets\B-Spec Grinder v0.9.5.widget
02/28/11 12:06:22.001: RAW STATUS: Ready.
02/28/11 12:07:32.450: Race has started.
02/28/11 12:32:37.597: There's nobody to race!
02/28/11 12:32:38.533: ###############Server sent bad data. Retrying. (Attempt 1)
02/28/11 12:32:39.157: ###############Server sent bad data. Retrying. (Attempt 2)
02/28/11 12:32:39.516: ###############Server sent bad data. Retrying. (Attempt 3)
02/28/11 12:32:39.516: ###############Could not successfully retrieve data! Will try reconnecting in 1 minute.
02/28/11 12:32:39.516: Resetting state. Waiting for 1 minute(s). Will reauthenticate.

I reloaded, and got the same message, reloaded again and it is now running another race.
 
Yonis,

I love the work and the improvements you have made. Thank you.

I would like to add however that this new version literally took about 5 minutes just to start the first race. Is this normal? I read that you said it would take longer to start races but this seemed slightly longer than expected.

Any input?
 
LilMcGinley
Quick Suggestion, if its not to hard to program in.

Since there is a "leave 1 driver free" option, is there a way to program it so you can create a manual override for that feature? Say I have 2 accounts and I want to run every available Bob from my other account, I can type in my other accounts name so it ignore the rule.

Hey yonis,

Any thoughts on my suggestion? Lovin this widget tho, can't wait for 90 minute races!!
 
Yonis,

I love the work and the improvements you have made. Thank you.

I would like to add however that this new version literally took about 5 minutes just to start the first race. Is this normal? I read that you said it would take longer to start races but this seemed slightly longer than expected.

Any input?

Yea Im seeing the same. 5 min for the race then5 min to start the next so looks like on avg 6 5-min races a hour.
 
Loaded 3 races then got this:

Welcome to Yahoo! Widgets 4.5.2 (build 10A50) on 02/28/11 18:49:25.882

Type '/help' for help.

Loaded Widget 'B-Spec Grinder' from C:\Documents and Settings\Owner\My Documents\My Widgets\B-Spec Grinder.widget
02/28/11 18:49:33.594: RAW STATUS: Ready.
=> /help
02/28/11 18:51:00.859: Race has started.
02/28/11 19:00:06.614: Race has started.
02/28/11 19:08:22.657: Race has started.
02/28/11 19:11:01.596: ###############Waited for 30 seconds and never received a server response. Retrying. (Attempt 1)
02/28/11 19:11:02.387: ###############Yay! The re-request worked!
02/28/11 19:13:10.751: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:10.761: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:10.811: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:10.821: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:10.881: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:10.891: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:10.942: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:10.952: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.002: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.012: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.062: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.072: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.132: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.142: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.192: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.202: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.262: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.312: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.372: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.402: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.452: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.462: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.522: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.532: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.582: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.592: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.643: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.653: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.713: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.723: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.773: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.783: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.843: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.853: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.903: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.913: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:11.963: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:11.973: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.023: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.033: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.093: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.103: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.153: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.163: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.213: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.223: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.273: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.293: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.344: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.354: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.404: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.414: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.464: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.474: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.524: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.544: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.594: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.604: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.654: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.674: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.724: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.734: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.794: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.804: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.854: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.864: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:12.914: API Bug: We were sent race info that is not ours! Trying again.
02/28/11 19:13:12.924: Resetting state. Waiting for 0.08333333333333333 minute(s). Will not reauthenticate.
02/28/11 19:13:16.439: RAW STATUS: Racing.
TypeError: result[result.length - 1] has no properties (Status.js: Line 110)
TypeError: result[result.length - 1] has no properties (Status.js: Line 110)
TypeError: result[result.length - 1] has no properties (Status.js: Line 110)
TypeError: result[result.length - 1] has no properties (Status.js: Line 110)
TypeError: result[result.length - 1] has no properties (Status.js: Line 110)
TypeError: result[result.length - 1] has no properties (Status.js: Line 110)
TypeError: result[result.length - 1] has no properties (Status.js: Line 110)
02/28/11 19:16:38.039: Race has started.
 
I'd estimate that there are ≈200-300 users. It doesn't sound like a lot, but when each is hitting the server every 10 seconds or less, that adds up to a lot of traffic.

EDIT: On that note, I'm reducing the status refresh interval from the website's 10 seconds to 20 seconds.

Hey Yonis,

In an effort to reduce the hits out to the server could the refresh time be dependent on the race length preference or even better the race picked by the widget? That way random length settings wouldn't have to default to the longest refresh time.?

Short - 5 minute refresh after race start.
Medium - 10 minute refresh after race start.
Long - 20 minute refresh after race start.
 
I recently had bad server data being previously sent a few minutes ago, before getting a maintainance message.
 
Having issues all over.

Widget doesn't even want to start one race. Have had to reload multiple times. Getting stuck on Selecting Drivers.

Just got this error on fresh reload. Didn't even get a race off.

Widgets\B-Spec Grinder.widget
02/28/11 14:26:31.316: RAW STATUS: Ready.
JSON.parse (JSON.js: Line 28)
 
Last edited:
What I'm seeing is that drivers are not being freed quick enough after completing a race. It took about 5-8 minutes of retrying before being able to start races with the same drivers again.
 
Downloaded the new version and its working fine now some error code at first just need to reset it and keep trying untill it works then its smooth sailing to lvl 40 lol

thank so muchhhhh!!
 
What I'm seeing is that drivers are not being freed quick enough after completing a race. It took about 5-8 minutes of retrying before being able to start races with the same drivers again.

Me too

Also getting this during a race:

02/28/11 19:16:38.039: Race has started.
02/28/11 19:25:38.957: Race has started.
02/28/11 19:26:30.041: ###############Server sent bad data. Retrying. (Attempt 1)
02/28/11 19:26:32.354: ###############Yay! The re-request worked!
02/28/11 19:37:08.519: Race has started.
02/28/11 19:41:18.608: ###############Server sent bad data. Retrying. (Attempt 1)
02/28/11 19:41:20.791: ###############Yay! The re-request worked!

But it is now selecting short events all the time:tup:
 
I loaded the new version... ran one race, it attempted to start another and got this:

\My Widgets\B-Spec Grinder v0.9.5.widget
02/28/11 12:06:22.001: RAW STATUS: Ready.
02/28/11 12:07:32.450: Race has started.
02/28/11 12:32:37.597: There's nobody to race!
02/28/11 12:32:38.533: ###############Server sent bad data. Retrying. (Attempt 1)
02/28/11 12:32:39.157: ###############Server sent bad data. Retrying. (Attempt 2)
02/28/11 12:32:39.516: ###############Server sent bad data. Retrying. (Attempt 3)
02/28/11 12:32:39.516: ###############Could not successfully retrieve data! Will try reconnecting in 1 minute.
02/28/11 12:32:39.516: Resetting state. Waiting for 1 minute(s). Will reauthenticate.

I reloaded, and got the same message, reloaded again and it is now running another race.
Try to leave it running instead of reloading, if you can. I'm trying to make sure that when the server is misbehaving, the Widget can bounce back. The idea is that you shouldn't need the debug window.
Yonis,

I love the work and the improvements you have made. Thank you.

I would like to add however that this new version literally took about 5 minutes just to start the first race. Is this normal? I read that you said it would take longer to start races but this seemed slightly longer than expected.

Any input?
Yes. Instead of running the requests in parallel, I'm running them in sequence for the time being. This should be more reliable, however it will be slightly slower to begin races.

I'm going to put a request queue into a later version which will run the requests in parallel and be solidly reliable.
Hey yonis,

Any thoughts on my suggestion? Lovin this widget tho, can't wait for 90 minute races!!
This is quite frequently suggested and will be added once the Widget is successfully bouncing back from server problems.
Hey Yonis,

In an effort to reduce the hits out to the server could the refresh time be dependent on the race length preference or even better the race picked by the widget? That way random length settings wouldn't have to default to the longest refresh time.?

Short - 5 minute refresh after race start.
Medium - 10 minute refresh after race start.
Long - 20 minute refresh after race start.
I could do this, however the race positions at the bottom would not update. Or, I could take a hybrid approach where I estimate the progress of a race, and then adjust every minute or two (at which point I could update positions then). ...I might do that.
Having issues all over.

Widget doesn't even want to start one race. Have had to reload multiple times.

Just got this error on fresh reload. Didn't even get a race off.

Widgets\B-Spec Grinder.widget
02/28/11 14:26:31.316: RAW STATUS: Ready.
JSON.parse (JSON.js: Line 28)
Did you happen to see what the status on the Widget said before the debug window spat that out?
 
Did you happen to see what the status on the Widget said before the debug window spat that out?

Yes, it was Loading Drivers and I have been stuck there and in the selecting drivers multiple times since as well. Not necessarily with this error message however.
 
Great app. Loving it!!!!!!!!

Sir you are a legend, pd need programers like you.
 
Great app. Loving it!!!!!!!!

Sir you are a legend, pd need programers like you.

Yonis, I've been running this for the past 3 hours and I agree, we need to contact PD and let them know how your version is better than theirs.👍👍👍👍
 
I think my widget, v 0.9.4, ran all morning without a hiccup until I logged into the PSN through a browser to check up on it. That's good, best performance for me so far. Loving the widget.

Set up a PayPal account so that appreciative people can toss you a few bucks.

Sancho
 
loggin in
loading profile
loading race events
selecting drivers
loading drivers
starting race....and then got this message (mult. times)

/28/11 13:43:26.649: ###############Server sent bad data. Retrying. (Attempt 1)
02/28/11 13:43:27.374: ###############Server sent bad data. Retrying. (Attempt 2)
02/28/11 13:43:29.009: ###############Server sent bad data. Retrying. (Attempt 3)
02/28/11 13:43:29.009: ###############Could not successfully retrieve data! Will try reconnecting in 1 minute.
02/28/11 13:43:29.014: Resetting state. Waiting for 1 minute(s). Will reauthenticate
 
Back