Skip to content

MTG farm volunteer client v25

Choose a tag to compare

@fuzzy1450 fuzzy1450 released this 20 Sep 05:45
· 820 commits to master since this release
Immutable release. Only release title and notes can be modified.
ac8c59a

Superseded by client-v26, which adds the Forge 2.0.15 engine (2.0.15+8e5de3bc7e8), removes a stale engine jar on install, and moves the harness pin (owner-cast card fields). A v25 client offers the update itself.

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 Add, pick your work, and go.

New in v25: a worker row says HOW it ended. Until now every ending that was not you stopping that worker read "finished" -- a machine that had run out of claimable work and one that had died on an error looked identical on the page, so there was no way to tell an idle client from a broken one without reading the log. A row now says which it was: stopped by you, stopped (the whole run), no work left, or the error that ended it.

That ambiguity hid a real outage on 2026-09-20. Two workers sat reading "finished" while 278 leases waited for them; the farm had handed out a deck those workers could not use from cache, and each retry spent one of the lease's three attempts until the leases went terminal with no game played. The farm side of that is fixed too -- a seat that carries its own card order is always sent with the lease now, never assumed to be cached -- so this class of stall does not need a client update to go away. The label does.

Nothing else changed: the engine rows and the harness pin are the same as v24, so no engine or harness re-downloads on update.

From v24: the 2.0.14+0bf85e6d53c engine row. From v23: the harness lets every AI decision finish, and Start syncs the harness pin. From v22: the 2.0.14+6747f05e908 engine row. From v21: the bundle is GPLv3 (LICENSE and NOTICE.txt travel in the zip). From v20: a stopped worker starts from its own row. From v19: a candidate own named derived card order. From v17: the 2.0.14+139b268b780 engine row. From v16: workers persist -- add, start, stop and delete are separate, and rows and their game counts survive a restart. From v12: the client updates itself.

Headless: farmrunner.py --mode backfill --decks REF[,REF...] [--scope within].

Ships Windows embeddable Python 3.12.10; the Forge engine (~200 MB) is downloaded on demand. Needs a farm that advertises active_engine on /hello (any farm since de63260).

sha256(mtg-farm-client-v25.zip) = 9041de95482b905ee7a6e9ae1843e3a1f407649400f9dbc9df766215c6b1004d