The official GPSS server shut down in January 2026. This is a local replacement you can run on your own machine to keep using GPSS with PKSM on 3DS.
It builds the latest PKHeX legality engine from source, runs everything in Docker, and includes a web viewer for browsing, searching, and exporting Pokemon. One script to set up, one command to run.
- Docker (includes Docker Compose)
- A 3DS with PKSM installed, on the same Wi-Fi network
git clone https://github.com/tasken/gpss-in-a-box.git
cd gpss-in-a-box
./setup.sh
./sync-sprites.shsetup.sh asks a few yes/no questions and handles configuring the server. sync-sprites.sh downloads Pokemon, item, and ball sprites required by the web viewer.
After setup, the script shows your server address. In PKSM:
- Open the GPSS screen
- Set the server URL to
http://<YOUR_IP>:8082/ - Make sure to include the
/at the end
docker compose up -d # Start
docker compose down # Stop
docker compose logs -f # Logs
./setup.sh # Update or reconfigure
./rebuild.sh # Rebuild and restart the configured deployment
./sync-sprites.sh # Download sprites for offline useOpen http://<YOUR_IP>:8082/ in a browser to use the web viewer.
If you only need the PKHeX legality engine as an API (no database, no web UI, no GPSS server):
LEGALITY_ONLY=1 docker compose up -dSend raw Pokemon bytes to POST /api/legality and get back a JSON result. See API.md for details.
- API.md - API endpoints and usage examples
- TECHNICAL.md - how the build works, troubleshooting
GPL-3.0 - see LICENSE.
- FlagBrew - local-gpss server and PKSM
- kwsch - PKHeX legality engine
- santacrab2 - PKHeX-Plugins (Auto-Legality Mod)
- msikma - pokesprite (item and ball sprites)
- Smogon - Pokemon Showdown (animated sprites, Pokedex data)