The StarCraft II API is an interface that provides full external control of StarCraft II.
This API exposes functionality for developing software for:
- Scripted bots.
- Machine-learning based bots.
- Replay analysis.
- Tool assisted human play.
The API is available in the retail Windows and Mac clients. There are also Linux clients available at the download links below.
- Protocol
- Protobuf protocol definition of the API.
- Definition
- Documentation
- Reference C++ implementation
- Library designed for building a scripted bots using the API.
- Repository
- StarCraft II Linux Packages
- Self contained headless linux StarCraft II builds.
- Documentation
- Download
- Maps
- Maps from the 1v1 ladder and other custom maps.
- Download
- Replays
- Replay packs of 1v1 ladder games.
- Download
- PySC2
- DeepMind's python environment wrapper.
- Repository
- CommandCenter
- A robust architecture for quickly developing Starcraft AI bots.
- Repository
- s2client-dotnet
- .NET "Standard" 2.0 port of the StarCraft II API Reference implementation.
- Repository
To access the linux packages, map packs and replay packs, you must agree to the AI and Machine Learning License
The files are password protected with the password 'iagreetotheeula'.
By typing in the password ‘iagreetotheeula’ you agree to be bound by the terms of the AI and Machine Learning License
All additional game data should be extracted within the installation directory.
The default installation directories are:
- Windows: C:\Program Files (x86)\StarCraft II\
- Mac: /Applications/StarCraft II/
On Linux, the installation directory is the folder you extracted the linux package into.
The folder structure is the same accross all platforms. However you may need to create some folders if they are missing.
Standard folder layout:
- StarCraft II/
- Battle.net/
- Maps/
- Replays/
- SC2Data/
- Versions/
- Extract the zip file directly into the "Maps" folder.
- In the API, a map can be specified as either an absolute path or its relative path inside this "Maps" folder.
- Replace the "Battle.net" and "Replays" folders with the ones in the zip file.
- In the API, a replay must be specified as an absolute path.