The quickest win would to move off of Heroku. Either rent your own server that you can control (to a reasonable degree), or find an alternative that doesn't suffer that issue.
Redis would work but I'd be afraid of race conditions. There probably wouldn't be any, but it's something to be aware of.
If you wanted to test the waters with at least the relative public, I'd consider doing step 1 of renting a server, but then hiding it behind a Tor hidden service. Inconvenient to connect to? Yeah. (Probably) safe from the Hasbro demons? Also yeah.
I guess I just haven't done anything outside of a PaaS before and I'm a bit worried about unknown unknowns. I'm sure I'm probably up to the task but managing my own server is just new ground for me. I'll have to research how to ensure that the server is always up or recovers from an unexpected failure and restarts immediately.
Fly.io would probably work for your use case. Doesn't have the restart limit of Heroku and still has a solid enough free tier to run your app!
I'd be happy to help if you need anything! Whether hosting or just backend related questions!
Also depending on how hard coded your architecture is, maybe you can separate out the Magic specific data from the app itself? So the MTG specific data could just be loaded as a datapack?
You can also split the difference and run Dokku[0] on a vps and basically host your own instance of “Heroku”. It can even use the same build packs and procfiles.
Feel free to message me and I’d be happy to help with server stuff.
Redis would work but I'd be afraid of race conditions. There probably wouldn't be any, but it's something to be aware of.
If you wanted to test the waters with at least the relative public, I'd consider doing step 1 of renting a server, but then hiding it behind a Tor hidden service. Inconvenient to connect to? Yeah. (Probably) safe from the Hasbro demons? Also yeah.