Rocket League event regression

@jeaye @Bilekill FYI - I created a feature request for the R&D.
I asked them to implement a new API function: checkForGEPUpdate().

This way, you will be able to check on demand if there is a GEP update. If so - you can notify the user to restart Overwolf and restart the game, in order to make sure that all the events are working properly.

I remind you that anyway every OW restart and every couple of hours, the GEP is updated automatically.

Internal link to the R&D FR: xxx.com/agiles/93-44/97-1682?issue=PLAN-310

@eransharv That’s great news! To be clear, does the user need to restart the OLP app, or all of Overwolf? If the user needs to restart all of OW, it may be a good idea to have an API fn to do that. This will allow us (and every other dev) an “Update now” button which will hit the new update API to update OLP and then check for GEP updates before automatically restarting OW (assuming updates were found).

Do you agree this is the best UX?

@jeaye hi.

We rethink about it, and we decided to implement it on our infrastructure. Means,
On the next few versions, OW will automatically update the GEP every time a game is launched or when the player go back to the lobby. (not in a middle of a match of course).

So i will go ahead and mark this ticket as closed. Please let me know for any other question.
Thanks.

Can we please not close this ticket? The ticket is a symbol of the issue OLP has and that issue is not resolved. Once OW comes out with a version which auto-updates the GEP before every gaming session, we could possibly mark this resolved.

However, there is still the possibility where I started my game 4 hours ago, prior to a GEP release, and then my opponent just starts his to play me. His GEP updates, but my game is already open, so mine doesn’t. If your changes won’t address this then we absolutely need the ability to check the GEP version of both players so we can require one of them to restart the game, if needed.

Sure i can leave it open till than. I don’t have the ETA yet for this feature.

Once the feature will be implemented, your GEP will be updated every time that you get to the lobby.
So even if the game is open for hours, from time to time when the player go back to the lobby, the GEP will get his chance to be updated.

@itayG FYI

Hey guys. It’s been another month and OkLetsPlay has launched with its real money support, even without this ticket being addressed. However, that puts us at serious risk, since we can’t rely on players actually getting their events. They may have an outdated GEP. We also have no API for confirming whether or not two players have the same GEP version.

To work around this for our hard launch, we have made it so that we only require results from one player, since the other may have an outdated GEP. This doesn’t handle all cases, since both players may have an outdated GEP, in which case we’ll get no events. However, the biggest issue with it is that it’s entirely insecure, since we can’t trust the results from just one player; we need to have the results from both players so we can confirm they are consistent. This is made much worse with team-based matches, since now we’ll be looking at 6 people’s results (3v3) and we need to be sure we’re going to get all of them.

This is a serious issue and it will spell the demise of any apps relying on Overwolf for anything consequential, like our real money matches. Please address this and let me know how I can help; literally, if you want us to help you work on this code, that’s something we can discuss.

We need this feature.

Hi @jeaye,

Have you considered comparing the GEP versions of the two players?
You can do that easily using the overwolf.extensions.getManifes() API:

overwolf.extensions.getManifest("ggfmakpbllghoepnmfelddbminamnbmfelbahfdp", console.log)

This sample code will print the content of the GEP manifest that contains the GEP version.

In case the GEP version is not up to date for one player, you can notify him about it.

@jeaye after internal discussion we decided to implement a new function in our API, a function that will gives you the latest GEP version and your current local GEP version.

We will try to push it to the next iteration (143).

Thanks for your patience. We will keep you updated here.

@jeaye,
closing the issue. it was fixed with GEP release v143.0, when we implemented the gep_internal event.

For example: https://overwolf.github.io/docs/api/overwolf-games-events-rocket-league#gep_internal

@eransharv If we detect the GEP is out of date for a player, what can we do programmatically to update it?

@jeaye the auto-update mechanism will automatically fetch available updates from Overwolf servers every few hours, or once the Overwolf client is restarted. (that includes upgrades for all the available components: extensions, GEP, Client).

Let me check and get back to if calling updateExtension() also initiate GEP update.

@eransharv This is an important part of the ticket, since we need to be able to do something when we detect a player’s GEP is out of date. Something aside from tell the player to wait one hour, that is. A programmatic way of having an “Update now” button in our app which does whatever is necessary (as I mentioned above, in previous comments).

@jeaye Hey.

TL;DR:
if a GEP update is available - the player will automatically get it, usually in a short time. If it’s critical for your scenario to keep the GEP up to date - the only thing you can do to “force” the GEP update, is to relaunch the game.

When you detect that a player’s GEP is out of date, there isn’t anything you can do to force the upgrade, except to show the player a message that requests him to relaunch the GAME manually. That should trigger an auto-update of the GEP.

I’m not sure it’s necessary, for these reasons:

  • The auto-update mechanism will automatically fetch available updates (Including components like GEP) from the Overwolf servers:
    • Every few hours (3-4 hours).
    • Once the Overwolf client is restarted.
    • Once the game is restarted.
  • A lot of GEP updates include non-relevant fixes and features (not relevant to your app). So you might hassle the player for non-relevant updates.