The contents of this repo are a proof of concept and are for educational use only
This repository contains the ProtoBuf .proto
files needed to decode the PokémonGo RPC.
We are following semantic versioning for POGOProtos-Private. Every version will be mapped to their current PokémonGo version.
Version | Base | Notes | Extra |
---|---|---|---|
2.56.6 | v0.241.0 | Proto2 Compilable (Mixed) | Protocol Buffers v3.21.1 |
2.56.6 | v0.241.0 | Proto3 Compilable (Mixed) | Protocol Buffers v3.21.1 |
2.54.1 | v0.205.x | last 100% clean (/base/v0.205.x.proto) | Protocol Buffers v3.15.8 |
Additional resources as *.json files | Source | Status |
---|---|---|
v2_GAME_MASTER.json | Root | OK |
GAME_MASTER.json | Root | OK |
ASSET_DIGEST.json | Root | OK |
Additional resources as *.txt files (Decode mode by script) | Source | Status |
---|---|---|
v2_GAME_MASTER.txt | Root | OK |
ASSET_DIGEST.txt | Root | OK |
Additional resources as *.xml files | Source | Status |
---|---|---|
v2_GAME_MASTER.xml | Root | OK |
ASSET_DIGEST.xml | Root | OK |
If you want to figure out the current version in an automated system, use this file. .current-version Note: This file will contain pre-release versions too.
usage: compile_base.py [-h] [-gm GENERATE_GAME_MASTER]
[-ga GENERATE_ASSET_DIGEST] [-l LANG] [-v VERSION]
[-o OUT_PATH] [-m] [-g] [-b] [-k] [-gf]
optional arguments:
-h, --help show this help message and exit
-gm GENERATE_GAME_MASTER, --generate_game_master GENERATE_GAME_MASTER
Generates v2_GAME_MASTER.txt form PATH/v2_GAME_MASTER.
-ga GENERATE_ASSET_DIGEST, --generate_asset_digest GENERATE_ASSET_DIGEST
Generates ASSET_DIGEST.txt form PATH/ASSET_DIGEST.
-l LANG, --lang LANG Language to produce proto single file.
-v VERSION, --version VERSION
Set version out ex:. (0.205.x)
-o OUT_PATH, --out_path OUT_PATH
Output path for proto single file.
-m, --java_multiple_files
Write each message to a separate .java file.
-g, --generate_only Generates only proto compilable.
-b, --generate_new_base
Generates new proto base refs.
-k, --keep_proto_file
Do not remove .proto file after compiling.
-gf, --generate_proto_files
Generates base/last_files/*.proto.
Current recommended protoc version: "Protocol Buffers v3.21.1". You can find download links here.
Be sure to add protoc
to your environmental path.
Ensure that you have the newest version of protoc
installed.
Use homebrew
to install protobuf
with brew install --devel protobuf
.
The compilation creates output specifically for the target language, i.e. respecting naming conventions, etc.
This is an example of how the generated code will be organized:
Compile vx.xxx.x.proto depending on the version chosen, or uses -v 0.205.x (or other version present into base folder >= 0.175.x)
- Note: the *.desc file is auto created in this function
python compile_base.py -l cpp -k -v base:
- vbase.proto -> out/single_file/cpp/POGOProtos.Rpc.desc
- -> out/single_file/cpp/POGOProtos.Rpc.pb.cc
- -> out/single_file/cpp/POGOProtos.Rpc.pb.h
- -> out/single_file/cpp/POGOProtos.Rpc.proto
python compile_base.py -l csharp -k
python compile_base.py -l java -k
python compile_base.py -l js -k
python compile_base.py -l python -k
python compile_base.py -l php -k
python compile_base.py -l objc -k
python compile_base.py -l ruby -k
* python compile_base.py -l swift -k
* python compile_base.py -l go -k
* python compile_base.py -l lua -k
* python compile_base.py -l dart -k
* = Needs plugins
python compile_base.py -gm [./v2_GAME_MASTER] (out as same bin name *.txt)
python compile_base.py -ga [./ASSET_DIGEST] (out as same bin name *.txt)