PokemonGoF / PokemonGo-Bot

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

Just got banned. Not an issue but worth a read to avoid my pitfalls. #4597

Closed nealqu closed 8 years ago

nealqu commented 8 years ago

Hello

I just created a test account just to find out how long I can get away without being banned. I used the latest build and was really careful on my online time. I used the bot app to level the account 1-15 on my 1st day, 16-18 on the 2nd, 19-20 on the 3rd day. Luck egg to 20-21 on the 4th. then banned on the 5th day.

bot ran 2-3 hours rest for 1-2 hours then ran again for 2-3 hours for a total of 4-6 hours a day.

I noticed that I actually get banned not for the time spent but for the distance of the walk that I made. If I have to calculate the amount of walk that I made at that time I think every hour I walked more than 3km. that would be impossible for me to do in real life daily lol.

If I were to do it again. I would probably stay on one spot and not walk around the map the whole day.

Just a thought if you guys would still want to create a bot account.

Thank you for reading.

seehuily commented 8 years ago

They could also use IP detection. e.g. 1). IP address belongs to city XXX, but you actual in another city according to your cord. 2). more then 2 players in the same LAN with same public IP, one is in City A, the other is in City B.

VPN could possibly be used but you could also become a suspect.

I had 3 active accounts, I used them very carefully but still got banned. they all got banned when they reached above level 20.

nealqu commented 8 years ago

I still cant figure out why an account gets banned when being botted and not banned via spoofing. I know someone who spoofed from 21 - 29 and still has not been banned. There must be something when using a bot that leaves a tell on their filter that you are using it.

One more thing to add I also noticed that when I hit 20+ on my previous 3 accounts I was able to bot it continously. Got the first 2 accounts banned when I evolved pokemon from the bot. The last account was banned after 4 days when I evolved a pokemon via bot. Now the test account I was able to hit 20 and was not banned in a day but was banned the next day after I used the lucky egg to evolve a pokemon. If anyone who has a bot account above 20 that has not been banned yet can you share if you have evolved a pokemon via bot? I want to see if it is one of the causes or its just coincidental.

eloivalles commented 8 years ago

I was banned at level 21 and I never evolved via bot. I was very careful also, bot runing 4h per day with rests

RichardHan commented 8 years ago

same as above, four test account were banned at level 21 on yesterday...

00milaf commented 8 years ago

Same. My account was clear in few hours after reaching 20. So is level 20 a magic number? Anyone manage to survive 20 and take over phone to continue?

sohje commented 8 years ago

One of my bots - evolve w/o lucky eggs just after catch - 2-3hr/d, same ocation - lvl 28 not banned yet.

nealqu commented 8 years ago

@00milaf it is safe until you reach 20. I have to do a test yet that involves me not botting when I reach 20 to see if I can level up to 21 without getting banned.

nealqu commented 8 years ago

@sohje Im gonna try to do the same thing no lucky eggs and evolve after catch 2-3 hours. Do you spoof with your phone on that account?

gusterwoei commented 8 years ago

Negative, one of my account was banned at lvl 19, others were above 20. It seems to me Niantic is detecting via something other than just human behavior

bluryi commented 8 years ago

My prime account got banned at yesterday. I manually played it from level 1 to 18, and then used bot about 3 days to get level 23. The last bot time was about 2 weeks ago.

innrwrld commented 8 years ago

Had a similar issue @bluryi, with my primary. Kind of annoyed about it.

My 2¢, I think they are employing IP addressing as a key factor in what your Trainer is doing. Take into consideration, we're all running these things from some IP based in x or y location. Majority of the time those IPs are tied to a or b ISP & NOT tied to our actual mobile provider. While it is feasible that you can connect & play at home/work, it is NOT feasible for you to walk more than x amount of distance while still on the same IP address, so you walk 3km & you're still on the same IP tied to your ISP, game over. Solution: mobile app imho.

Cetino commented 8 years ago

i came to level 29 before i got banned. I evolved with the bot it and i wasnt really carefully using it. Actually set my walking speed to 4.19 and walked around without doing anything for hours because of my poor config my inventorys went full. I don't know i my account got banned that late. But i had some days without botting and was using a well known free vpn(before this ip got banned) because the addresses of Amazon EC2 instances are already blocked lol. Maybe it has something to do with it.

MZorzy commented 8 years ago

banned at 12. boted 0-10 more or less 3km far real position. pokem relased/evolved only on real app.

caosinhan commented 8 years ago

I had 2 accounts. one level 24, the other level 4. I botted both. Both are banned on Monday August 22. I was surprise the level 4 account got banned. I think the reason is I try to bot both at the same time from the same wifi. I strongly belief Niantic keeps track of how much bandwidth a location is using, then flags and kick people off when it overloads.

belinux commented 8 years ago

I read its an API problem, the response to server isn't the same as the app.. so it doesn't matter what we do to be under radar.. I tried with more than 20 accounts.. all of them banned after level 23..

mo0ojava commented 8 years ago

@belinux has a point. The basis for current bots are the same. The same client-emulation. It has been shown that there are differences between bot messages and the same coming from the app. I was hoping this wasn't the case and apparently it was working anyway... for a while. But of course there's plenty of triggers and statistics they could rely on. And propably do if they're serious on cracking down on bots. :(

levint commented 8 years ago

Quick question, have you had any coin purchases in all or some of your banned accounts?

belinux commented 8 years ago

Yeah, I tried in some.. same results, banned Here is what I tried, beside the common proposed here (reducing walk, evolve, spin and/or catch speed etc.)

levint commented 8 years ago

What is the average number of hours/days before the account gets banned?

Cetino commented 8 years ago

@caosinhan i dont think they ban accounts because one account was botting using the same ip. In my case i had 12 accounts: one real account wich i play normaly without botting or anything (not banned). 10 map account to see what pokemon are currently in my region (all banned on monday) and one bot account, also banned on monday.

willzetricksta commented 8 years ago

You guys are missing the biggest issue, put aside the fact that if an account reaches level 25 in a day, it is obviously a bot. The bot does NOT send any behaviour analytics that the app sends. Niantic uses the company "upsight" (http://www.upsight.com/) to track our behaviours down, like clicking on the pokedex button, or the store button, how many times we logged in...etc. 99.9999% of the accounts to which they don't have any behaviour analytics data associated with the account statistics (level 23, caught 2500+ pokemons..etc) is a bot. The comparison is very very easy to do (trust me). As long as the bot does not simulate this, there's nothing (from low activity to perfectly cloned human behaviour) we'll do, we'll always get caught.

That's also why bans happens by waves. They're just asking their data scientists to give them the ids of the accounts to which they don't have any analytics at one point, happens a ban wave, and they just repeat the operation.

levint commented 8 years ago

@willzetricksta I'm interested in your take on this. Would you please elaborate on "to which they don't have any analytics at one point"? I'm really curious as to how the ban waves are done.

Scenario: If I alternate between botting and using the app more often, will that decrease the chances of being banned?

willzetricksta commented 8 years ago

@levint In my opinion, they probably tag/flag all the accounts that reach some threshold. Could be, distance walked in total (E.G. 200klm / day), the number of pokemon caught (E.G. 2000+/3000+), number of pokestop spinned...etc. They get, at some point, let say every 3 days, all the ids of the accounts that have that flag on it, and give this list to their data scientist to compare with Upsight's database. Since the bots accounts doesn't have any analytics data recorded, all the flags that doesn't match any record on their side is a bot. For example, someone that has caught 3439 pokemons, should have sent 3439 "events" (this is how it's called) to Upsight. If there's no record of this, BOOM, caught. And then the ban wave happens.

levint commented 8 years ago

I get it. Thanks for the elaboration @willzetricksta . So now, how about mismatches between the sent 'behavioural events' compared to what is generated by the bot account (e.g. # of stops spinned)? In other words, the statistical discrepancy between these two actions.

kenkclam commented 8 years ago

@willzetricksta If what you said is true, we should do a test. Say, we set up an account that bot for 2 hours a day and afterward play manually 1 hour a day in the same city. During that manual one hour, we do all the clicking and random stuffs. Do you think that will escape the bot detection?

If it is about the data sent to Niantic from the bot, or about the IP from ISP, as mentioned above, it sounds a bit hopeless to have a viable bot.

beltoft commented 8 years ago

My last account got banned a few minutes after I evolved 92 pokemon using optimizer with the evolve time set to 10

now im running another account and have increased the evolve time to see if that would stop me from getting banned

buzzqw commented 8 years ago

i am just testing for banning. Booting for about 23 hours/day, always same location, at 8.16 speed.. Level: 22 (Next Level: 21835 XP) (Total: 413165 XP) Pokemon Captured: 1249 | Pokestops Visited: 2416 that's about2 days of boting (inncreased daily catch limit to 80000..)

courious when will be banned...

BHH

willzetricksta commented 8 years ago

@kenkclam You would perhaps be undetected for the first fews days, as the number of actions done by the bot will not be very big (farming 100 pokemons with the bot, 100 pokemons via the app). But overtime, as your account would be getting bigger and "attracting" attention (being flagged), the proportion of human/bot actions remaining the same, you'd still get caught cause there should NOT be any differences between the account stats and the number of actions recorded (upsight's data) to obtain these stats.

As long as we don't send any of those data behaviour to upsight's server, we'll always get caught at some point.

For example, I have played over a month and a half via the app with spoofed location (android), I was level 22, my pokedex was 137/151, I had been teleporting a few times (not much), my averaged speed was between 25 to 50 km/h (not kidding), and I never experienced any soft/hard ban. Discovered the bot, "played" with it a little, 24h after having caught 2000+ pokemons and gained 5 levels (22 to 27), I was permabanned.

avexus commented 8 years ago

We have too many people got banned, and yet we have not learned anything yet. I suggest for the next iteration, we use AI in our bots, if anybody is good with it, especially the latest "deep learning" technique. That means we can improve the bot every time somebody gets banned.

OwenMelbz commented 8 years ago

Also consider user agents, for example if you signed up via iOS - then suddenly you're on an android user agent spoofing it, its going to look odd, unlikely somebody would be swapping between 2 devices?

But I imagine as @willzetricksta has said - until you guys start emulating actual behavior from the apps e.g tracking events, ip switching etc - it would be easily to find correlation between bot users and easily ban them

caosinhan commented 8 years ago

Are you guys running the latest version of the bot?
Do you get the NoneType Error after 60 minutes? Did you enable "RandomPause"?

4IbWNsis3S commented 8 years ago

TL;DR Bot doesn't emulate analytics actions of the app and a third party queues up bans for the app vendor using correlation. Timing and statistics don't actually matter till the bot properly emulates.

glennvgastel commented 8 years ago

@4IbWNsis3S Good summary. In one word .. sensors. :)

GrosCep commented 8 years ago

I completely agree with @willzetricksta

I was wondering last week why permabans were not instantaneous, as opposed to the softbans (old or new ones), suggesting that they probably needed to analyse some data to flag and ban accounts. I never believed in the IP stuff, because I always botted from the same ip, and was always able to create a new account and bot for a few days. Plus, it's not forbidden to use a VPN permanently, is it ?

So, I've been using a tweaked mobile app for 5 days, no botting at all, same IP as usual, now at level 24, with an almost full pokedex, and a few thousands pokemons caught. I had a few softbans because of spoofing, that's it, dealt with the 40 times pokestop spinning trick. It's not banned yet, but I did everything manually (e.g. evolving 90 pidgeys with a lucky egg... really boorrrrrrring !).

And I am not even really sure that they would permaban someone because of the number of pokemons caught or the distance travelled. I mean, a legit player who is insomniac and love riding a bicycle, and has two pokemons hotspots 500m apart full of pidgeys and magikarps, could get the 1000 pokemons in 24h and easily travel more than 20 kms in the same day. And I suppose it's not forbidden yet to be insomniac and cyclist.

4IbWNsis3S commented 8 years ago

I'm also pretty sure they use IP-geography or will very soon. I think g-maps already provides such data to API users.

Only solution is SOCKS5 or TOR or I2P with TLS stream support but then there is a major performance issue given the compression and encryption used in those protocols and the potential volume of traffic given this game's popularity.

If I was a dev or hax0r with the time I'd probably just do inline patches on the APK and run it unsigned on actual hardware. Ultimate stealth just diff APK updates and watch for new detection code. You wouldn't have to manage a big protocol wrapper.