Please don't do this. It's perfectly legitimate to route one's traffic through other nodes one owns.
Please consider other ways of dealing with banned players — perhaps make creating an account slow and/or costly.
The problem with the slow/costly account thing is that one of the big draws of our game is that there's no registration necessary. You can jump in a game instantly by pressing 'Play Now', and you just get named 'Some Ball 1/2/3/4/etc' and tossed with the registered players.
Tagpro is awesome btw.
Always glad to find a player in the wild! We're working hard on Next and hope to have the beta open soon.
[1] One source is http://www.routeviews.org/
https://www.shodan.io/search?query=port%3A500%2C4500+vpn
Or you could lookup the IP of the user on Shodan and check whether that IP is running a VPN service. Per IP lookups are free on Shodan and it's fairly simple. For example, this is how you'd do it in Python:
def is_vpn(user_ip):
import shodan
api = shodan.Shodan("API key")
host = api.host(user_ip)
for banner in host['data']:
if banner['port'] in [500, 4500]:
return True
return False
Here's an overview of the VPN services that are currently on Shodan:Edit: I made a modification for conciseness' sake, and to include SSH in the mix as that can be used as a poor man's VPN.
def is_vpn(self, ip):
api = shodan.Shodan(self.config['keys']['shodan'])
host = api.host(ip)
return any(banner['port'] in [22, 80, 500, 4500] for banner in host['data'])> I help develop a fairly popular webgame.
... unless the web-based game relies on a plugin that can skirt the browser's sandbox, there's no way to probe for active ports.
Do you allow normal users to get around banned IPs by buying a pass or something? (Then you can ban the pass, like 4chan.)
I help develop a fairly popular webgame. One of our biggest headaches is people who are evading bans by using VPNs (public or not), VPSes, etc. Although we've outright blocked some large chunks of IPs (AWS, for instance), I've never seen a good service that identifies those specific blocks. Sometimes I go manually digging in the case of serious ban evaders, looking up the owners of specific IP blocks, but boy it'd be convenient if there was a service out there that did that.