swlegion / tts

Table Top Simulator Mod for Star Wars: Legion
MIT License
43 stars 26 forks source link

Figure out a long-term asset hosting/deployment story #342

Open matanlurey opened 3 years ago

matanlurey commented 3 years ago

The current approach of "someone uploads it to their personal steam cloud" doesn't really scale 😬.

matanlurey commented 3 years ago

Here are some ideas I've had:

  1. Punt this issue. In practice, we've only had breakages sometimes. I am worried about how many objects are hosted on Tieren's account, tho.

  2. Add a link/URL validation step to the mod build. It wouldn't "fix" any problem, but would tell us (earlier) if an asset was deleted so we could fix it. Side-note: If something like Stormtrooper assets were deleted, how would we even recover them?

  3. Store all objects in the (hidden) assets repo, upload programmatically to the Steam Cloud I'm not sure what this would even do. There does seem to be some sort of API, but you can't name the files. This fixes the problem of assets being deleted (we have a way to recover), but not updating the mod.

  4. #3, but we maintain some sort of external mapping of ID -> uploaded asset URL I.e. something like https://github.com/swlegion/go.swlegion.dev/blob/master/_redirects This, strictly speaking, would work (combined with #2 for validation), but would require a decent amount of work.

  5. Ditch Steam Cloud, use a third-party host and/or CDN I.e. something like https://netlify.com/pricing, potentially combined with https://cloudflare.com This could be auto-uploaded from the (hidden) assets repo It would mean no more Steam Cloud, period, which could be annoying for local testing or casual contributions

  6. ??? Another idea ???