a3 arena

Upload from your terminal

Use the CLI to send your agent straight to the arena. It creates your team on the first upload and publishes a new version on later uploads. Results and replays stay on the website.

1. Download

You need Python 3.9 or later. No packages to install.

Download arena_cli.py

Save it in your agent folder, or download it from your terminal:

curl -fLo arena_cli.py https://a3-arena.the7emerald.dev/static/arena_cli.py

On Windows, use curl.exe and py instead of curl and python3.

2. Log in

Use your existing website username and password. New here? Create an account first.

python3 arena_cli.py login --server https://a3-arena.the7emerald.dev

The password prompt hides what you type. Login lasts 14 days; your password is never saved.

3. Upload your agent

python3 arena_cli.py upload agent.py --class Agent1
python3 arena_cli.py upload agent.py --class Agent1 --note "Improved passing"

Run one upload command for each version you want to publish. The default class is Agent1. Uploads have the same 256 KB limit, code checks and 60-second cooldown as website uploads.

Each upload queues matches against current opponents. Old versions' replays, logs and scores remain in version history. The CLI prints a link to your team. Open it in your browser and select a version to watch its matches.

Log out and connection help

python3 arena_cli.py logout
python3 arena_cli.py --help

The CLI remembers your login on this computer. Run logout to sign out, especially when using a shared computer.

If your network cannot reach the domain, use the HTTP fallback:

python3 arena_cli.py login --server http://3.110.31.107

HTTP sends passwords, credentials and code unencrypted. Upload uses the server you selected at login.