Repository navigation
MTG farm volunteer client v12
Superseded by client-v13 — and this client can fetch it itself: stop the workers and press the Update button on its page. Everything below remains true for this release.
One-zip Windows volunteer client for the MTG sim farm. Unzip, double-click run-client.bat, enter the farm URL and your runner credential on the first-run page, click Start (it installs the farm's engine first if this machine lacks it), pick your work, and go.
New in v12: the client updates itself. This is the last release you download by hand. From now on the page checks this repo's releases when it starts and every six hours, and when a newer client exists it shows a banner with an Update button. Update is refused while workers are running — stop them first — then it downloads the new zip, checks it against the sha256 in the release notes, writes the new files over the old ones (nothing is deleted; your runner.json, your mode selection, your Forge under tools/ and the __pycache__ folders are never touched), and restarts the client. Your browser tab reloads itself when the new version is up. In the rare release that changes the embedded Python, the files the running client holds open are left as they are and the page tells you to download the bundle once more.
From v11: Deck 1 / Deck 2 columns in the workers table. From v10: a games column per worker. From v9: each worker keeps the mode it was started with (the picker describes the next workers you start; stop one and start another to change it). From v8: Backfill chosen decks, a third work mode with a deck picker and a scope.
Headless: farmrunner.py --mode backfill --decks REF[,REF...] [--scope within], a ref being a deck's label, its hash, or a unique hash prefix.
Ships Windows embeddable Python 3.12.10 and the client with its harness pin baked in; the Forge engine (~205 MB) is downloaded on demand. Knows both fork engines (2.0.14+77f7277a301, 2.0.14+71c2d284cee). Requires a farm advertising active_engine (post-de63260); choosing decks needs a farm listing deck_filter in its hello.
sha256(mtg-farm-client-v12.zip) = b766e5abf9c3aba83439a906b598f6cbd9b56a6911c12a3b032ac47f8af80116