Host your own Pokemon battle community server with custom game formats and chat
Use the JavaScript library to simulate Pokemon battles programmatically for a bot or analysis tool
Look up Pokedex data in code using the battle engine's built-in database
Build a battle bot that accepts challenges and plays using an automated strategy
Requires Node.js, the full website experience also needs the separate client and Pokedex repositories.
Pokemon Showdown is an open-source Pokemon battle simulator built primarily in TypeScript. The codebase powers the well-known website at pokemonshowdown.com, where players can simulate Pokemon battles against each other without needing a game console or cartridge. It supports all battle formats from Generation 1 through Generation 9, including singles, doubles, and triples matches. The project is more than just a website backend. It also ships as a standalone JavaScript library that other developers can import into their own projects to simulate battles or look up Pokedex data. There are command-line tools for running battle simulations outside of a browser, and a documented web API that the official client uses to talk to the server. If you want to host your own Pokemon Showdown community with custom game modes, the code supports that too. The repository specifically contains the server side of the system. A separate client repository handles the browser interface, and another handles the Pokedex data. The codebase has documentation for the communication protocol between client and server, an architecture overview, and a contributor guide for those who want to send pull requests. The project is maintained by a small core team under the Smogon organization and released under the MIT license, which means it can be freely used, modified, and redistributed. A community forum on Smogon and a built-in chat service on the main site provide places for users and developers to connect. If you are not a programmer, this codebase is the engine behind the Pokemon Showdown website you may already use to battle online. If you are a developer, it is a ready-to-run game server plus a reusable simulation library, with enough documentation to get started building bots or custom servers on top of it.
← smogon on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.