This runs the full game engine locally with no time limits — ideal for rapid iteration. The engine outputs a replay.replay26 file.Bot paths can be a directory containing main.py, a .py file, or a bot name from your bots_dir (set in cambc.toml). The optional map argument is a .map26 file — if omitted, the first map in your maps_dir is used.
cambc run starter starter # bot vs itselfcambc run my_bot opponent --seed 42 # deterministic seedcambc run my_bot opponent maps/custom.map26 # custom mapcambc run my_bot opponent --replay out.replay26 # custom replay path
Remote commands require authentication — run cambc login first if you haven’t already.Test your bots on the same hardware that runs ladder matches, with full time limit enforcement:
cambc match test <bot_a> <bot_b> [maps...]
This uploads both bots and runs a match on AWS Graviton3 instances with the 2ms CPU time limit enforced. Use this to catch performance issues before submitting.Bot paths for match test must be a directory containing main.py or a .zip file (unlike cambc run, arbitrary .py files are not accepted).
cambc match test my_bot opponentcambc match test my_bot opponent maps/custom.map26
Remote test runs are rate-limited: max 10 test/unrated matches per 10 minutes.
You can also challenge another team to an unrated match using both teams’ latest submissions:
cambc match unrated <opponent_team_id>cambc match unrated <opponent_team_id> --map arena --map galaxy # specific maps