Coder Social home page Coder Social logo

pogoprotos's Introduction

POGOProtos

Build Status

This repository contains the ProtoBuf .proto files needed to decode the PokémonGo RPC.

If you want to know which messages are implemented right now, click here.

Usage

Versions

Since this is under such heavy development we release a new stable version every so often. If you don't want your depending code to break, check out Releases. The current latest version is v1.0 but if you don't care about breaking changes, feel free to use master.

Preparation

Current recommended protoc version: "Protocol Buffers v3.0.0-beta-4".

You can find download links here.

Windows

Be sure to add protoc to your environmental path.

*nix

Ensure that you have the newest version of protoc installed.

OS X

Use homebrew to install protobuf with brew install --devel protobuf.

Compilation

There are two ways to compile POGOProtos.

Single file compilation (Recommended)

Single file compilation merges every directory to it's own .proto file. As an example:

  • Networking/Requests/Messages/*.proto
  • Networking/Responses/*.proto

Becomes:

  • POGOProtos.Networking.Requests.Messages.proto
  • POGOProtos.Networking.Responses.proto

These new files are then compiled by protoc and placed in the output directory. This greatly reduces the amount of output files.

Command

Run python compile_single.py to compile everything to a single file.

Flags

  • Add the -l or --language flag to compile to whatever language you need, the default is C#.
  • Add the -o or --output flag to set an output directory, the default is out.
  • Add the -d or --desc_file flag to only generate a descriptor file, POGOProtos.desc will be written to the specified output directory.
Go
  • Add the --go_import_prefix to prefix all imports in output go files for vendoring all dependencies
  • Add the --go_package to specify the name of the exported go package

Recursive compilation

Recursive compilation loops through all directories and compiles every .proto file it finds to the specified output directory.

Command

Run python compile.py to recursively compile everything.

Flags

  • Add the -l or --language flag to compile to whatever language you need, the default is C#.
  • Add the -o or --output flag to set an output directory, the default is out.

Extra information

You can find all available languages here https://github.com/google/protobuf.

Libraries

If you don't want to compile POGOProtos but instead use it directly, check out the following repository.

More will be added later when most proto files are added.

Language Source
NodeJS https://github.com/rastapasta/node-pokemongo-protobuf
NodeJS (pure JS) https://github.com/cyraxx/node-pogo-protos
.NET https://github.com/johnduhart/POGOProtos-dotnet
PHP https://github.com/jaspervdm/pogoprotos-php
Go https://github.com/pkmngo-odi/pogo-protos
Haskell https://github.com/relrod/pokemon-go-protobuf-types
Rust https://github.com/rockneurotiko/pokemon-go-protobuf-rs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.