-
Notifications
You must be signed in to change notification settings - Fork 61
Home
Pokemon Go Map is aiming to bring a live visualization map of nearby Pokémon, Pokéstops and gyms in a form of a web-app as well as native phone applications.
Video Setup:
Installation will require Python 2.7 and Pip. If you already have these you can skip to installation. Python 3 is not supported at all.
You can install the required packages on Ubuntu by running the following command:
sudo apt-get install python python-pip nodejs npm
You can install the required packages on Red Hat by running the following command:
You may also need to install the EPEL repository to install python-pip and python-devel.
yum install epel-release
yum install python python-pip nodejs npm python-devel
You can install the required packages on openSUSE by running the following command:
sudo zypper in python python-pip nodejs npm python-devel python-wsgiref
OS X comes with some outdated Python packages (these instructions were tested on OS X El Capitan).
You will need to install pip
and then upgrade a few python packages.
Instructions (run everything, each on its own line):
curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
sudo python ./get-pip.py
sudo -H easy_install --upgrade six
sudo -H easy_install --upgrade setuptools
sudo -H pip install -r requirements.txt
To install node and npm, download and install the installer from https://nodejs.org/en/download/.
Download Python 2 and install it. When installing check that the python location gets appended to the path. Then download pip (right click that link and choose "Save Link As"), and double click the file you downloaded, assuming you installed Python correctly.
Download NodeJS here and install.
ℹ️ There is a one-click setup for Windows. After you've installed Python, go into the Easy Setup
folder and run setup.bat
. This should install pip
and the dependencies for you, and put your Google API key into the right place.
Once installed, opening a terminal (cmd.exe prompt) and typing in python ./runserver.py --help
should net you this output:
$ python ./runserver.py --help
usage: runserver.py [-h] [-a AUTH_SERVICE] [-u USERNAME] [-p PASSWORD]
[-l LOCATION] [-st STEP_LIMIT] [-sd SCAN_DELAY]
[-td THREAD_DELAY] [-ld LOGIN_DELAY] [-dc] [-H HOST]
[-P PORT] [-L LOCALE] [-c] [-d] [-m] [-ns] [-os] [-fl] -k
GMAPS_KEY [-C] [-D DB] [-t NUM_THREADS] [-np] [-ng] [-nk]
[--db-type DB_TYPE] [--db-name DB_NAME]
[--db-user DB_USER] [--db-pass DB_PASS]
[--db-host DB_HOST] [-wh [WEBHOOKS [WEBHOOKS ...]]]
Args that start with '--' (eg. -a) can also be set in a config file
(/usr/src/app/pogom/../config/config.ini or ). The recognized syntax for
setting (key, value) pairs is based on the INI and YAML formats (e.g.
key=value or foo=TRUE). For full documentation of the differences from the
standards please refer to the ConfigArgParse documentation. If an arg is
specified in more than one place, then commandline values override config file
values which override defaults.
optional arguments:
-h, --help show this help message and exit
-a AUTH_SERVICE, --auth-service AUTH_SERVICE
Auth Service
-u USERNAME, --username USERNAME
Username
-p PASSWORD, --password PASSWORD
Password
-l LOCATION, --location LOCATION
Location, can be an address or coordinates
-st STEP_LIMIT, --step-limit STEP_LIMIT
Steps
-sd SCAN_DELAY, --scan-delay SCAN_DELAY
Time delay between requests in scan threads
-td THREAD_DELAY, --thread-delay THREAD_DELAY
Time delay between each scan thread loop
-ld LOGIN_DELAY, --login-delay LOGIN_DELAY
Time delay between each login attempt
-dc, --display-in-console
Display Found Pokemon in Console
-H HOST, --host HOST Set web server listening host
-P PORT, --port PORT Set web server listening port
-L LOCALE, --locale LOCALE
Locale for Pokemon names: default en, check locale
folder for more options
-c, --china Coordinates transformer for China
-d, --debug Debug Mode
-m, --mock Mock mode. Starts the web server but not the
background thread.
-ns, --no-server No-Server Mode. Starts the searcher but not the
Webserver.
-os, --only-server Server-Only Mode. Starts only the Webserver without
the searcher.
-fl, --fixed-location
Hides the search bar for use in shared maps.
-k GMAPS_KEY, --gmaps-key GMAPS_KEY
Google Maps Javascript API Key
-C, --cors Enable CORS on web server
-D DB, --db DB Database filename
-t NUM_THREADS, --num-threads NUM_THREADS
Number of search threads
-np, --no-pokemon Disables Pokemon from the map (including parsing them
into local db)
-ng, --no-gyms Disables Gyms from the map (including parsing them
into local db)
-nk, --no-pokestops Disables PokeStops from the map (including parsing
them into local db)
--db-type DB_TYPE Type of database to be used (default: sqlite)
--db-name DB_NAME Name of the database to be used
--db-user DB_USER Username for the database
--db-pass DB_PASS Password for the database
--db-host DB_HOST IP or hostname for the database
-wh [WEBHOOKS [WEBHOOKS ...]], --webhook [WEBHOOKS [WEBHOOKS ...]]
Define URL(s) to POST webhook information to
It is advised to create a separate Pokemon Club account (on their official website) to be used by the program to search for Pokemon. It's ill-advised to use the same account as that you use for the app. If the page is unavailable refresh the page every 5-10 minutes and it should allow signups eventually. It's also possible to use a Google account, in case of both services you can login without ever connecting to the actual game.
Then, download one of the following branches below:
- Download master (Stable builds)
- Download dev branch (Active development)
The dev branch will have latest features from the development team, however it may be unstable at some times.
Extract this zip file to any location.
Now, open a Terminal/Command Line (Win
+R
and cmd
on Windows) and cd
to the folder you extracted the zip file to.
cd some/directory/
In Windows you can also right click within the folder and select "Open Command Window Here."
Then enter the following:
pip install -r requirements.txt
npm install
ℹ️ On openSUSE and possibly other Linux distributions you may have to run 'pip2' instead of 'pip' as 'pip' might run the incompatible Python 3 version of pip.
You will need to generate your own Google Maps API key and place it in your program directory to use this program. Here's a wiki entry on how to do this part.
To start the server, run the following command:
python runserver.py -u [USERNAME] -p [PASSWORD] -st 10 -k [Google Maps API key] -l "[LOCATION]"
or for Google account:
python runserver.py -a google -u [USERNAME] -p [PASSWORD] -st 10 -k [Google Maps API key] -l "[LOCATION]"
Replacing [USERNAME] and [PASSWORD] with the Pokemon Club credentials you created previously, and [LOCATION] with any location, for example Washington, D.C
or latitude and longitude coordinates, such as 38.9072 77.0369
.
Additionally, you can change the 10
after -st
to any number. This number indicates the number of steps away from your location it should look, higher numbers being farther.
ℹ️ If there's less Pokémon showing up on the map that there actually are please append -t 1
(or --thread 1
) to the runserver.py command (Please edit this wiki page by removing this line once the bug is fixed)
As of 2016-07-20, support for the first implementation 'example.py' was dropped.
Please use the refactored version present in the branch develop
.
Periodic tagged releases will be made