cambc CLI is your main tool for local development, testing, and interacting with the platform. Install it with pip install cambc.
Project setup
cambc starter
Scaffold a new Cambridge Battlecode project. Run this first after installing.
cambc.toml
The config file created by cambc starter. All fields have defaults and all CLI options override config values.
cambc run are resolved by first checking the raw path, then checking inside bots_dir. So cambc run starter opponent resolves to bots/starter and bots/opponent.
Local development
cambc run
Run a local match between two bots. No time limits are enforced locally.
Options:
cambc watch
View a replay in the browser-based visualiser.
localhost and opens your browser. Press Ctrl+C to stop the server.
cambc map-editor
Open the map editor to create custom .map26 files.
Platform commands
These commands interact with the online platform at game.battlecode.cam. Most require authentication viacambc login.
cambc login
Authenticate with the platform. Opens a browser window for OAuth login and stores your session locally.
cambc logout.
cambc logout
Clear stored credentials.
cambc submit
Upload a bot to compete on the ladder.
main.py, a single .py file, or a .zip. Directories are auto-zipped before upload. See submission requirements for constraints.
cambc status
Show your current team, rating, rank, and member list.
cambc unrated
Challenge another team to an unrated match using both teams’ latest submissions.
Unrated matches run on the same AWS infrastructure as ladder matches with full time limit enforcement but do not affect ratings. They are prioritised over ladder matches for faster results.
cambc test-run
Upload two local bots and run a remote match with full time limit enforcement on AWS Graviton3 hardware.
cambc run, this enforces the 2ms CPU time limit per round — use this to check your bot’s performance before submitting.

