/POGOserver

:rice_ball: Pokemon GO Server Emulator

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

                              ______ _____ _____ _____                               
                              | ___ \  _  |  __ \  _  |                              
                              | |_/ / | | | |  \/ | | | ___  ___ _ ____   _____ _ __ 
                              |  __/| | | | | __| | | |/ __|/ _ \ '__\ \ / / _ \ '__|
                              | |   \ \_/ / |_\ \ \_/ /\__ \  __/ |   \ V /  __/ |   
                              \_|    \___/ \____/\___/ |___/\___|_|    \_/ \___|_|   
Stability

Getting started

Setup

Copy and rename cfg.js.example to cfg.js.

Open cfg.js and fill the following fields:

DOWNLOAD_PROVIDER: "GOOGLE";
DOWNLOAD_USERNAME: "USERNAME";
DOWNLOAD_PASSWORD: "PASSWORD";

Tunneling setup

The pokemon go app traffic has to get forwarded manually to this custom server. Download rastapasta's Pokemon Go Xposed app and follow the installation instructions here.

Database setup

To setup a database connection, open cfg.js and change the database login credentials:

MYSQL_PORT: 3306,
MYSQL_HOST_IP: "127.0.0.1",
MYSQL_DB_NAME: "pogosql",
MYSQL_USERNAME: "root",
MYSQL_PASSWORD: "",

The required database tables get generated automatically.

Server setup

You need at minimum Node.js version 6.x.

Open up a terminal and enter npm run boot to start the server.

Docker setup

  1. Download Dockerfile, cfg.js.example and supervisord.conf from github.
  2. Place Dockerfile, cfg.js.example and supervisord.conf into the same folder. Rename cfg.js.example to cfg.js.
  3. Modify cfg.js to your requirements as described above.
  4. Create a container and run it.
  5. Open a bash prompt, enter: cd /POGOserver/ and ./run-linux.sh.
  6. Connect the Pokemon Go app to the server.
  7. Done.

Note: Instead of automatically mapping the ports, map them static, so they don't change after reboot.