Rules

Bot authors must ensure that their creations are not harming the ladder system in any way, including but not limited to:

  • Slowing down the system on purpose
  • Generating huge amounts of data on the disc without purpose
  • Tempering with the filesystem or memory
  • Network access of any kind besides connecting to the local sc2api process is strictly forbidden
  • Uploading copies (clones) of another bot is forbidden
  • Users can activate one Bot per Race

Bot Development

Bot Zip

For a successful upload the Bot must be packed using zip. (Max 50 MB)
Please make sure that the file the bot is called via (e.g. the executable) is in the root path after extraction (Don't zip the directory).

Right:

MyBot.zip
- MyBot.exe
- data/
- etc

Wrong:

MyBot.zip
- MyBot/
  - MyBot.exe
  - data/
  - etc

Data

The bots may write to a ./data directory. The data can be downloaded via profile page.

Bot Types

The Ladder supports multiple programming languages. To make sure the bot works on the ladder you must follow the following standards:

Python

Version: Python 3.7
Bot called via run.py
Website: python-sc2

C++

Can be compiled on Windows or Linux
Windows: Bot called via botname.exe
Linux: Bot called via botname
Website: s2client-api

Java

Version: Java 12 (OpenJDK)
Bot called via botname.jar
Website: ocraft-s2client

DotNetCore

Version: DotNetCore 2.2
Bot called via botname.dll
Website: SC2-CSharpe-Starterkit

GoLang (coming soon)

Bot called via botname
Website: go-sc2ai

NodeJS

Bot called via botname.js
Website: node-sc2/core

Maps

Download the latest ladder pack from the GitHub Repository. (Password: 'iagreetotheeula')

Extra resources

Sc2AI.net wiki: http://wiki.sc2ai.net
A list of some open source bots: https://github.com/alkurbatov/suvorov-bot/wiki/Open-source-StarCraft2-bots

Match Queue

The match queue makes sure all Bots have to play against every other bot on the ladder once per round (Round-Robin). If the queue is empty or the remaining matches in a round only contain bots who are already busy playing other matches, a fresh round is generated containing all active bots.