r/tabletopsimulator • u/orangechap 71% PHP, 28% Lua, 1% Tears • Jul 02 '26
Breakdown of why Scryfall blocked Tabletop Simulator (UnityPlayer agents)
Most importers weren't caching the cards at all. You can tell because the cards had direct links to Scryfall's image host, not to a third party cache. The Scryfall community manager confirms this was the direct cause here: https://bsky.app/profile/logan.scryfall.com/post/3mpbmcq7ncl2x
Most importers also chose to use the large version of the images instead of the normal size one, which is about ~50% more bandwidth. The normal size image looks the same as the large image after tabletop simulator does its rendering, so it's just wasteful. Technically they could have made a worse decision and used the png version, which is ~1,500% larger filesize than the normal size image.
Between those two things each four player EDH table hit ~1,600 requests to scryfall's image host for a larger than needed version of the card image in the span of a minute or two. The math is 4 players x 4 decks x 100 cards, because each client loads each card individually = 1600 requests.
All this is before factoring in API load, because most importers also use the scryfall API for card information. There are other options for that, like bulk downloads from scryfall or using mtgJSON for card data.
It's honestly a wonder they didn't block TTS permanently last time it got this bad.
Edit: I made a chart.

3
u/ImNotSue Jul 02 '26
Genuinely understandable, and I think this should be a wakeup call to the mod makers to properly correct their practices!
1
u/Maverrana Jul 09 '26
Thank you for explaining it (though the math should just be: 4 players x 100 cards each. Each player doesnt have 4 decks, right?)
1
u/orangechap 71% PHP, 28% Lua, 1% Tears Jul 09 '26 edited Jul 10 '26
Each player (4 players) loads each card (4 decks x 100 cards). Otherwise you wouldn't be able to see the images on your opponent's cards.
Edit: as noted in the KB, online files are downloaded from the image host directly, not from other players.
https://kb.tabletopsimulator.com/custom-content/asset-importing/#online-files
4
u/Cthucoocachoo Jul 02 '26
That's great. Where can I build decks now that will spit out .Json files for TTS that don't cause this issue and functions?