On 13/9/2026, the ChucnyServer project had became nearly perfect, and had implemented almost every single feature in the game. As a result of this, the project owner,
@chucny teamed up with @bracky-dev, moving the project to server called Windstock. https://github.com/project-windstock/windstock
ChucnyServer is an open source MITM (man in the middle) 0.29.0 Pokemon GO server made in Python. (protocol buffers will be coded in Go later to process faster speeds)
- World Manager: Manage spawns, PokeStops, gyms, events, and more.
- Community Day & Events: Play different community days.
- Gym Battles: Battle Pokémon in gyms!
- Automatic PokeStop Import: Import up to 10,000 PokeStops at once via the OSM API!
- Terminal Manager: An alternative to the graphical World Manager served at
localhost:8080. It is still in beta and contains bugs. - PokeStop loot customization: Customize PokeStop loot and items!
- Masterballs and beta items: ChucnyServer gives you access to beta items!
- Onborading, character customization and tutorial: Go through the full onboarding, catching your starter and selecting your style!
- MariaDB: Sync the whole database to MariaDB!
- APK patcher: Patch any APK to remove SSL pinning!
- Certificate Generator: Generate your own CA certificates with
generate_certificates.pyin the/chucnyserverfolder
- Run the DOWNLOAD.py script inside
/scripts. Alternatively, download the dependencies manually (recommended). - Get the assets (DM @chucny on Discord to get them if you don't have them).
- Run the script called
__main__.pyinside/chucnyserver. - Install the Pokemon GO 0.29.0 APK onto your phone (note: it's a 32-bit APK).
- Install the file CA.crt inside the
/chucnyserver/certsfolder as a CA certificate on your phone. - Go to your Wi-Fi settings and change your DNS to the IP shown in the server output.
- Open the Pokemon GO app and tap on Pokemon Trainer Club.
- Enter any username and password.
- You are now in!
Remember: The terminal manager is still full of bugs and is in Beta.
- Run terminal.py (do not run
__main__.py).
This guide will help you set up your Linux environment and patch the Pokémon GO 0.29-0.35 APK to remove certificate pinning and allow it to connect to ChucnyServer. The patcher supports versions 0.29.0 all the way up to 0.35.0 without breaking the app or server.
To run the patcher interface and successfully re-pack the APK file, your system must have the following tools installed:
- Java Development Kit (JDK) – Required for signing and aligning the modified APK (
keytoolandapksigner). - Node.js (v14 or newer) – Required to run the patching core engine.
- apk-mitm – The command-line utility that handles the certificate injection process.
Open your terminal and execute the commands corresponding to your Linux distribution:
# Update package repositories
sudo apt update
# Install Java (OpenJDK 17 is recommended)
sudo apt install -y openjdk-17-jdk
# Install Node.js and NPM
sudo apt install -y nodejs npmsudo pacman -Syu
sudo pacman -S jdk17-openjdk nodejs npmsudo dnf update
sudo dnf install java-17-openjdk-devel nodejsOnce Node.js and its package manager are installed, install apk-mitm globally on your machine:
sudo npm install -g apk-mitmWith all dependencies installed, you can proceed to modify your game client using either the graphical interface or the command line.
- Open the
/patcher/patcher.pyfile - Click on the "Select APK File" button (or simply drag and drop your downloaded Pokémon GO 0.29.0 APK into the designated area).
- Click the "Start Patching Process" button.
- The interface will interact with your system utilities (
java,node,apk-mitm) to decompile, inject network security overrides, and re-sign the package. - Save the output file, usually generated as
app-name-patched.apk.
If you prefer bypassing the web UI and running the process manually:
apk-mitm path/to/pokemon-go-0.29.0.apkThis command will output a newly modified file with the -patched.apk suffix in the same directory.
- Transfer your newly generated patch file (
-patched.apk) onto your Android device and install it. - Install the
CA.crtfile (found inside your server directory at/chucnyserver/certs) onto your phone storage as a trusted CA Certificate via system security settings. - Head over to your phone's Wi-Fi configuration and change your primary DNS server to match the IP address outputted by your active ChucnyServer terminal.
- Launch Pokémon GO, select the "Pokemon Trainer Club" login option, enter any username/password combination, and enjoy your server!
Note: MariaDB isn't needed, the server will save everything in json files. This feature still allows you to back up players, pokestops and gyms. SQLite is also supported.
How to use:
- Install MariaDB (or for SQLite, create a file called
local_backup.db - Put the MariaDB port, password, name and username in
config.py - Run the MariaDB database
- Run
database.pyand type/helpfor help with commands
- Send a friend request to me at @chucny on Discord if you do not have the assets.
- I will respond within a couple of hours to days and provide you with different places you can get the assets from (public archives and more).
- Download the assets.
- Paste the 152 asset files directly into the
/chucnyserver/assetsfolder. - Run the server.
The reason I cannot provide assets publicly is because it violates Copyright Laws. Pokémon and its trademarks are the Intellectual Property (IP) of Nintendo and The Pokémon Company. If this project distributed assets publicly, it would receive a DMCA takedown. By leaving assets out of the repository, the project remains completely legal. The game master is a custom .bin file made with a tool that turns text into protouf and not a direct dump from the official game.
- @mobraxton5-ux for making the playground.
- maierfelix for writing some of the core server logic.
- OpenStreetMap for POIs and mapping data.
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).. See the LICENSE file for details.

