"The Go Battle League Exploit"
#PokemonGO: This is speculation. But I want to put it out there to help ease the minds of legitimate players that they likely aren't accidentally doing a glitch of sorts.First and foremost, I want to say that this exploit should work with any Pokemon. It's just you get the most bang for your buck with Pokemon that don't take long to use their next charge move.I saw it suggested in TSR comments at some point that this exploit would depend on multiple devices. And that makes sense to me.Niantic, being the great programmers they are, would foresee no reason to have "redundant networking". Communication would be practically one-way. Player A's client only sends Player A's actions. Player B's client only sends Player B's actions. That makes sense, you wouldn't really expect A to send what B does, would you? But the consequence is Player A's client only receives Player B's actions, and Player B's client only receives Player A's actions. Plus, server is receiving all information.What happens if you introduce a third client? The code isn't there for Player A's first client (A1) to send information to Player A's second client (A2).The exploit? Use two devices in battle. When you use a charge move on A1, A2 never sees that, and is allowed to continue using fast attacks. These fast attacks do accumulate. Then when A2 has enough energy, the server agrees that it does, and now A2 uses a charge move. A1 works on restoring its own energy again.How is it possible to get into this situation so easily? If you tried to simultaneously join GBL matchmaking, you'd probably get an error, or "worse", get into 2 separate battles concurrently. But Niantic has a trick up their sleeve. If your game crashes or you otherwise aren't in the battle while a battle is ongoing according to the server, clicking into the battle menu will bring you right into the match. So, you wait until A1's match has started before A2 opens the battle menu and is dragged into the same match.Thank you TSR for allowing publication of this speculation. Niantic understands the severe consequences and shut down GBL, and will only resume GBL when they are confident they've fixed this. Similar to the airplane exploit, which while many people learned how to do it, they could not exploit it for too long.Unfortunately, this is going to take some serious rewriting of the code, addressing prior assumptions. The easiest way through may be to make sure the server disregards fast energy generation/damage any time a charge attack is in process, which might be insufficient. A feedback loop on the clients could be necessary, so that the actions of A1 are sent to the server and sent back to A1 and A2 to keep them synchronized. Trouble there is that you could hypothetically get double the energy generation/fast damage dealt, so strict time/turn keeping would need to be done to get rid of "duplicates". But we all know how Niantic loves to address duplication, when multi-TM uses is a thing. via /r/TheSilphRoad https://ift.tt/3dYLALf
"The Go Battle League Exploit"
Reviewed by The Pokémonger
on
07:05
Rating:
No comments