jekirl / poketrainer

The original Pokemon Go bot
Other
120 stars 58 forks source link

[rpc_api] Error - something strange happend... #447

Open infinitewarp opened 8 years ago

infinitewarp commented 8 years ago

First I've seen one of these, but now it's happening consistently with one of my accounts. Looks like a possible protocol issue or a new manifestation of soft banning?

2016-08-07 19:21:08,910 [    pgoapi] [ INFO] Player Info: [redacted], Currencies: POKECOIN: 50,STARDUST: 240469, Pokemon Caught in this run: 1
2016-08-07 19:21:08,918 [    pgoapi] [ INFO] Nearest fort distance is 26.99 meters
2016-08-07 19:21:10,023 [   rpc_api] [ INFO] Error - something strange happend...
2016-08-07 19:21:10,023 [   pokecli] [ERROR] Error in main loop list index out of range, restarting at location: [redacted]
Traceback (most recent call last):
  File "pokecli.py", line 166, in main
    api.main_loop()
  File "/Users/infinitewarp/Documents/code/poketrainer/pgoapi/pgoapi.py", line 1175, in main_loop
    self.spin_all_forts_visible()
  File "/Users/infinitewarp/Documents/code/poketrainer/pgoapi/pgoapi.py", line 672, in spin_all_forts_visible
    map(lambda x: "via:%f,%f" % (x[0]['latitude'], x[0]['longitude']), destinations[1:]))
  File "/Users/infinitewarp/Documents/code/poketrainer/pgoapi/pgoapi.py", line 575, in walk_to
    self.spin_nearest_fort()
  File "/Users/infinitewarp/Documents/code/poketrainer/pgoapi/pgoapi.py", line 603, in spin_nearest_fort
    fort_distance=nearest_fort_dis)
  File "/Users/infinitewarp/Documents/code/poketrainer/pgoapi/pgoapi.py", line 616, in fort_search_pgoapi
    player_longitude=player_postion[1]).call()
  File "/Users/infinitewarp/Documents/code/poketrainer/pgoapi/pgoapi.py", line 271, in call
    response = request.request(self.get_api_endpoint(), self._req_method_list[id(gevent.getcurrent())], player_position)
  File "/Users/infinitewarp/Documents/code/poketrainer/pgoapi/rpc_api.py", line 129, in request
    response_dict = self._parse_main_response(response, subrequests)
  File "/Users/infinitewarp/Documents/code/poketrainer/pgoapi/rpc_api.py", line 359, in _parse_main_response
    response_proto_dict = self._parse_sub_responses(response_proto, subrequests, response_proto_dict)
  File "/Users/infinitewarp/Documents/code/poketrainer/pgoapi/rpc_api.py", line 376, in _parse_sub_responses
    request_entry = subrequests_list[i]
IndexError: list index out of range
Rusbens1 commented 8 years ago

Getting this consistently as well.

infinitewarp commented 8 years ago

I wonder if Niantic has already caught on to us. šŸ˜•

rirze commented 8 years ago

It seems like other bots are having issues as well. This seems like a problem bigger in scope than this project.

rirze commented 8 years ago

On the other hand, people are reporting results with longer api rest times. Something on the order of 15 secs seems to work.

infinitewarp commented 8 years ago

FWIW, my affected account in question appears to be OK in general. After waiting a bit to "travel" to my real-world location, I logged in with the real client on my phone, and things appear to be just fine. The only item of interest was that I instantly got my latest level-up items when logged in there.

rirze commented 8 years ago

Maybe it's the level-up items that's holding up the requests? I know before, a person could just level up without accepting the level-up rewards. It may be that the client has to accept them before doing anything else?

infinitewarp commented 8 years ago

That's what I was suspecting too. It looked like I had a couple of level-ups hit that account simultaneously when I logged in. I need to let my location "travel" for a little bit again before I can try this account in the bot. Will report back with my findingsā€¦

As another point of reference, a different account I'm testing with is not affected by this problem, and I don't think it's leveled up recently (or at least not multiple times).

Infobesity commented 8 years ago

https://github.com/j-e-k/poketrainer/issues/448

Also came across this

fallenpixel commented 8 years ago

Experiencing the same here as well. I'm stuck for an hour traveling home.

infinitewarp commented 8 years ago

After acknowledging the level-ups in the real game on a real phone, disconnecting and "traveling" a bit, and logging back in with the bot, all is good for me again. Evidence points in the direction of the unacknowledged level-ups causing this problem.

Would you guys try the same and see if that solves it for you too?

Infobesity commented 8 years ago

Logged in to check that as well, haven't leveled up. Still getting the same error. Tried running it with cached forts and still got the same error. What do you guys have for step size, just curious, I'm doing 100.

fallenpixel commented 8 years ago

Was getting the same with 15 - 30 step size.

Infobesity commented 8 years ago

image

Hmm

HibikiFox commented 8 years ago

@cryzies jesus christ you realize that step size 100 is 223.694 MPH.... slow it down and bit and be smart about this

fallenpixel commented 8 years ago

Finally back "Home" I did have a level up pending.

kwkroll32 commented 8 years ago

I got the same error earlier tonight. I just let the bot cool off for about an hour and it's working again now, though I didn't mess with my level ups at all. As OP said, maybe this is the new "softban."

PS: not sure how it all comes into play, but I'm using stepsize: 6, extra wait: 5, sleep multiplier: 1

Infobesity commented 8 years ago

@HibikiFox haha as long as I'm not getting soft banned.

BoBeR182 commented 8 years ago
Traceback (most recent call last):
  File "pokecli.py", line 166, in main
    api.main_loop()
  File "/home/bober/poketrainer/pgoapi/pgoapi.py", line 1175, in main_loop
    self.spin_all_forts_visible()
  File "/home/bober/poketrainer/pgoapi/pgoapi.py", line 655, in spin_all_forts_visible
    res = self.nearby_map_objects()
  File "/home/bober/poketrainer/pgoapi/pgoapi.py", line 740, in nearby_map_objects
    cell_id=neighbors).call()
  File "/home/bober/poketrainer/pgoapi/pgoapi.py", line 271, in call
    response = request.request(self.get_api_endpoint(), self._req_method_list[id(gevent.getcurrent())], player_position)
  File "/home/bober/poketrainer/pgoapi/rpc_api.py", line 132, in request
    response_dict = self._parse_main_response(response, subrequests)
  File "/home/bober/poketrainer/pgoapi/rpc_api.py", line 362, in _parse_main_response
    response_proto_dict = self._parse_sub_responses(response_proto, subrequests, response_proto_dict)
  File "/home/bober/poketrainer/pgoapi/rpc_api.py", line 379, in _parse_sub_responses
    request_entry = subrequests_list[i]
IndexError: list index out of range

Getting this on only some of my bots, all are botting in the same location.

IllidanU commented 8 years ago

I also noticed this question. Step size:6, do not experience any level-up.

jekirl commented 8 years ago

New update apparently makes step size max out at 5 (due to the driving warning, we will get this fixed soon...)