[TF2] Update YouTube support for Replays
Since YouTube's protocols have changed over the years, it has been impossible to upload Replays for several years. This makes the Replay achievements and the Frontline Field Recorder hat unobtainable.
I don't know if these two Replay reports count more as bugs or feature requests.
The reason why YouTube integration doesn't work in TF2 any more is because the game still uses the XML-based v2 of YouTube's API, which has since been deprecated and eventually completely removed. YouTube API v3 has been used now since some time in 2013 and now requires an API key to make calls to it.
It would be nice still if it could be updated at some point in the future to allow people to 100% TF2 again.
I was looking at the newly updated Source 2013 SDK, and Youtube v3 API also requires OAuth 2.0 authorization, but the game used https://www.google.com/accounts/ClientLogin, which is deprecated since 2015. So, updating YT support would require updating Google/Youtube login first, then rest of the endpoints, which I feel will be easier, since OAuth 2.0 stuff might require displaying HTML of the login page for the 2-factor authorization. Or try classyfying as a "limited input device" so you can display QR code to be scanned with a phone: https://developers.google.com/identity/protocols/oauth2/limited-input-device#creatingcred
I fear that if the game uses the same Chromium engine as the Steam overlay then the regular log-in procedure may be impossible, as currently you cannot log in to YT through the Steam Overlay browser. "limited input device" may cirumvent this, but would require user to scan a QR code
Other than that http://gdata.youtube.com/feeds/api/users/default endpoint would need to be replaced, and I fear there might not be a direct replacement in v3. The closest there is is a channels.list endpoint (https://developers.google.com/youtube/v3/docs/channels/list), but that might require adding an account picker somewhere. Or you could just send it and try to push videos to the default YT channel, but that might be unwise
I had been meaning to make a post to this issue again following @halamix2's response some months ago, but neglected to do so until now.
By this rate, given everything that was said earlier on the matter, it's probably unrealistic to expect that YouTube integration will ever be updated for TF2. That much is fine honestly, and I can understand not wanting to put up with the headache of updating the web integration for a replay system which is already vestigial in and of itself.
That said, it's still not fair in the slightest that the achievements are still locked behind a system which cannot reasonably be upgraded for much significant benefit outside of those. In fact, after that update to the Source SDK concerning both TF2 and other older titles like Counter-Strike: Source, an old achievement that had been broken in CS:S since 2011 had been patched to work again on a yearly basis. This means that, to date, TF2 is now the only Valve-developed game where it is impossible to obtain 100% achievements legitimately (or through exclusively in-game means like the Source developer console), without the use of external tools and software to essentially cheat them in.
Therefore, if fixing the YouTube integration is out of the question, I would at least like to propose the following:
- Remove the four YouTube-related achievements altogether from the game and from the Steamworks side. These four achievements (Home Movie, Local Cinema Star, Indie Film Sensation and Blockbuster) are the only ones that cannot be unlocked through "legitimate" in-game means, and may as well be taken out altogether.
- Move the Frontline Field Recorder item reward away from the Local Cinema Star achievement and attach it to another applicable Replay achievement. Perhaps it would make the most sense to associate it with That's a Wrap, for recording/saving a replay in-game to begin with.
- Optionally, should Valve wish to still commemorate anyone who might have obtained these achievements legitimately (especially Blockbuster), add an in-game cosmetic item to selectively award to players who did so. Ideally this shouldn't really be given to people who cheated them in anyway even while they still worked (and likely not to anyone who "got" them after they initially broke), but it might not be fair to deprive those who got them properly of any in-game proof of that.
Linking to issues that may be blockers (since you'd need a replay to export to YouTube first):
- on Linux export to webm is broken, at least on my machine it crashes; wasn't able to debug; no separate issue for that yet
- export to .tga+/.wav is broken, audio file is empty: https://github.com/ValveSoftware/Source-1-Games/issues/7164