PokemonGoF / PokemonGo-Bot

The Pokemon Go Bot, baking with community.
MIT License
3.87k stars 1.54k forks source link

Perm Ban Test Results #4114

Closed talobear closed 8 years ago

talobear commented 8 years ago

Greetings,

Was a casualty of the first wave of perma-bans. Most of the bot activity was limited to activity in and around the neighborhood where I live and work.

After the ban I created a test account via PTC. I wanted to understand what would trigger a ban. I decided that until I reached level 20 I would keep no Pokemon nor visit a Gym. I would basically walk, spin and transfer whatever I encountered. The longest session would be no more than 1 hour long. I would keep the activity to two locations; home and work. No teleports, just the two locations I happened to be physically. The goal was to keep a low profile and emulate player behaviors.

The new account was setup on 8/12. Over the next four days the bot would run in roughly hour long blocks, 2-4 times a day. Typically in the AM, then lunch, then dinner. Two of the days I did a late night session around midnight. Never encountered any bans with this approach. The last session I ran was during lunch today. I was level 17 at this point. However, this session I forgot to kill it after an hours. It ended up running for about 2 hours. Since Im in a city with dense pokestops and pokemon a ton were encountered.

I went to run the next test. Launched it again and got the "failed to get game data" message. The bot reported "Probably permabanned, Game Over ! Play again at https://club.pokemon.com/us/pokemon-trainer-club/sign-up/"

Used a non-test account and was able to login without issue. This told me it was not a server issue.

There was clearly something that triggered this ban.

Can it be that I reached level 17 too quickly? Could be that the frequency of play was too often? 4-5 hours a day? I was not teleporting and had no inventory of high level pokemon. Could it be the rate at which they were turned in for candy?

Including my config for reference. Going to try another test account and adjust the rate of play. Any other suggestions I'm happy to test out.

{
    "auth_service": "",
    "username": "",
    "password": "",
    "location": "",
    "gmapkey": "",
      "tasks": [
        {
          "type": "HandleSoftBan"
        },
        {
          "type": "SleepSchedule",
          "config": {
            "enabled": true,
            "time": "22:54",
            "duration":"7:46",
            "time_random_offset": "00:24",
            "duration_random_offset": "00:43"
          }
        },
        {
          "type": "CollectLevelUpReward"
        },
        {
          "type": "IncubateEggs",
          "config": {
            "longer_eggs_first": true
          }
        },
        {
          "type": "UpdateLiveStats",
          "config": {
            "enabled": true,
            "min_interval": 10,
            "stats": ["uptime", "stardust_earned", "xp_earned", "xp_per_hour", "stops_visited"],
            "terminal_log": true,
            "terminal_title": true
          }
        },
        {
          "type": "TransferPokemon"
        },
        {
          "type": "NicknamePokemon",
          "config": {
            "enabled": true,
            "nickname_template": "{iv_pct}_{iv_ads}"
          }
        },
        {
          "type": "EvolvePokemon",
          "config": {
              "evolve_all": "none",
              "first_evolve_by": "cp",
              "evolve_above_cp": 500,
              "evolve_above_iv": 0.8,
              "logic": "or",
              "evolve_speed": 20,
              "use_lucky_egg": false
          }
        },
        {
          "type": "RecycleItems",
          "config": {
            "min_empty_space": 15,
            "item_filter": {
              "Pokeball":       { "keep" : 25 },
          "Greatball":      { "keep" : 125 },
              "Potion":         { "keep" : 10 },
              "Super Potion":   { "keep" : 20 },
              "Hyper Potion":   { "keep" : 30 },
              "Revive":         { "keep" : 15 },
              "Razz Berry":     { "keep" : 45 }
            }
          }
        },
        {
          "type": "CatchVisiblePokemon"
        },
        {
          "type": "CatchLuredPokemon"
        },
        {
          "type": "SpinFort"
        },
        {
          "type": "MoveToFort",
          "config": {
              "lure_attraction": true,
              "lure_max_distance": 2000
          }
        },
        {
          "type": "FollowSpiral",
          "config": {
            "diameter": 4,
            "step_size": 70
          }
        }
      ],
      "map_object_cache_time": 5,
      "forts": {
        "avoid_circles": true,
        "max_circle_size": 50,
        "cache_recent_forts": true
      },
      "websocket_server": false,
      "walk": 4.16,
      "action_wait_min": 1,
      "action_wait_max": 4,
      "debug": false,
      "test": false,
      "health_record": true,
      "location_cache": false,
      "distance_unit": "km",
      "reconnecting_timeout": 15,
      "catch_randomize_reticle_factor": 0.5,
      "catch_randomize_spin_factor": 0.5,
      "min_ultraball_to_keep": 10,
      "logging_color": true,
      "catch": {
        "any": {"catch_above_cp": 0, "catch_above_iv": 0, "logic": "or"},
        "// Example of always catching Rattata:": {},
        "// Rattata": { "always_catch" : true }
      },
      "catch_throw_parameters": {
        "excellent_rate": 0.1,
        "great_rate": 0.5,
        "nice_rate": 0.3,
        "normal_rate": 0.1,
        "spin_success_rate" : 0.5
      },
      "release": {
        "any": {"release_below_cp": 1000, "release_below_iv": 0.9, "logic": "and"},
        "// Example of always releasing Rattata:": {},
        "// any": {"always_release": true},
        "// Example of keeping 3 stronger (based on CP) Pidgey:": {},
        "// Pidgey": {"keep_best_cp": 3},
        "// Example of keeping 2 stronger (based on IV) Zubat:": {},
        "// Zubat": {"keep_best_iv": 2},
        "// Also, it is working with any": {},
        "// any": {"keep_best_iv": 3},
        "// Example of keeping the 2 strongest (based on CP) and 3 best (based on IV) Zubat:": {},
        "// Zubat": {"keep_best_cp": 2, "keep_best_iv": 3}
      },
      "vips" : {
           "Any pokemon put here directly force to use Berry & Best Ball to capture, to secure the capture rate!": {},
          "any": {"catch_above_cp": 1200, "catch_above_iv": 0.9, "logic": "or" },
          "Lapras": {},
          "Moltres": {},
          "Zapdos": {},
          "Articuno": {},

          "// S-Tier pokemons (if pokemon can be evolved into tier, list the representative)": {},
          "Mewtwo": {},
          "Dragonite": {},
          "Snorlax": {},
          "// Mew evolves to Mewtwo": {},
          "Mew": {},
          "Arcanine": {},
          "Vaporeon": {},
          "Gyarados": {},
          "Exeggutor": {},
          "Muk": {},
          "Weezing": {},
          "Flareon": {}

      }
  }
eloivalles commented 8 years ago

I have to questions here as testcases: 1- has anyone being banned before between lv15 and 20? 2- has anyone being banned after buying something in the store?

TabDambrine commented 8 years ago

@eloivalles

I can speak about your second point : I bought some coins with real money, spent it into incences and incubators and i got permabanned (my lvl was 24).

Edit : of course the ban was acceptable, this account botted several hours per day.

avexus commented 8 years ago

It's must the bot that sends out signal that says "I am a bot." It's not how you configure your behavior. If that is true, then doesn't matter what level you are on.

ebbrey commented 8 years ago

@eloivalles

  1. Banned at lvl 16 for raeeching it within 3 hours.
  2. Played legit until 20 something. 150$ in incubators and Lucky eggs. Botted a week or so after. Banned.

    stillworthmorethanmost100$(preorder)games

duttonw commented 8 years ago

I'm looking into building the badge system, but python is not my main language (java/php is) so its taking time to understand how it all hangs together, the api call on login is also another feature request which needs addressing. as well as the download assets. it would not surprise me if they have all logs being joined together and anything that is not the norm is being flagged for later perm ban etc. (e.g. once you use your phone and all badges are collected at once will of course show up in the logs).

from my normal play through once a pokemon shows up nearby, it takes at least 2-3 seconds before you can throw a pokeball, then it takes at least 3-20 seconds (20ish if its a new pokedex pokemon) to allow you to transfer or select another pokemon to capture. I don't know where the asset downloads would be occuring, e.g. when you have a new pokemon nearby or when you select it to capture.

I'll continue working out how the python system works and try and cobble together a pull request for the equip badge sub system. ( it seem it gets called after every pokemon capture, 1-5 seconds after capture (when you cancel out of the success screen) and displays the badge you earned, e.g. you captured 10 water pokemon etc). it might be very easy for them to tell if its a bot if the distance walked badges are not being collected as well as rattata and a couple of others which is in the internal player data.

supergithubo commented 8 years ago

Check the last bullet from Android 0.35.0 release

  • Implemented Pokémon Appraisal: Trainers will now be able to learn about a Pokémon’s attack and defense capabilities from their Team Leader (Candela, Blanche or Spark) to determine which of their Pokémon have the most potential for battle.
  • We are still working hard on several new and exciting features to come in the future of Pokémon GO.
  • Minor bot fixes

Badass Niantic

ebbrey commented 8 years ago

Ran 3 accounts last night for a few hours. With 3 scanners. Very aggressive settings. Kept getting IP softbanned. All 3 accounts are back up and running today. Tried with the workers too. But keep getting IP banned within seconds when i run more than 4 accounts. Changing ip works fine. Running the bots again now minutes after last ip softban. They are up to 6 hours soon. All hitting 20. Heres hoping having alot of accounts and they forget to ban one haha.

Also running an account on a different computer and vpn, with a single worker for map. Limited to a very small area to keep the KM down. It's up to lvl 26 now. Botted for about 2 weeks.

avexus commented 8 years ago

@thereyrey I doubt they will 'forget', I think it's also run by a bot to ban. @duttonw there are also bots written purely in Java.

ntanto commented 8 years ago

@duttonw its great idea put it on pull request and maybe join slack to colaborate with other developer

duttonw commented 8 years ago

@avexus my work has some python development but have not looked at that side, this project is more interesting than ckan to learn it @ntanto i'll go update the equip badge issue with what i placed into this thread. I'll look into slack today

supergithubo commented 8 years ago

Android and iOS app update has been released and yet many botters still playing without having the update of the api. Niantic change UK6 and implemented captcha. I paused all my bots because a ban wave is coming.

Enviouse commented 8 years ago

@supergithubo you are correct my main was banned about a week n a bit ago so I started botting new I kept it very close to my location n let it do its job slow n steady at walk speed n not many poke stops safe to say I seen a update coming so I stopped botting I got botting to lv 24 befor update took a week still not banned not botting any more botting on old api will get u banned nitanics next move

avexus commented 8 years ago

For now, i'll just snipe and not bot. It's a lot of work, like cat & mouse. Everytime they update, we have to update too. I cannot use bot now, so I just open the app on my phone, and doing nothing. I still get a lot of "You are moving too fast." message. So, I guess GPS signal/wifi locations are not accurate too. This gives me some hope that the bot could work.

jomarocas commented 8 years ago

Hi, They are not occurred, that Niantic see all open source project to detect the player that use the bot? If i programmer and i see my app use bots, how can i detect what bots are doing? i go to google and find pokemon bots, and i see this repo first, is obviously, i consider this repo need to be private, Niantic see all comments that are you write here, while you think how evade the restrictions, Niantic makes and update to anticipate of comments that you make here, first create and account in bitbucket and add people that make something private.

Rizbe commented 8 years ago

@jomarocas by that logic no one should use open source software, because everyone knows how it works, so it can be easily hacked right? Because the developers can see what the bot community is doing, they can't always implement a fix right away because it could impact another part of the game. By the time they implement a fix, the community is already doing something else. If Niantic can keep up with the development speed of the botting community, sure they will ban all bot accounts but they can't. Unless your a huge company with an army of developers, it's almost impossible to do so. If they do find a way to ban the bots based of work here, it has to go through a dick ton of testing before it can be pushed out and by then, it's pointless because I am sure people would have found a better way.

Rizbe commented 8 years ago

Private repo is how you kill an open source project because you have to vet who has access and this causes you to lose a ton of support from the open source community. Because this is open, anyone can jump in and fix something if its broken or make a new feature when they want, that's the beauty of opensource, contribute when and what you want regardless of who you are.

fengxia41103 commented 8 years ago

Same ban story here.

After reading these threads, I feel it will be helpful compile these reports into something (matrix) that we could sit down and look at the pattern together see if we could spot something.

If you think this is a track to take, I'll start the list first and put it somewhere so we could all fill in:

  1. lvl banned
  2. played time
  3. banned date
  4. banned weekday
  5. have teleported
  6. has been softbanned?
  7. avg bot hour per run? per day?
  8. ....

what do you guys think?

venkrishr commented 8 years ago

What's the maximum level anyone has got to before getting banned?

The following are my stats: banned yet? - NO lvl banned? - NA currently 23 played time? - 4 days banned date - NA banned weekday - NA have teleported - NO has been softbanned - NO avg bot hour per run? per day? - 5 to 6 hours walking speed - 1 or 2 miles per hr Pokemon Caught: 1634 PokeStops Visited: 2712 Kilometers Walked: 115.91

supergithubo commented 8 years ago

One of our problems here is we fail to test on every official app update if the api still sending similar requests and parameters. It's easy for them to filter out request coming from a bot and from the official app. We don't know the changes. Like the latest update, UK6 signature has changed and many botters did not stop and wait for the api update (we are not even sure if pogo api is maintained on each app update). Even if we find patterns and no matter how we keep the bot behave as human-like as possible if the problem is the outdated api, then once we use the bot we already flagged and subject for the next batch of mass ban wave.

supergithubo commented 8 years ago

Here's the latest Android permission asked by the app (Pokemon Go 0.3.5) taken from this reddit. We're using iOS but I think it would worth a read.

147218411249228

venkrishr commented 8 years ago

@supergithubo but what about people who haven't updated the app? isn't that a possibility for someone to make requests with the old api?

avexus commented 8 years ago

i don't know if this is a mandatory update. i checked my phone, and it's the latest version. i'm using android phone.

duttonw commented 8 years ago

My iPhone has not asked to be updated so they are not forcing everyone onto it yet. Maybe if they notice you abusing it they may prompt to upgrade to unlock recaptcha On Fri, 26 Aug 2016 at 4:22 PM, avexus notifications@github.com wrote:

i don't know if this is a mandatory update. i checked my phone, and it's the latest version.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PokemonGoF/PokemonGo-Bot/issues/4114#issuecomment-242640200, or mute the thread https://github.com/notifications/unsubscribe-auth/AB7XcDhDWPSmDR6TtNJUXxQjM_xIJJFbks5qjoYcgaJpZM4Jl3bY .

venkrishr commented 8 years ago

@avexus u must have auto update on Play Store turned on :) @duttonw so it odes mean that there can be a legit old api request right?

supergithubo commented 8 years ago

@krishven oh see we're still lucky the update is not mandatory. But if they add something to filter us out, it's now easier for them to filter bot users from users with outdated app since majority of legit users will choose to update for the new features. Let's hope someone maintain the api just in case they force all users to update :)

Alino commented 8 years ago

Maybe they are also checking IP. By IP you can somehow guess the ISP. And if it is not common for your ISP to provide mobile data. That might be another factor to flag an account.

supergithubo commented 8 years ago

Here's another batch of banned accounts of mine. I think it's not on the level but probably flagged as bot on the first run because all of them lives just for a week. This is my second batch of banned accounts. First batch of accounts (plus my friend accounts) also runs exactly just a week.

levels:

config:

I still have running hard bots of level (13, 17, 21) created last sunday. Let's see if they last for a week.

venkrishr commented 8 years ago

I made a Google form, pls enter ur results for as many bots as you can.

https://docs.google.com/forms/d/e/1FAIpQLSe2ZXrDmrC8RnZLfWGa5O2qlxyr_eeiDA1AAXj0DnWnaUWrsQ/viewform

avexus commented 8 years ago

@supergithubo, like i said in the postings, they are using a bot to ban too, it's just parameters for them, like in the config file. So they can set which levels to start from. It's other flags for them to use to detect bots. I checked my banned account, it says "unable to authenticate". So, I guess it is wiped clean.

supergithubo commented 8 years ago

@avexus yeah of course they automate the detection of bots and our goal here is to determine their detection criteria. The fact that all accounts (different levels) created same day were banned together at the same day is weird. So I guess they've been detected on their first run and been scheduled for wiping on their next ban wave considering the level 6 account of mine botted just for the first day.

Lntnam commented 8 years ago

Well Ninatici may have someone observing this project here so fighting again their bot detection isn't very promising lol.

CykkaTron commented 8 years ago

So I've noticed on my legit accts all of them that it says I have 8 Pokemon but I don't as they are invisible glitched Pokemon but on my botted acct those I've never ran into the invisible Pokemon in my bag as the boy transfers them.

avexus commented 8 years ago

Well, 4 accounts got banned including my main, which i have 4 perfect pokemons, including Dragonite, Lapras, Vaporeon, and Gyaratos. And from what I read and my own experience, this bot is not safe. I let my son to use this bot for 2 hours and after 10 days of not playing at all, his account got banned too.

So, I am going to say goodbye to this tool. And good luck everyone.

supergithubo commented 8 years ago

@avexus I'll also stop using this bot. Just waiting for my two remaining bots to die. We've been like pokemons and Niantic catched us all. Lol.

Enviouse commented 8 years ago

Just won't use to no the bot works fine I have not been cought/banned I'm lv 30 been that way for months it's how u use the bot to no get banned eg local use only

avexus commented 8 years ago

@Enviouse, can you post your config file? I will give it another try.

Enviouse commented 8 years ago

Not show how to show screen shots here but it's starts like this

1 ptc sighn in Location Lat n long no more then 20 ks from your location eg were you are right now Walk speed no more then 13ks Pokemon selection evlove everything transfer everything (As every Pokemon u catch has a location it was cought this reflects on teleporting if u go to other country's or heaps far away n catch Pokemon it send the info to nitanic so again only close to you) Item don't matter do what u need I only keep ultra balls b berrrys

Stop n starting is a big part to u don't want to go to far n hit to many pokestops I about 500-700 stops daily n about 150 Pokemon daily if you hit 1000 stops daily or 250 Pokemon daily it flags nitanics bot so u will be banned

All up bot safe n close to your location max 25 ks from u lv 30 took a week n a bit as no big loactions nxt to me but a lucky egg n patiance got me here with no ban still playing now but not botting any more

Enviouse commented 8 years ago

Keeping your botting close to u will also allow u to log in on ur phone for short periods of time while botting so it still tells nitanic ur useing a phone n u can evlove or favourite monsters use incubators

Enviouse commented 8 years ago

Also I haven't botted since the update I seen it coming n stopped so not shore if will work any more I'm going to run a new acc on it to see if my method works it's slow but 4 days lv 24 n 2 week if ur not banned then u should be safe

duttonw commented 8 years ago

Best test is to battle a gym and place a pokemon in it. and see if your account survives 2 weeks after that.

On 29 August 2016 at 09:30, Enviouse notifications@github.com wrote:

Also I haven't botted since the update I seen it coming n stopped so not shore if will work any more I'm going to run a new acc on it to see if my method works it's slow but 4 days lv 24 n 2 week if ur not banned then u should be safe

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PokemonGoF/PokemonGo-Bot/issues/4114#issuecomment-243006415, or mute the thread https://github.com/notifications/unsubscribe-auth/AB7XcEk7vWWn25FtE8wAIY8T4DFnDaw4ks5qkhovgaJpZM4Jl3bY .

Enviouse commented 8 years ago

Well my lv 30 botted account has been there n done that 3 weeks now for that acc no ban but I refuse to bot that 1 after losing my main account in the 1st wave of bans I played this 1 safe took 2 weeks about to get it there n it still going now I did here the new update has a anti bot thing to say ur human hence me not botting any more n I use I poke go ++ hack for iOS to play so gps botting lv 30 gyms battled coins collected over last 2 weeks of not botting since the wave ban began

avexus commented 8 years ago

@Enviouse, some good points here. You can copy and post your configure file very easily.

I'll make a account just for level up. After I lost my main, i really wanted a new account 30+. My main is 31 and had 5 perfect ones.

Enviouse commented 8 years ago

Okay will do @avexus The best not to use is called pokebuddy/exo buddy here on got hub that's what bot I used anyways just look up pokebuddy GitHub then download the zip extract the files n the configure is all set up already for you all I have to do is enter sighn in details Lat n long n walk speed n it does the rest for u with a stop button so y can stop anytime u want n when u restart it it goes back to the original Lat n long u enterd

venkrishr commented 8 years ago

Here's my testing results:

My main account and 2 other accounts were banned so I started a 4th one to use as a main account.

It has been 10 days and still not banned. Here's what I did:

Logged in using PTC Completed tutorial manually Deleted the app Set walking speed 1-4 randomly each day Run around 7 hours approximately each day No sniping, no soft bans etc. (Since I live in Long Island, I botted to a closer place (NYC) :P) Reached level 19 in 1 day Level 21 in 2 days 22 in 3 days 24 in 6 days

Then stopped botting completely, installed the app and started playing normally. Not banned yet, will update if any changes. So I guess the bot is safe as long as the behaviour is as human as possible. Also I think using PTC account may have helped, they might get location history from Google account via phone, who knows?

Now I've started other bots in hard mode to use as throwaway and testing. I'll update if I find more.

avexus commented 8 years ago

New York is a great place. why did you delete the app?

supergithubo commented 8 years ago

@krishven my 2 remaining accounts still working also (10 days now). I configured the bot when the altitude was introduced. It is possible that the old fixed altitude requests flagged our banned accounts. This is the only difference I can think of between my banned accounts and these two accounts. I also suggest for the users to use local ip respective to their botting location. I use torify (with tor exit nodes) or VPN and currently botting in SG and LA. Hope we won't be killed again :dancers:

Nerkyator commented 8 years ago

@supergithubo I tried to use torify (torify ./run.sh) but it seems to block my login due to TOR detection. Can you please give me some hints on how using it?

venkrishr commented 8 years ago

@avexus because someone said the app was sending tcp/ip packets even when not playing. they might use that to detect bots.

the difference from my other banned accounts was:

  1. this account had the new config with all the wait times etc
  2. this account was never once softbanned
  3. walking speed, pokestops and pokemon caught were low
  4. PTC and not Google account (they may pull location history if using google account)
  5. deleted app from phone

So don't know which actually contributed but I feel this worked.

mjsaber commented 8 years ago

@krishven Could you please paste your config file here? I'd like to use same config file as yours. Thanks!

Enviouse commented 8 years ago

@Venkatakrishnan don't go hard on other bots if your ip gets flaged like my friends u will get bans every 2 weeks for playing with or without bots my friend had 6 botted accounts banned and 4 real playing accounts not cheated they flag ur ip so I can Neva play again